Skip to main content
n8n is a visual automation builder. You wire services, APIs, and bots into a chain with your mouse: “an email arrives → create a task → send a Telegram message.” It’s like Zapier or Make, but it runs on your own server: your data stays with you, and you don’t pay extra for the number of workflows.
Commands are current as of writing. Before installing, check the official site docs.n8n.io — the image and parameters change from time to time.

What you’ll need

Installation

1

Create a data volume

So your workflows don’t vanish on restart:
docker volume create n8n_data
2

Run n8n

docker run -d --restart unless-stopped \
 --name n8n \
 -p 5678:5678 \
 -e GENERIC_TIMEZONE="Europe/Moscow" \
 -e TZ="Europe/Moscow" \
 -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
 -e N8N_RUNNERS_ENABLED=true \
 -v n8n_data:/home/node/.n8n \
 docker.n8n.io/n8nio/n8n
What’s what here: -d is background mode, --restart unless-stopped brings the container back up automatically when the server reboots, -p 5678:5678 is the panel port, -v n8n_data:/home/node/.n8n is the workflow storage, GENERIC_TIMEZONE and TZ are the time zone (set your own), and the rest of the variables enable the secure settings-file mode and the task runner.
3

Open the port in the firewall

ufw allow 5678/tcp
Firewall setup: Firewall (ufw).
4

Open the panel in your browser

http://SERVER_IP:5678
On first login, n8n asks you to create an owner account. Set a password right away — the panel shouldn’t sit open on the internet with no protection.
Workflows aren’t lost when the container restarts — they’re stored in the n8n_data volume. The key thing is: don’t delete the volume.
Want to just try n8n quickly and tear it down right after? Use the --rm variant:
docker run -it --rm \
 --name n8n \
 -p 5678:5678 \
 -v n8n_data:/home/node/.n8n \
 docker.n8n.io/n8nio/n8n
The --rm flag removes the container when it stops. For ongoing use, go with the main command above.

For production

Don’t expose the panel on a bare IP with a port. Set up a domain, put a reverse proxy (Nginx) in front, and add HTTPS — you’ll get an address like https://n8n.yourdomain: secure and clean. That’s also where you set the time zone and basic auth through environment variables.

Web server

Set up Nginx as a reverse proxy in front of n8n.

SSL certificate

Add HTTPS to your n8n domain.
Lumi handles the server and network; software setup is on you. Network or port issues — @lumisup_robot.

Where to next

Docker

How Docker works and the core commands.

Web server

Set up Nginx for a production n8n deployment.