next.js

Auf Port 80 laufen

  1. Das verlinkte Node-Binary finden:

    which node
  2. Das reale Node-Binary finden:

    readlink -f /run/user/1000/fnm_multishells/2076_1764275467596/bin/node

    Man sollte etwas wie Folgendes erhalten:

    /home/youruser/.fnm/node-versions/v22.0.0/installation/bin/node
  3. Diesem Binary die Erlaubnis geben, an niedrige Ports zu binden:

    sudo setcap 'cap_net_bind_service=+ep' /home/youruser/.fnm/node-versions/vXX.XX.X/installation/bin/node

    (den Pfad ersetzen mit dem, was man von readlink -f bekommen hat)

  4. Verifizieren:

    getcap /home/youruser/.fnm/node-versions/vXX.XX.X/installation/bin/node
    # should output: cap_net_bind_service=ep
  5. Next.js nun als normaler Nutzer starten:

    PORT=80 npm run dev
    # or
    
    npx next dev -p 80

Hinweise:

  • Wenn man über fnm eine neue Node-Version installiert, das setcap für deren node-Binary wiederholen.
  • Das setcap muss auf dem tatsächlichen Binary ausgeführt werden, nicht auf dem /run/user/...-Symlink.