Vultr server running ubuntu, npm install, cloudflare & Apache - Getting "Service Unavailable"

  • n8n version:1.48.1
  • **Database (default: SQLite):**SQlite
  • **n8n EXECUTIONS_PROCESS setting (default: own, main):**default
  • **Running n8n via (Docker, npm, n8n cloud, desktop app):**npm
  • **Operating system:**Ubuntu 24.04 LTS x64

No vultr firewall

Im aware of “self hosting n8n is considered to be an advanced option” but due to legal reasons and running under a GOV cert i cant run my process in a cloud setup.

Im running this,

root@vultr:~# n8n
User settings loaded from: /root/.n8n/config
Initializing n8n process
n8n ready on 0.0.0.0, port 5678
Version: 1.48.1
Editor is now accessible via:
http://localhost:5678/

I installed from npm and did a certbot update for subdomain as well.

In cloudflare i bypassed the subdomain n8n in the setting,

n8n
71.54.213.120

DNS only
Auto

Under the apache sites-enabled folder i have:
/etc/apache2/sites-enabled/000-default.conf (my functioning www wordpress server setting)
/etc/apache2/sites-enabled/n8n.conf:

<VirtualHost *:443>

        ProxyPreserveHost On
        ProxyRequests Off

        ServerAdmin hello@donotdox.com
        ServerName n8n.donotdox.com
        ServerAlias n8n.donotdox.com

        ProxyPass / http://0.0.0.0:5678/
        ProxyPassReverse / http://0.0.0.0:5678/

</VirtualHost>

When i try to access n8n.donotdox.com i get redirected to main site from cloudflare as planned, but when i try to access https://n8n.donotdox.com i get,

Service Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

Apache/2.4.58 (Ubuntu) Server at n8n.donotdox.com Port **80**

I have tried different settings all day, but what i cant wrap my head around is why the error message over https show port 80?
Another thing that stands out for me is, 0.0.0.0:5678 as service ip for n8n, is that normal or do i need to set up something?

Anyone knows what im missing to get n8n up and running?

@JoelGaribay has been having a similar setup, any input?
@geckse

It looks like your topic is missing some important information. Could you provide the following if applicable.

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

I tested @geckse example of the setup file as well but that broke my site

<VirtualHost _default_:443>
  SSLEngine on

  ProxyPreserveHost On
  ProxyRequests Off
  ServerName n8n.let-the-work-flow.com
  ProxyPass / http://localhost:5678/
  ProxyPassReverse / http://localhost:5678/

</VirtualHost>
Jun 29 17:22:53 vultr systemd[1]: Starting apache2.service - The Apache HTTP Server...
░░ Subject: A start job for unit apache2.service has begun execution
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ A start job for unit apache2.service has begun execution.
░░ 
░░ The job identifier is 195.
Jun 29 17:22:54 vultr systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ An ExecStart= process belonging to unit apache2.service has exited.
░░ The process' exit code is 'exited' and its exit status is 1.
Jun 29 17:22:54 vultr systemd[1]: apache2.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ The unit apache2.service has entered the 'failed' state with result 'exit-code'.
Jun 29 17:22:54 vultr systemd[1]: Failed to start apache2.service - The Apache HTTP Server.
░░ Subject: A start job for unit apache2.service has failed
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ A start job for unit apache2.service has finished with a failure.
░░ The job identifier is 195 and the job result is failed.

Got it working, i just installed main version under sudo command and did everything again and it just started directly =)