From 6ec8c671c16284a3727dfbeab474d4ac88f28239 Mon Sep 17 00:00:00 2001 From: jandres Date: Tue, 29 Apr 2025 03:36:08 +0000 Subject: [PATCH] Update docker-compose.yml --- docker-compose.yml | 92 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 73 insertions(+), 19 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index dd42d39..69d1069 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3' - services: superset: init: true @@ -10,23 +8,79 @@ services: volumes: - ./superset_home:/app/superset_home environment: - - DATABASE_DB=superset - - DATABASE_HOST=db - - DATABASE_PASSWORD=superset - - DATABASE_USER=superset + - DATABASE_DB='${POSTGRES_DB}' + - DATABASE_HOST=timescaledb + - DATABASE_PASSWORD='${POSTGRES_PASSWORD}' + - DATABASE_USER='${POSTGRES_USER}' - DATABASE_PORT=5432 ports: - - '8080:8088' - - database: - init: true - image: postgres:alpine - container_name: superset_db - volumes: - - ./postgres_data:/var/lib/postgresql/data - environment: - - POSTGRES_DB=superset - - POSTGRES_USER=superset - - POSTGRES_PASSWORD=secretsecret + - '9000:8088' + pgadmin: + image: dpage/pgadmin4 + restart: always ports: - - '5000:5432' \ No newline at end of file + - '${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'