N8n server deployment

Hello everyone, I have my own server with n8n installed, even configured a domain to access it, but it seems it goes offline from time to time. What is the best setup or configurtion to avoid this? everytime ot gies offline i nee to re-publish the workflow

Describe the problem/error/question

What is the error message (if any)?

Please share your workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

Share the output returned by the last node

Information on your n8n setup

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

the going-offline thing on self-hosted n8n is usually the process getting killed — check your server logs for OOM kills or container crashes, thats the most common cause. if youre running docker, make sure your compose has a restart policy set otherwise the container just stays down. the re-publish issue is probably a side effect — n8n stores workflow active status in the db so it should come back after clean restarts, but if the process crashes mid-write the status wont be saved. what hosting provider are you on?

2 Likes

Thanks for the response!! How do I check the logs? I’m fact, I did a deploy by creating a container via docker

for docker, run docker logs <container_name> to see the output — if you’re using docker compose, it’s docker compose logs n8n (replace n8n with your service name). add -f to follow in real time.

also worth adding a restart policy to your compose file if you haven’t already:

restart: unless-stopped

that makes the container come back up automatically after crashes or reboots, which should also fix the re-publish issue since n8n restarts cleanly and picks up the saved active status from the db.

got this logs

n8n Task Broker ready on yyy.y.y.y, port 5679
Failed to start Python task runner in internal mode. because Python 3 is missing from this system. Launching a Python runner in internal mode is intended only for debugging and is not recommended for production. Users are encouraged to deploy in external mode. See: Task runners | n8n Docs
[license SDK] Skipping renewal on init: license cert is not initialized
Registered runner “JS Task Runner” (UU-z7gPHHD0JUDog3JJhR)
Currently active workflows:

  • Teams → n8n (receive and persist) (ID: GsbS1N6eCj79VU1D)
    [Recovery] Logs available, amended execution
    (node:7) [DEP0040] DeprecationWarning: The punycode module is deprecated. Please use a userland alternative instead.
    (Use node --trace-deprecation ... to show where the warning was created)
    [Recovery] Logs available, amended execution
    [Recovery] Logs available, amended execution
    [Recovery] Logs available, amended execution
    [Recovery] Logs available, amended execution
    Found unfinished executions: 3, 5, 23, 30, 61
    This could be due to a crash of an active workflow or a restart of n8n
    Version: 2.13.3
    Building workflow dependency index…
    Start Active Workflows:
    Finished building workflow dependency index. Processed 1 draft workflows, 0 published workflows.
    Activated workflow “Teams → n8n (receive and persist)” (ID: GsbS1N6eCj79VU1D)

Editor is now accessible via:

http://yy.yyy.yy.yy:5678

(node:7) [DEP0060] DeprecationWarning: The util._extend API is deprecated. Please use Object.assign() instead.
[init] ERROR: n8n no respondiĂł a tiempo.
Last session crashed
Initializing n8n process
n8n ready on ::, port 5678
n8n Task Broker ready on yyy.y.y.y, port 5679
Failed to start Python task runner in internal mode. because Python 3 is missing from this system. Launching a Python runner in internal mode is intended only for debugging and is not recommended for production. Users are encouraged to deploy in external mode. See: Task runners | n8n Docs
[license SDK] Skipping renewal on init: license cert is not initialized
Registered runner “JS Task Runner” (pb2V3-DdbDoDAuHIdnqy0)
Currently active workflows:

  • Teams → n8n (receive and persist) (ID: GsbS1N6eCj79VU1D)
    [Recovery] Logs available, amended execution
    (node:7) [DEP0040] DeprecationWarning: The punycode module is deprecated. Please use a userland alternative instead.
    (Use node --trace-deprecation ... to show where the warning was created)
    [Recovery] Logs available, amended execution
    [Recovery] Logs available, amended execution
    [Recovery] Logs available, amended execution
    [Recovery] Logs available, amended execution
    Found unfinished executions: 3, 5, 23, 30, 61
    This could be due to a crash of an active workflow or a restart of n8n
    Version: 2.13.3
    Building workflow dependency index…
    Start Active Workflows:
    Finished building workflow dependency index. Processed 1 draft workflows, 0 published workflows.
    Activated workflow “Teams → n8n (receive and persist)” (ID: GsbS1N6eCj79VU1D)

i dont use python, the last message repeats the same like 5 more times


This usually happens because your n8n instance or server process is not running persistently :+1:

Instead of restarting it manually, you should set it up to run as a service.

:backhand_index_pointing_right: If you’re using Docker:

  • Add restart:always in your docker-compose file

:backhand_index_pointing_right: If you’re running it directly:

  • Use a process manager like PM2 to keep n8n alive

Also check:

  • Your server memory/CPU (it may be crashing)

  • Reverse proxy setup (Nginx/Cloudflare timeout issues)

  • Logs to see what’s causing the shutdown

Once n8n is set to auto-restart and run continuously, you won’t need to re-publish workflows every time :+1: