mirror of
https://github.com/n8n-io/n8n.git
synced 2024-09-17 16:08:12 +03:00
ci: Move docker-compose examples out of this repo (no-changelog) (#9029)
This commit is contained in:
parent
4eb4ade3a8
commit
db5c587cc8
@ -1,19 +0,0 @@
|
|||||||
# Folder where data should be saved
|
|
||||||
DATA_FOLDER=/root/n8n/
|
|
||||||
|
|
||||||
# The top level domain to serve from
|
|
||||||
DOMAIN_NAME=example.com
|
|
||||||
|
|
||||||
# The subfolder to serve from
|
|
||||||
SUBFOLDER=app1
|
|
||||||
N8N_PATH=/app1/
|
|
||||||
|
|
||||||
# DOMAIN_NAME and SUBDOMAIN combined decide where n8n will be reachable from
|
|
||||||
# above example would result in: https://example.com/n8n/
|
|
||||||
|
|
||||||
# Optional timezone to set which gets used by Cron-Node by default
|
|
||||||
# If not set New York time will be used
|
|
||||||
GENERIC_TIMEZONE=Europe/Berlin
|
|
||||||
|
|
||||||
# The email address to use for the SSL certificate creation
|
|
||||||
SSL_EMAIL=user@example.com
|
|
@ -1,20 +0,0 @@
|
|||||||
# n8n on Subfolder with SSL
|
|
||||||
|
|
||||||
Starts n8n and deploys it on a subfolder
|
|
||||||
|
|
||||||
## Start
|
|
||||||
|
|
||||||
To start n8n in a subfolder simply start docker-compose by executing the following
|
|
||||||
command in the current folder.
|
|
||||||
|
|
||||||
**IMPORTANT:** But before you do that change the default users and passwords in the `.env` file!
|
|
||||||
|
|
||||||
```
|
|
||||||
docker-compose up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
To stop it execute:
|
|
||||||
|
|
||||||
```
|
|
||||||
docker-compose stop
|
|
||||||
```
|
|
@ -1,62 +0,0 @@
|
|||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
|
||||||
traefik:
|
|
||||||
image: 'traefik'
|
|
||||||
command:
|
|
||||||
- '--api=true'
|
|
||||||
- '--api.insecure=true'
|
|
||||||
- '--api.dashboard=true'
|
|
||||||
- '--providers.docker=true'
|
|
||||||
- '--providers.docker.exposedbydefault=false'
|
|
||||||
- '--entrypoints.websecure.address=:443'
|
|
||||||
- '--certificatesresolvers.mytlschallenge.acme.tlschallenge=true'
|
|
||||||
- '--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}'
|
|
||||||
- '--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json'
|
|
||||||
ports:
|
|
||||||
- '443:443'
|
|
||||||
- '80:80'
|
|
||||||
volumes:
|
|
||||||
- ${DATA_FOLDER}/letsencrypt:/letsencrypt
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
||||||
|
|
||||||
initContainer:
|
|
||||||
image: busybox
|
|
||||||
command: ['sh', '-c', 'chown -R 1000:1000 /home/node/.n8n']
|
|
||||||
volumes:
|
|
||||||
- ${DATA_FOLDER}/.n8n:/home/node/.n8n
|
|
||||||
|
|
||||||
n8n:
|
|
||||||
image: docker.n8n.io/n8nio/n8n
|
|
||||||
ports:
|
|
||||||
- '127.0.0.1:5678:5678'
|
|
||||||
labels:
|
|
||||||
- traefik.enable=true
|
|
||||||
- traefik.http.routers.n8n.rule=Host(`${DOMAIN_NAME}`)
|
|
||||||
- traefik.http.routers.n8n.tls=true
|
|
||||||
- traefik.http.routers.n8n.entrypoints=websecure
|
|
||||||
- 'traefik.http.routers.n8n.rule=PathPrefix(`/${SUBFOLDER}{regex:$$|/.*}`)'
|
|
||||||
- 'traefik.http.middlewares.n8n-stripprefix.stripprefix.prefixes=/${SUBFOLDER}'
|
|
||||||
- 'traefik.http.routers.n8n.middlewares=n8n-stripprefix'
|
|
||||||
- traefik.http.routers.n8n.tls.certresolver=mytlschallenge
|
|
||||||
- traefik.http.middlewares.n8n.headers.SSLRedirect=true
|
|
||||||
- traefik.http.middlewares.n8n.headers.STSSeconds=315360000
|
|
||||||
- traefik.http.middlewares.n8n.headers.browserXSSFilter=true
|
|
||||||
- traefik.http.middlewares.n8n.headers.contentTypeNosniff=true
|
|
||||||
- traefik.http.middlewares.n8n.headers.forceSTSHeader=true
|
|
||||||
- traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME}
|
|
||||||
- traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true
|
|
||||||
- traefik.http.middlewares.n8n.headers.STSPreload=true
|
|
||||||
environment:
|
|
||||||
- N8N_HOST=${DOMAIN_NAME}
|
|
||||||
- N8N_PORT=5678
|
|
||||||
- N8N_PROTOCOL=https
|
|
||||||
- NODE_ENV=production
|
|
||||||
- N8N_PATH
|
|
||||||
- WEBHOOK_URL=https://${DOMAIN_NAME}${N8N_PATH}
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
- ${DATA_FOLDER}/.n8n:/home/node/.n8n
|
|
||||||
depends_on:
|
|
||||||
initContainer:
|
|
||||||
condition: service_completed_successfully
|
|
@ -1,6 +0,0 @@
|
|||||||
POSTGRES_USER=changeUser
|
|
||||||
POSTGRES_PASSWORD=changePassword
|
|
||||||
POSTGRES_DB=n8n
|
|
||||||
|
|
||||||
POSTGRES_NON_ROOT_USER=changeUser
|
|
||||||
POSTGRES_NON_ROOT_PASSWORD=changePassword
|
|
@ -1,24 +0,0 @@
|
|||||||
# n8n with PostgreSQL
|
|
||||||
|
|
||||||
Starts n8n with PostgreSQL as database.
|
|
||||||
|
|
||||||
## Start
|
|
||||||
|
|
||||||
To start n8n with PostgreSQL simply start docker-compose by executing the following
|
|
||||||
command in the current folder.
|
|
||||||
|
|
||||||
**IMPORTANT:** But before you do that change the default users and passwords in the [`.env`](.env) file!
|
|
||||||
|
|
||||||
```
|
|
||||||
docker-compose up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
To stop it execute:
|
|
||||||
|
|
||||||
```
|
|
||||||
docker-compose stop
|
|
||||||
```
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
The default name of the database, user and password for PostgreSQL can be changed in the [`.env`](.env) file in the current directory.
|
|
@ -1,44 +0,0 @@
|
|||||||
version: '3.8'
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
db_storage:
|
|
||||||
n8n_storage:
|
|
||||||
|
|
||||||
services:
|
|
||||||
postgres:
|
|
||||||
image: postgres:16
|
|
||||||
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
|
|
||||||
|
|
||||||
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}
|
|
||||||
ports:
|
|
||||||
- 5678:5678
|
|
||||||
links:
|
|
||||||
- postgres
|
|
||||||
volumes:
|
|
||||||
- n8n_storage:/home/node/.n8n
|
|
||||||
depends_on:
|
|
||||||
postgres:
|
|
||||||
condition: service_healthy
|
|
@ -1,13 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e;
|
|
||||||
|
|
||||||
|
|
||||||
if [ -n "${POSTGRES_NON_ROOT_USER:-}" ] && [ -n "${POSTGRES_NON_ROOT_PASSWORD:-}" ]; then
|
|
||||||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
|
||||||
CREATE USER ${POSTGRES_NON_ROOT_USER} WITH PASSWORD '${POSTGRES_NON_ROOT_PASSWORD}';
|
|
||||||
GRANT ALL PRIVILEGES ON DATABASE ${POSTGRES_DB} TO ${POSTGRES_NON_ROOT_USER};
|
|
||||||
GRANT CREATE ON SCHEMA public TO ${POSTGRES_NON_ROOT_USER};
|
|
||||||
EOSQL
|
|
||||||
else
|
|
||||||
echo "SETUP INFO: No Environment variables given!"
|
|
||||||
fi
|
|
@ -1,6 +0,0 @@
|
|||||||
POSTGRES_USER=changeUser
|
|
||||||
POSTGRES_PASSWORD=changePassword
|
|
||||||
POSTGRES_DB=n8n
|
|
||||||
|
|
||||||
POSTGRES_NON_ROOT_USER=changeUser
|
|
||||||
POSTGRES_NON_ROOT_PASSWORD=changePassword
|
|
@ -1,24 +0,0 @@
|
|||||||
# n8n with PostgreSQL and Worker
|
|
||||||
|
|
||||||
Starts n8n with PostgreSQL as database, and the Worker as a separate container.
|
|
||||||
|
|
||||||
## Start
|
|
||||||
|
|
||||||
To start n8n simply start docker-compose by executing the following
|
|
||||||
command in the current folder.
|
|
||||||
|
|
||||||
**IMPORTANT:** But before you do that change the default users and passwords in the [`.env`](.env) file!
|
|
||||||
|
|
||||||
```
|
|
||||||
docker-compose up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
To stop it execute:
|
|
||||||
|
|
||||||
```
|
|
||||||
docker-compose stop
|
|
||||||
```
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
The default name of the database, user and password for PostgreSQL can be changed in the [`.env`](.env) file in the current directory.
|
|
@ -1,71 +0,0 @@
|
|||||||
version: '3.8'
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
db_storage:
|
|
||||||
n8n_storage:
|
|
||||||
redis_storage:
|
|
||||||
|
|
||||||
x-shared: &shared
|
|
||||||
restart: always
|
|
||||||
image: docker.n8n.io/n8nio/n8n
|
|
||||||
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
|
|
||||||
links:
|
|
||||||
- postgres
|
|
||||||
- redis
|
|
||||||
volumes:
|
|
||||||
- n8n_storage:/home/node/.n8n
|
|
||||||
depends_on:
|
|
||||||
redis:
|
|
||||||
condition: service_healthy
|
|
||||||
postgres:
|
|
||||||
condition: service_healthy
|
|
||||||
|
|
||||||
services:
|
|
||||||
postgres:
|
|
||||||
image: postgres:16
|
|
||||||
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
|
|
||||||
ports:
|
|
||||||
- 5678:5678
|
|
||||||
|
|
||||||
n8n-worker:
|
|
||||||
<<: *shared
|
|
||||||
command: worker
|
|
||||||
depends_on:
|
|
||||||
- n8n
|
|
@ -1,13 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e;
|
|
||||||
|
|
||||||
|
|
||||||
if [ -n "${POSTGRES_NON_ROOT_USER:-}" ] && [ -n "${POSTGRES_NON_ROOT_PASSWORD:-}" ]; then
|
|
||||||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
|
||||||
CREATE USER ${POSTGRES_NON_ROOT_USER} WITH PASSWORD '${POSTGRES_NON_ROOT_PASSWORD}';
|
|
||||||
GRANT ALL PRIVILEGES ON DATABASE ${POSTGRES_DB} TO ${POSTGRES_NON_ROOT_USER};
|
|
||||||
GRANT CREATE ON SCHEMA public TO ${POSTGRES_NON_ROOT_USER};
|
|
||||||
EOSQL
|
|
||||||
else
|
|
||||||
echo "SETUP INFO: No Environment variables given!"
|
|
||||||
fi
|
|
Loading…
Reference in New Issue
Block a user