87 lines
2.5 KiB
YAML
87 lines
2.5 KiB
YAML
services:
|
|
superset:
|
|
init: true
|
|
build:
|
|
context: ./superset
|
|
dockerfile: Dockerfile
|
|
container_name: superset
|
|
volumes:
|
|
- ./superset_home:/app/superset_home
|
|
environment:
|
|
- DATABASE_DB='${POSTGRES_DB}'
|
|
- DATABASE_HOST=timescaledb
|
|
- DATABASE_PASSWORD='${POSTGRES_PASSWORD}'
|
|
- DATABASE_USER='${POSTGRES_USER}'
|
|
- DATABASE_PORT=5432
|
|
ports:
|
|
- '9000:8088'
|
|
pgadmin:
|
|
image: dpage/pgadmin4
|
|
restart: always
|
|
ports:
|
|
- '${EXPOSE_PGADMIN_PORT}:${PGADMIN_PORT}'
|
|
environment:
|
|
PGADMIN_DEFAULT_EMAIL: '${PGADMIN_DEFAULT_EMAIL}'
|
|
PGADMIN_DEFAULT_PASSWORD: '${PGADMIN_DEFAULT_PASSWORD}'
|
|
volumes:
|
|
- 'pgadmin_data:/var/lib/pgadmin'
|
|
timescaledb:
|
|
image: 'timescale/timescaledb:latest-pg17'
|
|
container_name: timescaledb
|
|
environment:
|
|
POSTGRES_DB: '${POSTGRES_DB}'
|
|
POSTGRES_USER: '${POSTGRES_USER}'
|
|
POSTGRES_PASSWORD: '${POSTGRES_PASSWORD}'
|
|
volumes:
|
|
- 'timescaledb-data:/var/lib/postgresql/data'
|
|
- './timescaledb/init:/docker-entrypoint-initdb.d'
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- 'pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}'
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
ports:
|
|
- '${EXPOSE_DB_PORT}:${SUPERSET_DB_PORT}'
|
|
n8n:
|
|
image: n8nio/n8n
|
|
container_name: n8n
|
|
depends_on:
|
|
timescaledb:
|
|
condition: service_healthy
|
|
environment:
|
|
DB_TYPE: '${N8N_DB_TYPE}'
|
|
DB_POSTGRESDB_HOST: '${SUPERSET_DB_HOST}'
|
|
DB_POSTGRESDB_PORT: '${SUPERSET_DB_PORT}'
|
|
DB_POSTGRESDB_DATABASE: '${N8N_DB}'
|
|
DB_POSTGRESDB_USER: '${N8N_DB_USER}'
|
|
DB_POSTGRESDB_PASSWORD: '${N8N_DB_PASSWORD}'
|
|
N8N_BASIC_AUTH_ACTIVE: 'true'
|
|
N8N_BASIC_AUTH_USER: '${N8N_BASIC_USER}'
|
|
N8N_BASIC_AUTH_PASSWORD: '${N8N_BASIC_PASSWORD}'
|
|
volumes:
|
|
- 'n8n-data:/home/node/.n8n'
|
|
- 'uv-persist:/persist'
|
|
ports:
|
|
- '${EXPOSE_N8N_PORT}:${N8N_PORT}'
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- 'wget -qO- http://127.0.0.1:8080/'
|
|
interval: 5s
|
|
timeout: 20s
|
|
retries: 10
|
|
uv-installer:
|
|
image: 'alpine:latest'
|
|
volumes:
|
|
- 'uv-persist:/persist'
|
|
command: |
|
|
sh -c "apk add --no-cache curl bash &&
|
|
mkdir -p /persist/bin &&
|
|
curl -Ls https://astral.sh/uv/install.sh | bash &&
|
|
cp /root/.local/bin/uv /persist/bin/uv &&
|
|
cp /root/.local/bin/uvx /persist/bin/uvx &&
|
|
chmod -R 755 /persist/bin"
|
|
restart: 'no'
|