The dependable way to host n8n with Coolify is to install Coolify on a Linux VPS, create an n8n resource, use PostgreSQL instead of the default SQLite database for anything beyond a short test, persist /home/node/.n8n, configure the public URL and encryption key, point DNS to the VPS, and deploy behind HTTPS. Finish by testing both the editor and a webhook, then enable backups and pin n8n to a specific version tag.
Antihost offers VPS plans with one-click n8n, NVMe storage and a 14-day free trial.
This guide covers the two practical Coolify paths: the catalog service for the quickest setup and Docker Compose when you need explicit control over networking, volumes, and database services.
As an Amazon Associate I earn from qualifying purchases.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →What the finished setup looks like
Your browser reaches a subdomain such as n8n.example.com. Coolify’s Traefik proxy accepts HTTPS traffic, obtains a Let’s Encrypt certificate, and forwards requests to the n8n container on port 5678. n8n stores its configuration, credentials, encryption material, and workflow metadata in a persistent volume mounted at /home/node/.n8n. PostgreSQL stores execution and application data for a more durable, concurrent installation than the catalog’s SQLite default.
Coolify manages deployments, environment variables, domains, logs, and scheduled backups from its dashboard. The VPS still remains your responsibility: operating-system updates, firewall policy, resource capacity, DNS ownership, and recovery testing are not replaced by the control panel.
#1 Best Overall
Choose the right deployment approach
| Approach | Best for | Advantages | Trade-offs |
|---|---|---|---|
| Coolify service catalog | A first deployment or a conventional single n8n instance | Fast setup, prefilled service fields, and fewer Compose details to maintain | Less control over service names, networks, and database topology; labels can change as templates are updated |
| Docker Compose resource | Operators who need explicit networking, volumes, or a bundled PostgreSQL service | Clear, version-controlled definitions and control over how n8n connects to its database | More variables to configure and more responsibility for upgrades, health checks, and persistent storage |
For a personal proof of concept, the catalog is usually the shortest route. For a business workflow server, Compose is useful when you already operate Compose files or need to add a database, Redis, or worker services in a deliberate layout.
Plan the VPS before installing Coolify
Baseline capacity
Most setup guides start with a VPS running Ubuntu or Debian. One commonly cited baseline is 2 GB of RAM, 2 vCPUs, and 20 GB of storage, with 4 GB of RAM recommended. Treat those figures as a starting point rather than a guarantee: execution history, binary data, concurrent webhook runs, and AI-agent workloads can consume substantially more memory and disk space.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
- Choose a current, supported 64-bit Ubuntu or Debian image.
- Reserve enough disk for the operating system, Docker images, n8n data, PostgreSQL data, execution history, and temporary files.
- Use a static public IPv4 address so the DNS record does not change after a reboot.
- Keep a domain or delegated subdomain available for n8n.
- Have an SSH key and a non-root administrative account ready, or be prepared to harden the initial root login immediately after provisioning.
Network and firewall expectations
Coolify’s dashboard is normally reached on port 8000 immediately after installation. HTTP and HTTPS traffic must also be able to reach the VPS for the reverse proxy and certificate issuance. Restrict the dashboard and SSH ports to trusted source addresses where your VPS firewall allows it; expose n8n publicly only through the intended domain and proxy.
Install Coolify on the VPS
- Connect to the server over SSH and apply the distribution’s security updates.
- Run the current one-command Coolify installer from the official Coolify installation instructions. The installer installs Docker when it is absent, pulls Coolify’s containers, and starts the platform. Because installer commands and prerequisites can change, copy the command from the current official documentation instead of saving an old command in a script.
- Open
http://SERVER_IP:8000in a browser while the dashboard is still using its initial address. - Create the Coolify administrator account and complete the first-run prompts.
- Review the server and proxy settings before creating an application. Confirm that Coolify reports the Docker host as available and that its proxy is running.
Do not leave the initial dashboard broadly exposed longer than necessary. Once a management domain or access restriction is configured, use that protected address for administration and keep the raw port available only when required.
Rank #2
- Standard size: 6 pink server note pads, Each Book Comes with 50 bound order slips - that's 300 ticket sheets total! Check Pads Size 6.75 x 3.5 inch.
- Convenient Work: These guest check books for servers have a tear-free dotted line that is easy to rip off. You can give as a customer copy or keep for record keeping. We've provided extra rows on the back for additional note taking.Perfect For Restaurants, Lounges, Hotels, Cafes, And Waiters To Use.
- Record Important Information: These server note pads can record important information.Each ticket has a unique serial number printed at the top, dates, order details, number of guests, order amount, table numbers etc. They are lightweight, small and can fit most aprons. They can be used on-demand and can help decrease errors in orders, while improving work efficiency.
- High Quality: Sturdy, Not Drop Powder, It's Thick, You Can Write On The Back And Front Easily.Their whole page printing has clear handwriting and a reasonable layout. On the customer retention part of each guest check, "THANK YOU" on the back to make customers feel appreciated.
- Contact Us: We're confident that the quality of the server note pads will go beyond your expectation. If you experience an issue, feel free to contact us, we'll appreciate it to learn from your experience, and we'll make it better
Create the n8n resource
Catalog service method
- In Coolify, create a project or open an existing one.
- Select + New Resource, choose Service, and search the catalog for n8n.
- Review the generated service fields before deploying. Confirm which database option is selected, what volume is attached, and which domain field controls the public URL.
- Replace the SQLite default with PostgreSQL for any installation that will hold real credentials or run continuously.
- Enter the environment values described in the next section, save the resource, and deploy only after the domain and storage settings are complete.
Docker Compose method
- Create a new resource and select Docker Compose as the deployment method.
- Paste a Compose definition that contains an n8n service, a PostgreSQL service (or a connection to a separately managed PostgreSQL instance), persistent volumes, and the required network.
- Expose n8n internally on port
5678; let Coolify’s proxy publish the public domain rather than binding the application directly to a random host port. - Attach a named or host-backed volume to
/home/node/.n8n. Attach a separate persistent volume to PostgreSQL’s data directory when PostgreSQL runs in the same Compose resource. - Set the database host to the Compose service name, not
localhost. Inside a container,localhostrefers to that same container and will not reach a separate database service. - Save the definition and inspect Coolify’s generated deployment preview for missing variables, invalid YAML, or an unintended public port.
Compose gives you more control, but it does not make backups automatic. Back up both the n8n volume and the PostgreSQL data, or use a database backup strategy that can restore the complete application state.
Configure PostgreSQL instead of SQLite
The catalog’s default SQLite configuration is appropriate for a disposable evaluation or a very small, low-concurrency test. PostgreSQL is the safer choice for a continuously running instance, multiple simultaneous executions, substantial execution history, or workflows that cannot be recreated easily.
Free tools Windows power users keep installed
One-click scans. No signup required.
Database settings to provide
Whether you use the catalog or Compose, supply the PostgreSQL host, port, database name, username, and password in the fields exposed by the current n8n template. Keep the database on a private Docker network or private VPS interface; it does not need its own public domain. Use a dedicated database and a long, unique password rather than sharing credentials with another application.
- Wait for PostgreSQL to be healthy before n8n starts, or configure a restart/health-check strategy so n8n retries while the database initializes.
- Record the database name and credentials in your password manager, not in a public repository.
- Back up PostgreSQL separately from the n8n application volume. A volume snapshot alone may not provide a transaction-consistent database backup.
Set n8n environment variables and persistent storage
Public URL and listener
Set N8N_HOST to the hostname users and webhook providers will call. Set N8N_PORT=5678, and set N8N_PROTOCOL=https when HTTPS terminates at Coolify’s proxy. The hostname must match the domain configured on the Coolify resource; a mismatch commonly produces incorrect webhook URLs, redirect loops, or cookies scoped to the wrong host.
Rank #3
Encryption key
Define a long, randomly generated encryption key in the n8n environment. n8n uses it to protect stored credentials. Generate it once, store it in a password manager or secret store, and keep the same value through redeployments. Changing it without a planned credential-migration procedure can make existing credentials unreadable.
Database variables
Use the variable names currently shown by the n8n template for PostgreSQL connection details. Template names can change between releases, so do not blindly copy a variable list from an old tutorial. Confirm that the selected database type, host, port, database, user, and password all refer to the same PostgreSQL instance.
Persistent volume
Map a persistent volume named, for example, n8n-data to /home/node/.n8n. This directory contains the instance data that must survive a container replacement. A deployment that works only until the next redeploy is not a completed installation.
- Verify that the volume is attached to the running n8n service, not merely declared in an unused Compose profile.
- Do not mount a temporary directory for production data.
- Before upgrades, confirm that Coolify’s deployment strategy will retain the volume and that your backup job can read it.
Attach a domain and HTTPS
Direct Coolify and Let’s Encrypt termination
- Create an A record such as
n8n.example.compointing to the VPS’s public IP. - Wait for DNS to resolve publicly. Check with your DNS provider’s tools or a command such as
dig +short n8n.example.com. - Enter the full hostname in the Coolify resource’s domain field. Do not include a path.
- Keep the proxy configured for HTTPS so Traefik can request and renew a Let’s Encrypt certificate.
- Deploy after the record resolves. Certificate issuance can fail when the record still points elsewhere, a firewall blocks HTTP validation, or another proxy is intercepting the challenge.
Use the final HTTPS hostname in n8n’s public URL settings. Test from an external network rather than relying only on a browser session inside the VPS.
Rank #4
Cloudflare Tunnel termination
A Cloudflare Tunnel is an alternative when you want TLS to terminate at Cloudflare instead of exposing the VPS directly for certificate issuance. In that arrangement, one deployment guide advises setting the domain in Coolify to plain http and letting Cloudflare provide the public HTTPS connection. Follow the tunnel’s current origin and encryption settings carefully; mixing an HTTP origin configuration with direct Let’s Encrypt assumptions can produce redirects or failed health checks.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteDeploy and verify n8n
- Click Deploy in Coolify and watch the build and container logs.
- Allow roughly two to three minutes for a first deployment when the images must be pulled; actual time depends on the VPS, registry, and database initialization.
- Open the HTTPS n8n URL and confirm that the editor loads without a certificate warning.
- Create a small test workflow that does not contain sensitive data and run it manually.
- Test a webhook from outside the VPS. Confirm that the request reaches the workflow and that the callback URL uses the public HTTPS hostname rather than an internal container address.
- Restart or redeploy the service, then verify that the test workflow and credentials remain present. This confirms that the data volume and encryption key are persistent.
Troubleshoot common failures
The editor opens, but webhook URLs are wrong
Check N8N_HOST, N8N_PROTOCOL, the Coolify domain field, and the proxy’s HTTPS configuration. Re-save the variables and redeploy so n8n regenerates URLs with the intended public origin.
HTTPS certificate issuance fails
- Confirm the A record resolves to the current VPS address from more than one resolver.
- Check that the proxy can receive the validation request and that no firewall rule blocks the required HTTP/HTTPS traffic.
- Remove stale DNS records that point the same hostname to an old server.
- If using a tunnel, do not simultaneously expect direct Let’s Encrypt validation for the same origin.
n8n cannot connect to PostgreSQL
In Compose, replace localhost with the PostgreSQL service name. Verify the database is healthy, the port matches the internal service, and the username, password, and database name are identical on both sides. Read the n8n and PostgreSQL logs together; a database container that is still initializing can look like a bad password until it becomes ready.
Credentials disappear after redeploy
Inspect the volume mapping and ensure /home/node/.n8n is persistent. Confirm that the encryption key has not changed. If the volume was deleted or the key was replaced, restore the volume and the original key from a known-good backup before attempting further upgrades.
Best Value
- 100% Satisfaction Warranty – Our servers book for waitress organization are handcrafted with elegant stitching that lasts. We take pride in offering our customers a waitress book made to exceptional quality standards. To ensure satisfaction, every waiters checkbook is backed by a 1-YEAR WARRANTY. If you are not 100% SATISFIED for any reason we will send you a replacement. No Questions Asked
- Holds up under Pressure – When you're taking orders the last thing you need is a flimsy waiter book that keeps bending. Our 8”x5” server books for waitress organization is the only one with a premium reinforced dual inner core. Providing an unmatched sturdy reliable writing surface that will last for years
- On Another Level – Halt the endless cycle of replacing your cheap thin black server book that barely lasts a week. This serving book for waitresses can become your permanent partner. Crafted with overwhelmingly strong attention to detail, the waiter checkbook offers an unparalleled value that you won’t regret investing in
- Scribble In Style – Impression is everything. You’re making a statement when you bring out this sleek vegan leather serving book. Our serving books have no logos or images and exquisite stitching for a professional feel your colleagues will envy
- Stay Calm and Collected – Whether you have 1 table or 7, organization is key. This server checkbook has 9 versatile pockets including a durable metal zipper to keep your cash secure. Stay on top of everything with this deluxe server book organizer and bring superior service to every customer
The container repeatedly runs out of memory
Check execution history, binary payloads, concurrency, and workflow nodes that hold large datasets in memory. Increase VPS memory or reduce concurrent work before adding more services. Heavy webhook or AI-agent workloads may require Redis-backed queue mode with dedicated workers instead of the single-container default.
Backups, upgrades, and version control
Schedule backups in Coolify
Enable scheduled backups in the Coolify project settings. A daily schedule is a reasonable starting point for many small installations; choose a shorter interval when losing a day’s executions would be unacceptable. Coolify can target S3-compatible storage, R2, or local storage, depending on the configuration available in your installation.
- Back up PostgreSQL data and the n8n data volume.
- Keep at least one copy outside the VPS so a server failure does not destroy production and backup together.
- Encrypt backups and restrict access to the backup bucket or directory.
- Perform a test restore on a separate resource. A successful backup job is not proof that restoration works.
Pin n8n to a version
Use a specific n8n image tag in production rather than latest. A pinned tag prevents an upstream release from changing the application during an unrelated redeploy. Read the release notes for the version you intend to use, test the upgrade against a restored copy, and keep the previous image tag available for rollback.
Upgrade sequence
- Confirm a recent, restorable PostgreSQL backup and n8n volume backup.
- Record the current image tag, environment variables, and resource configuration.
- Deploy the new pinned tag in a maintenance window.
- Check startup logs, the editor, a representative workflow, and an external webhook.
- If migration errors occur, stop repeated redeploy attempts, preserve logs, and restore the previous tag and data only after assessing whether a database migration ran.
When to add Redis workers
The default single-container deployment is simplest, but it is not a universal scaling design. If webhook traffic becomes bursty, executions are long-running, or AI-agent workflows consume significant CPU and memory, queue mode with Redis and dedicated workers can separate incoming requests from execution capacity.
- Run Redis on a private network and protect it with authentication where supported.
- Give workers enough memory for the largest workflow they execute.
- Scale workers gradually and monitor queue depth, execution latency, and failed jobs.
- Keep the main n8n editor and webhook process responsive while workers perform background execution.
Queue mode adds operational components and failure modes. Introduce it when measurements show that the single container is the bottleneck, not merely because more containers seem faster.
Security checklist
- Use HTTPS for every public n8n endpoint.
- Do not set
N8N_SECURE_COOKIE=falseon an Internet-facing deployment. That setting is appropriate only on a fully trusted local network. - Use a unique administrator password and enable the strongest authentication options available in the current n8n release.
- Keep the Coolify dashboard and SSH access restricted by firewall or trusted IP ranges.
- Store encryption keys, database passwords, and API credentials as Coolify secrets rather than committing them to Compose files or public repositories.
- Limit webhook endpoints and workflow permissions to what each integration requires.
- Patch the VPS, Coolify, n8n, Docker, and PostgreSQL on a planned schedule, with backups verified first.
- Review logs for repeated login attempts, webhook abuse, and unexpected outbound requests.
Service catalog or Compose: a practical decision
| If your priority is… | Choose… | Reason |
|---|---|---|
| Fastest first deployment | Catalog service | Coolify supplies the resource structure and common fields |
| Explicit database and network design | Docker Compose | You control service names, private networks, health checks, and volume declarations |
| Minimal maintenance for a small test | Catalog with SQLite | It avoids a second database service, but is not the preferred long-term production design |
| Durable production workflows | Catalog or Compose with PostgreSQL | PostgreSQL is better suited to ongoing data durability and concurrency |
| High execution volume | Compose or multiple Coolify resources with queue mode | Redis-backed workers can separate webhook intake from background execution |
Final pre-launch checklist
- The VPS meets the planned CPU, memory, and storage needs.
- Coolify is installed, the administrator account is protected, and the proxy is healthy.
- n8n uses PostgreSQL unless this is only a disposable test.
N8N_HOST,N8N_PORT=5678,N8N_PROTOCOL=https, database settings, and a stable encryption key are configured./home/node/.n8nis mapped to persistent storage.- The DNS A record resolves to the VPS and the HTTPS certificate is valid.
- The editor, a manual workflow, and an external webhook have all been tested.
- Backups run on schedule, include both database and n8n data, and have passed a restore test.
- The n8n image uses a deliberate version tag instead of
latest. - Firewall rules, secret storage, authentication, and update responsibilities are documented.
With those checks complete, Coolify provides a manageable deployment surface while n8n retains its normal container configuration. The most important reliability decisions are not the initial click path; they are PostgreSQL, persistent storage, a stable encryption key, correct public URL settings, verified backups, and disciplined version updates.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




