n8n Beginner Course: Self-Host Your First Workflow
A one-line Docker command starts n8n, then the next reboot teaches you that nobody configured storage or the public URL.
Some links on this site are affiliate links. If you buy through them, we earn a commission at no extra cost to you. We only recommend tools we would deploy ourselves.
$ ls ./sections
This n8n beginner course starts with persistent storage. A container without a volume is a demo that forgets your credentials when it is replaced.
n8n beginner setup with Docker
docker volume create n8n_data
docker run -d --name n8n --restart unless-stopped \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
-e N8N_ENCRYPTION_KEY="replace-with-a-long-random-value" \
n8nio/n8n:latest
Open http://SERVER_IP:5678, create the owner account, and build a webhook connected to Respond to Webhook. For a public system, put TLS and authentication in front of it; the VPS setup guide handles that foundation.
Your first self-hosted n8n workflow
Use a Manual Trigger while mapping data, then switch to a Webhook Trigger. Add a Set node that creates receivedAt and status. Execute the workflow once, call the test URL, then activate it and use the production URL.
n8n fits when ownership and code escape hatches matter. The n8n review details its operational tax, while the Make tutorial is gentler for a fully managed start.
n8n beginner failures
Lost workflows mean the volume was omitted. Broken OAuth callbacks mean WEBHOOK_URL does not match the public HTTPS address. A workflow that works in test but not production is usually inactive or calling the test endpoint.
Back up the named volume before the first important credential enters the instance.
n8n
Source-available workflow automation. Self-host or cloud.
DigitalOcean
Developer-first cloud. The default Droplet in every GitHub tutorial.
Vultr
Fast, cheap, global cloud instances.
Found the fix? The tool that ends the problem is one click away.
The Stack