Error after last Update of Umami

Since the last Update of Umami I get the following error after deployment:
"next start" does not work with "output: standalone" configuration. Use "node .next/standalone/server.js" instead.
and the App is not starting. Nginx shows 502.

What can I do?

This seams not to be the issue for the 502 error, because I found this error message in the log also on earlier working deployments.

Hello @romanw,

Is this still an issue? If it is, please let us know the name of the deployment workflow via PM so that we can further investigate.

Hello @anish,

Thank you! I sent a pm.

1 Like

The port, the umami next.js app should run on, is ignored. I added the port to .env and synced it to the pm2-config, the port is ignored. This worked before.
After deployment the log shows, that a random port is used. The host “localhost” is used.
Till this is solved, I have to manually change the proxy settings to the random port in the nginx-config.

Hello @romanw,

As detailed in the Umami documentation (Installation – Umami), it appears that the issue is related to the port configuration.

By default this will launch the application on http://localhost:3000 (default port for Next app) . You will need to either proxy requests from your web server or change the port to serve the application directly.

Therefore, adjusting the proxy settings to match the port assigned by Cleavr or using port 3000 is the recommended solution at this time.

We will keep you informed of any future feature releases that may include direct support for 1-click installation applications like Umami.

Hello @anish,

Yes, but even if I don’t set the port as enviroment var, a random port is used for the app instead of 3000. My pm2 setting in cleavr:

module.exports = {
  name: "stats.xxx.at",
  script: "scripts/start-env.js",
  args: "",
  log_type: "json",
  cwd: "/home/cleavr/stats.xxx.at/current",
  // Note: We detected that this web app is running on a server with multiple CPUs and hence we are
  // setting *instances* to "max" and *exec_mode* to "cluster_mode" for better performance.

  instances : "max", // change the value to "1" if your server has only 1 CPU
  exec_mode : "cluster_mode", // remove this line if your server has only 1 CPU
  env: {
    "DATABASE_URL": "mysql://xxx_umami:xxxxx@localhost:3306/umami",
    "HOSTNAME": "localhost"
  }
}

The scripts/start-env.js contents:

require('dotenv').config();
const cli = require('next/dist/cli/next-start');

cli.nextStart({
  '--port': process.env.PORT || 3000,
  '--hostname': process.env.HOSTNAME || '0.0.0.0',
  _: [],
});

So the app should use port 3000 if no specific port is set as enviromant variable, but it is on each new deploment a random port. I specified the port 9124 before and this worked until 12. May 2024.

BTW: Do you think about an 1-click-installation of medusajs?