Disk keeps on filling up, workflows not running

first up I love n8n, thank you

I am running a self-hosted n8n instance following the docker tutorial in the documentation. its been running really well, but lately, workflows keep breaking down. I think its related to the SQL getting huge or the disk filling up.

I followed the advice in various threads.

  • I discarded old docker volumes.
docker image prune
  • I set the .env variables as below
#
DB_SQLITE_VACUUM_ON_STARTUP=true

#
EXECUTIONS_DATA_PRUNE=true
EXECUTIONS_DATA_MAX_AGE=10

anything else I can do?

Are those env options in your compose file or in a .env file?

in the .env file

That could be the problem, pop it in the environment options in your compose file. I am not sure if they work if you just put them in an env file

thank you

like this:

....
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER
      - N8N_BASIC_AUTH_PASSWORD
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_TUNNEL_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
      - EXECUTIONS_DATA_PRUNE=true
      - EXECUTIONS_DATA_MAX_AGE=48
      - DB_SQLITE_VACUUM_ON_STARTUP=true

That looks good to me

thanks Jon

now its down tough not sure if its related

CONTAINER ID   IMAGE       COMMAND                  CREATED              STATUS              PORTS                                           NAMES
3e9f2215296e   n8nio/n8n   "tini -- /docker-ent…"   About a minute ago   Up 5 seconds        127.0.0.1:5678->5678/tcp                        root_n8n_1
ad8425483e2d   traefik     "/entrypoint.sh --ap…"   About a minute ago   Up About a minute   80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   root_traefik_1
[email protected]:~# curl localhost:5678     
curl: (52) Empty reply from server

I’ll wait a bit maybe it comes back…

via the web it says
Bad Gateway

How is it looking now?

Still down. I am getting cpu alerts from linode.

It could be trying to clean out a lot of old data. Try changing max age to 365 and slowly bring it down.

In my environments I also only log failure events and in progress to keep it smaller.

thank you.
How do you change the default logging behavior? is that in the .env or in the .yml?

N8N_LOG_LEVEL="errors"

This is what I use in my compose file

- EXECUTIONS_DATA_SAVE_ON_ERROR=all
      - EXECUTIONS_DATA_SAVE_ON_SUCCESS=none
      - EXECUTIONS_DATA_SAVE_ON_PROGRESS=true
      - EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS=false
      - EXECUTIONS_DATA_PRUNE=true
      - EXECUTIONS_DATA_MAX_AGE=60
      - DB_SQLITE_VACUUM_ON_STARTUP=true
1 Like

it never came back. as soon as I comment out - DB_SQLITE_VACUUM_ON_STARTUP=true in the yml it works

I wonder if that process was causing an issue, what version of n8n are you running?

Is the disk usage a bit smaller now? I would be tempted to export the workflows you have and set up a new instance with the reduced execution logging and swap over to that.

1 Like

yes, the usage is fine now. I am running the latest version (0.146.0)
I think the export of workflows and setting up a new one is the best idea. thank you!

1 Like