diff --git a/compose.yml b/compose.yml index afed344..9cb531d 100644 --- a/compose.yml +++ b/compose.yml @@ -3,45 +3,30 @@ version: '3.8' services: - db: - image: postgres:11 - restart: always - networks: - - internal_network - environment: - - POSTGRES_USER=root - - POSTGRES_PASSWORD=test - # - POSTGRES_PASSWORD_FILE=/run/secrets/db_password - - POSTGRES_DB=n8n - # - POSTGRES_NON_ROOT_USER - # volumes: - # - ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh - - n8n: + app: image: n8nio/n8n - restart: always environment: - DB_TYPE=postgresdb - - DB_POSTGRESDB_HOST=db + - DB_POSTGRESDB_HOST=${STACK_NAME}_db - DB_POSTGRESDB_PORT=5432 - - DB_POSTGRESDB_DATABASE=n8n #${POSTGRES_DB} - - DB_POSTGRESDB_USER=root #${POSTGRES_NON_ROOT_USER} - - DB_POSTGRESDB_PASSWORD=test - # - DB_POSTGRESDB_PASSWORD_FILE=/run/secrets/db_password + - DB_POSTGRESDB_DATABASE=n8n + - DB_POSTGRESDB_USER=root + - DB_POSTGRESDB_PASSWORD_FILE=/run/secrets/db_password - N8N_BASIC_AUTH_ACTIVE=true - N8N_BASIC_AUTH_USER - N8N_BASIC_AUTH_PASSWORD - # - N8N_BASIC_AUTH_PASSWORD_FILE=/run/secrets/admin_password - ports: - - 5678:5678 + - N8N_BASIC_AUTH_PASSWORD_FILE=/run/secrets/admin_password + - WEBHOOK_URL=https:/${DOMAIN} + depends_on: + - db networks: - proxy - internal_network volumes: - n8n:/home/node/.n8n - # Wait 5 seconds to start n8n to make sure that PostgreSQL is ready - # when n8n tries to connect to it - command: /bin/sh -c "sleep 5; n8n start" + secrets: + - db_password + - admin_password deploy: update_config: failure_action: rollback @@ -57,22 +42,40 @@ services: - "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true" - "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}" -# secrets: -# db_non_root_password: -# external: true -# name: ${STACK_NAME}_db_non_root_password_${SECRET_DB_NON_ROOT_PASSWORD_VERSION} -# db_password: -# external: true -# name: ${STACKNAME}_db_password_${SECRET_DB_PASSWORD_VERSION} -# admin_password: -# external: true -# name: ${STACK_NAME}_admin_password_${SECRET_ADMIN_PASSWORD_VERSION} + db: + image: postgres:11 + networks: + - internal_network + environment: + - POSTGRES_USER=root + - POSTGRES_PASSWORD_FILE=/run/secrets/db_password + - POSTGRES_DB=n8n + # - POSTGRES_NON_ROOT_USER + secrets: + - db_password + healthcheck: + test: ["CMD", "pg_isready", "-U", "root", "-d", "n8n"] + volumes: + - 'postgresql_data:/var/lib/postgresql/data' + # - ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh + + +secrets: + # db_non_root_password: + # external: true + # name: ${STACK_NAME}_db_non_root_password_${SECRET_DB_NON_ROOT_PASSWORD_VERSION} + db_password: + external: true + name: ${STACK_NAME}_db_password_${SECRET_DB_PASSWORD_VERSION} + admin_password: + external: true + name: ${STACK_NAME}_admin_password_${SECRET_ADMIN_PASSWORD_VERSION} volumes: n8n: + postgresql_data: networks: proxy: external: true internal_network: - internal: true