Self-hosting n8n for free with Docker: a guide for Philippine users
Short answer
n8n can be self-hosted at no subscription cost with the Community Edition, but the server, the domain, the backups and your time are not free. The licence allows use for your own internal business purposes, and does not allow offering n8n to others for a fee. This guide, based on vendor documentation read on 12 Oct 2026 and not hands-on tested, covers the Docker setup, HTTPS, security, backups, updates and a running cost sheet.
On this page
n8n free, at a glance
- Free
- Community Edition software, with no subscription listed on n8n’s pricing page (12 Oct 2026)
- Not free
- Server, domain, backups, AI model usage, your upkeep time
- Licence
- Sustainable Use License: own internal business use, or non-commercial and personal use
- Installed with
- Docker Compose, as in n8n’s own hosting guide
- Not hands-on tested
- The steps follow vendor documentation read on 12 Oct 2026
- Version read
- Stable 2.42.6, marked Latest on GitHub, published 9 October 2026 (read 12 Oct 2026)
What is free and what still costs money
| Item | Free? | Note |
|---|---|---|
| n8n Community Edition software | Yes, no subscription listed | Available on GitHub. n8n’s docs call Community “Self-hosting with almost the complete feature set”. |
| Registered Community features | Yes | Enabled by registering your email in Settings, Usage and plan. Adds folders, debug in editor and custom execution data. |
| Server | No | Billed by the hosting provider. |
| Domain name | Usually no | Needed for HTTPS and for webhooks that other apps call. |
| Backups | No | Storage or snapshot charges, if you use them. |
| AI model calls | No | Billed by the model provider. |
| Paid features | No | n8n lists custom variables, environments, external secrets, log streaming, SSO and Git version control as paid-only. |
| Your time | No | Updates, backups, monitoring and security fall to you. |
Swipe the table sideways to see all columns.
This page makes no claim about what a given setup costs you in hours. The running cost sheet below has an empty row for you to enter your own.
Is n8n free?
Community edition
n8n’s page on choosing how to use n8n says you can stay on the free Community edition indefinitely, or register your email for free to get extra features. The pricing page, read on 12 Oct 2026, lists no subscription charge for it. n8n Cloud is paid after a trial, and its plans are on the n8n pricing in PHP page.
License terms in plain words
The source code is under the Sustainable Use License, version 1.0. The licence file on GitHub says:
You may use or modify the software only for your own internal business purposes or for non-commercial or personal use.
You may distribute the software or provide it to others only if you do so free of charge for non-commercial purposes.
In plain words, running n8n for your own company’s workflows fits the first sentence. Handing n8n to other people and charging for it is addressed by the second. The licence file also says source files with “.ee.” in the file name or “.ee” in the folder name are not under this licence and need an n8n Enterprise licence. This site does not interpret licences and this is not legal advice. If you plan to run n8n for clients, read the full text and ask n8n. The n8n docs page at docs.n8n.io/sustainable-use-license/ returned “Page Not Found” on 12 Oct 2026, so the licence text cited here is the GitHub file.
What the paid plans add
n8n’s pricing page lists Cloud Starter, Cloud Pro, Business (self-hosted only), and Enterprise. Features such as SSO, queue mode and Git version control sit in the paid plans. Prices in euros and pesos are on the pricing page. The overview in n8n: what it is lists the editions.
Choosing a server
Minimum specifications from the vendor
n8n’s Docker Compose install page prints “4 GB RAM and 2 vCPUs” as minimum specs. That figure belongs to a stack that adds a sandbox runner and an assistant search service. The older Traefik-based Docker Compose page and the “choose how to use n8n” page print no minimum specifications, so none is stated here for a single n8n container. Check the page for the guide you follow.
Data center regions close to the Philippines
None of the three providers read below lists a Philippine region. Singapore is the nearest listed location on each page that named it. These are options, in no order, and this site has no affiliate relationship with any of them.
| Provider | Nearest region listed | What the vendor page said (read 12 Oct 2026) |
|---|---|---|
| DigitalOcean | Singapore (SGP1) | The regional availability page lists SGP1. It lists no Philippine region. Whether each Droplet plan is offered in SGP1 was not readable from the page; check the control panel. |
| Hetzner | Singapore | The cloud page says servers are available in Germany, Finland, Singapore and the USA. Plan prices were not shown on the page text that was read. |
| AWS | Asia Pacific (Singapore), ap-southeast-1 | The AWS Regions page lists 34 Regions. It lists no Philippine region. Singapore is enabled by default. |
| Vultr | Not confirmed | The pricing page returned an access error on 12 Oct 2026, so its locations and prices were not read. |
Swipe the table sideways to see all columns.
Latency from the Philippines to any region was not measured. Data location also matters: if a workflow handles customers’ personal data, the Data Privacy Act of 2012 applies to the business. See the pillar guide.
Peso cost with check date
DigitalOcean’s Droplet pricing page, read 12 Oct 2026, listed these Basic Droplets in US dollars per month. Pesos use the rate dated 9 Oct 2026.
| Plan listed | vCPU | Storage | Price per month | In pesos |
|---|---|---|---|---|
| 2 GiB | 1 | 50 GiB | $12.00 | PHP 754 |
| 2 GiB | 2 | 60 GiB | $18.00 | PHP 1,131 |
| 4 GiB | 2 | 80 GiB | $24.00 | PHP 1,508 |
Swipe the table sideways to see all columns.
The page also has a Regular and Premium selector, and only one set of prices appeared in the text read. Your card’s rate and any tax will differ. Hetzner and AWS prices were not read, so they are not quoted.
Install with Docker
These steps follow n8n’s Docker Compose guide for a Linux server. n8n says that guide is for experienced self-hosters and recommends n8n Cloud otherwise.
Docker and Compose setup
Docker’s documentation lists Ubuntu 22.04, 24.04 and 26.04 LTS (64-bit) as supported by its Docker Engine install page, and shows the apt repository method, which ends with sudo docker run hello-world as a test. Install Docker Engine and the Compose plugin, then check:
docker --version
docker compose version
Point a subdomain at the server first. In your domain’s DNS, create an A record for the subdomain, for example n8n, with the server’s IP address as its value.
Environment variables
Create a project folder and a .env file. The variables below are the ones n8n’s guide uses.
DOMAIN_NAME=example.com
SUBDOMAIN=n8n
GENERIC_TIMEZONE=Asia/Manila
SSL_EMAIL=you@example.com
DOMAIN_NAME and SUBDOMAIN together set the address, here https://n8n.example.com. GENERIC_TIMEZONE is used by scheduling nodes and defaults to New York if unset, so set it to your own. SSL_EMAIL is used for the certificate. The guide’s example uses a European timezone; Asia/Manila is this site’s substitution.
The guide’s compose.yaml defines two services. Traefik is the reverse proxy: it routes traffic, redirects HTTP to HTTPS and obtains certificates. The n8nio/n8n image is n8n itself, reachable only on 127.0.0.1:5678 on the host and exposed through Traefik. Copy the file from the n8n Docker Compose guide so that you get the current version rather than a copy here. That guide notes that the variable N8N_WEBHOOK_URL is available from n8n 2.30.0, and earlier versions use WEBHOOK_URL.
Persistent data
The compose file defines two named volumes. n8n_data is mounted at /home/node/.n8n and holds the SQLite database and the encryption key. traefik_data holds certificate data. A local-files folder you create in the project is mounted at /files. n8n’s database settings page says SQLite is the default and PostgreSQL is also supported, with DB_TYPE values sqlite and postgresdb. MySQL and MariaDB are deprecated from n8n 1.0.
Starting the container
From the project folder:
sudo docker compose up -d
Open https://<SUBDOMAIN>.<DOMAIN_NAME>. n8n is served only over HTTPS in this setup. If the page does not load, the guide says to check your server firewall and your DNS records. The first visit asks you to create the owner account. To stop the stack, run sudo docker compose stop.
Domain, HTTPS and SSL
n8n’s SSL page names two routes. A reverse proxy such as Traefik is the recommended one, and it should also handle certificate renewals. The other is setting N8N_SSL_CERT and N8N_SSL_KEY to certificate file paths, where you must keep the certificate renewed yourself. The Compose guide above uses the reverse proxy route with a certificate requested for your address using the SSL_EMAIL.
A domain name is a cost outside n8n. This page read no domain registrar prices; enter your own in the cost sheet.
Securing the instance
Authentication
The first visit creates an owner account, so create it right after the first start and use a strong password. n8n’s Form Trigger supports Basic Auth or n8n User Auth on forms, which matters if you publish forms from this instance. Single sign-on is a paid feature.
Firewall
The Traefik setup publishes ports 80 and 443. Open those on the server’s firewall, and leave other ports closed. n8n’s Compose pages warn against exposing the sandbox runner in the newer stack. The Traefik command in the older guide includes --api.insecure=true, which enables an unauthenticated dashboard. The Compose guide’s page notes this flag, so review it before you put a server on the public internet.
Credentials encryption key
n8n encrypts the credentials you store. Its page says n8n creates a random encryption key automatically on the first launch and saves it in the .n8n folder. You can set your own with the N8N_ENCRYPTION_KEY environment variable. Keep a copy of the key outside the server. A restore cannot decrypt credentials without it.
Backups and restores
n8n’s backup page lists what a complete backup contains: the .n8n folder (with the config file that holds the encryption key and, with SQLite, the database file), an external PostgreSQL database if you use one, and any external storage or custom node folders. Stop n8n before copying the SQLite .n8n folder, or use a tool that takes a consistent snapshot.
For Docker, the persistent data is in the n8n_data volume at /home/node/.n8n. A backups/ folder inside the container is not persisted, so bind-mount a host folder for exports or copy the files out.
The command-line exports are:
n8n export:workflow --backup --output=backups/workflows/
n8n export:credentials --backup --output=backups/credentials/
These miss users and roles, execution history, variables and instance settings, including the encryption key. To restore a whole instance: stop n8n, restore the .n8n folder and any custom node folders, restore PostgreSQL if used, restore deployment settings such as N8N_ENCRYPTION_KEY, and start n8n. A --decrypted credential export writes plain text, so store and delete it carefully.
This site did not test a restore. Test yours on a spare server before you rely on it.
Updating n8n safely
n8n’s update page advises updating often, ideally at least once a month, to avoid jumping several versions, reading the release notes for breaking changes, and testing first on a copy of your instance. Take a full backup before each update, as the backup page says.
For Docker Compose, the Docker install page gives:
cd /path/to/your/compose/file/directory
docker compose pull
docker compose down
docker compose up -d
The guide’s image is n8nio/n8n, which pulls the latest stable release. n8n’s Docker page shows a version tag form, n8nio/n8n:<version>, to pin a specific version, and a next tag for unstable builds. Version 2.42.6 was marked Latest on GitHub on 12 Oct 2026.
Running cost sheet
Fill the right column with your own figures. Rows with a price show only what the vendor page listed on 12 Oct 2026.
| Cost line | Listed on 12 Oct 2026 | Your figure (PHP per month) |
|---|---|---|
| Server (for example the 4 GiB, 2 vCPU Droplet) | $24.00, about PHP 1,508 | |
| Server (smaller option, 2 GiB, 1 vCPU) | $12.00, about PHP 754 | |
| Domain name | Not read | |
| Backups or snapshots | Not read | |
| AI model usage | Billed by the model provider | |
| Total in cash | Add the rows | |
| Time for upkeep, entered by the reader (hours per month) | Your own estimate |
Swipe the table sideways to see all columns.
Compare the total with the Cloud plans on the pricing page. The comparison depends on how many executions you need and on the value you give your hours.
When cloud is the better choice
n8n’s own docs say Cloud suits people who want to start right away or do not want to manage infrastructure, and that n8n handles hosting, updates and scaling there. The Docker page warns that self-hosting needs server, container and security skills, and that mistakes can cause data loss, security problems and downtime. Cloud may also suit you if nobody on your team can keep a server patched, if a backup restore has never been tested, or if you need a paid feature that is hosted only by n8n. If you are new to n8n, build a workflow first with the n8n tutorial, then decide where to run it.
Frequently asked questions
Is n8n free to self-host?
n8n lists no subscription charge for its Community Edition, which is available on GitHub. You pay for the server, a domain, backups and AI model use, and the Sustainable Use License limits use to your own internal business purposes or non-commercial and personal use.
What server does n8n need?
n8n’s Docker Compose install page prints 4 GB RAM and 2 vCPUs as minimum specs for the stack it describes, which includes a sandbox runner. The older Traefik-based guide prints none.
How is n8n installed with Docker?
Install Docker Engine and the Compose plugin, point a subdomain at the server, write a .env file, copy n8n’s compose.yaml and run docker compose up -d.
How is a self-hosted n8n instance backed up and updated?
Back up the n8n_data volume, which holds the .n8n folder and the encryption key, and use the n8n export commands for workflows and credentials. To update, take a backup, then run docker compose pull, down and up -d.
What does self-hosting cost in pesos?
On the date read, the DigitalOcean 4 GiB, 2 vCPU Droplet was listed at $24.00 a month, about PHP 1,508. Domain, backup and upkeep costs are for you to enter in the cost sheet.
What is not published or not confirmed
- Minimum specifications for a single n8n container: not printed in the Traefik-based guide.
- Hetzner and AWS prices, and Vultr locations and prices: not read.
- Domain and backup prices: not read.
- Latency from the Philippines to any region: not measured.
- Whether each DigitalOcean plan is offered in SGP1: not confirmed from the page.
- The docs.n8n.io Sustainable Use License page: returned “Page Not Found” on 12 Oct 2026; the GitHub licence file was used.
Method
This page was written from vendor documentation and pricing pages read on 12 Oct 2026. No server was built, no command was run and no screenshot was taken by this site. Rates for pesos come from the exchange-rate data dated 9 Oct 2026.
Sources
All sources were read on 12 Oct 2026.
- n8n on GitHub, Sustainable Use License.
- n8n documentation, Choose how to use n8n.
- n8n documentation, Install n8n using Docker Compose.
- n8n documentation, Use Docker Compose.
- n8n documentation, Install with Docker.
- n8n documentation, Set up SSL and Set a custom encryption key.
- n8n documentation, Database environment variables.
- n8n documentation, Back up and restore and Update n8n.
- n8n on GitHub, Releases.
- n8n, Plans and pricing.
- Docker documentation, Install Docker Engine on Ubuntu.
- DigitalOcean, Droplet pricing and Regional availability.
- Hetzner, Cloud.
- Amazon Web Services, AWS Regions.