hi folks i am starting to use n8n and i want to do some automations in my kommo crm and other things, but i have seen that there are several ways to install n8n in a self hosted way, so my question is for those who have n8n as self hosted services,

which would be the best way to install it?

- docker without database?
- docker with database and which database would be better postgress or mysql?
thanks

1 point

ok… I couldn’t install docker with postgres so I did it with sql and that’s it I hope I don’t miss out in the future because I will have to look for someone to help me install it thanks friends

permalink
report
reply
1 point

I wouldn’t know if someone can help me.

I have this has my Portainer Stack and all the variables configuration in the environment variables but while container works fine when first access, it reset when I edit the container or update and I have to create a new login.

I discovered recently that while other containers works fine, the worker container wouldn’t.

I’m new to docker and container and would appreciate help

This my docker-compose file

version: '3.8'

volumes:
  db_storage:
  n8n_storage:
  redis_storage:

x-shared: &shared
  restart: always
  environment:
    - DB_TYPE=postgresdb
    - DB_POSTGRESDB_HOST=postgres
    - DB_POSTGRESDB_PORT=5432
    - DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
    - DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER}
    - DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD}
    - EXECUTIONS_MODE=queue
    - QUEUE_BULL_REDIS_HOST=redis
    - QUEUE_HEALTH_CHECK_ACTIVE=true
    - N8N_BASIC_AUTH_ACTIVE=true
    - N8N_BASIC_AUTH_USER
    - N8N_BASIC_AUTH_PASSWORD
  links:
    - postgres
    - redis
  volumes:
    - n8n_storage:/home/node/
  depends_on:
    redis:
      condition: service_healthy
    postgres:
      condition: service_healthy

services:
  postgres:
    image: postgres:11
    restart: always
    environment:
      - POSTGRES_USER
      - POSTGRES_PASSWORD
      - POSTGRES_DB
      - POSTGRES_NON_ROOT_USER
      - POSTGRES_NON_ROOT_PASSWORD
    volumes:
      - db_storage:/var/lib/postgresql/data
      - ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
      interval: 5s
      timeout: 5s
      retries: 10

  redis:
    image: redis:6-alpine
    restart: always
    volumes:
      - redis_storage:/data
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 5s
      timeout: 5s
      retries: 10

  n8n:
    <<: *shared
    image: n8nio/n8n
    command: /bin/sh -c "n8n start --tunnel"
    ports:
      - 5678:5678

  n8n-worker:
    <<: *shared
    image: n8nio/n8n
    command: /bin/sh -c "sleep 5; n8n worker"
    depends_on:
      - n8n
permalink
report
reply
1 point

Please, I’m struggling with the docker-compose with postgres to get my n8n up and running… so just copy the docker-compose from the doc and made changes for my needs, could you tell me if im doin it rigth? or should I change something?

i want all data in: /docker/n8n/ so

root@13-n8n-RL23-WG /docker/n8n# nano .env

POSTGRES_USER=user-root

POSTGRES_PASSWORD=password-root

POSTGRES_DB=n8n

POSTGRES_NON_ROOT_USER=user-nonroot

POSTGRES_NON_ROOT_PASSWORD=password-nonroot

root@13-n8n-RL23-WG /docker/n8n# nano docker-compose.yml

version: '3.8'

volumes:

db_storage:

n8n_storage:

services:

postgres:

image: postgres:11

restart: always

environment:

- POSTGRES_USER

- POSTGRES_PASSWORD

- POSTGRES_DB

- POSTGRES_NON_ROOT_USER

- POSTGRES_NON_ROOT_PASSWORD

volumes:

- /docker/n8n/postgresql/data:/var/lib/postgresql/data

- ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh

healthcheck:

test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}']

interval: 5s

timeout: 5s

retries: 10

n8n:

image: docker.n8n.io/n8nio/n8n

restart: always

environment:

- DB_TYPE=postgresdb

- DB_POSTGRESDB_HOST=postgres

- DB_POSTGRESDB_PORT=5432

- DB_POSTGRESDB_DATABASE=${POSTGRES_DB}

- DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER}

- DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD}

- WEBHOOK_URL=https://subdomain.wtf.org/

- EXECUTIONS_PROCESS=main

- GENERIC_TIMEZONE=America/La_Paz

- TZ=America/La_Paz

ports:

- 5678:5678

links:

- postgres

volumes:

- /docker/n8n:/home/node/.n8n

depends_on:

postgres:

condition: service_healthy

permalink
report
reply
1 point

And so it begins ^^

permalink
report
parent
reply
1 point

thanks I will go for postgres database because of what I have been advised and additionally because I have been told that soon n8n will remove mysql/mariadb support.

permalink
report
reply
1 point

Cloudron (free tier - 2 apps). Get a server, install Cloudron, install n8n from the app store. Done.

permalink
report
reply

Self-Hosted Main

!main@selfhosted.forum

Create post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

For Example

  • Service: Dropbox - Alternative: Nextcloud
  • Service: Google Reader - Alternative: Tiny Tiny RSS
  • Service: Blogger - Alternative: WordPress

We welcome posts that include suggestions for good self-hosted alternatives to popular online services, how they are better, or how they give back control of your data. Also include hints and tips for less technical readers.

Useful Lists

Community stats

  • 14

    Monthly active users

  • 1.8K

    Posts

  • 11K

    Comments

Community moderators