version: "3.8" services: db: image: postgres:16-alpine restart: always environment: POSTGRES_USER: ${PGUSER:-arcadia} POSTGRES_PASSWORD: ${PGPASSWORD:-SuaSenhaSegura} POSTGRES_DB: ${PGDATABASE:-arcadia} volumes: - pgdata:/var/lib/postgresql/data ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U ${PGUSER:-arcadia}"] interval: 10s timeout: 5s retries: 5 app: build: . restart: always depends_on: db: condition: service_healthy ports: - "5000:5000" env_file: - .env environment: DATABASE_URL: postgresql://${PGUSER:-arcadia}:${PGPASSWORD:-SuaSenhaSegura}@db:5432/${PGDATABASE:-arcadia} PGHOST: db NODE_ENV: production volumes: - uploads:/app/uploads # ── Superset BI ────────────────────────────────────────────────────────────── superset: build: context: ./docker/superset dockerfile: Dockerfile restart: unless-stopped environment: SUPERSET_SECRET_KEY: ${SUPERSET_SECRET_KEY:-superset-secret-change-in-dev} SQLALCHEMY_DATABASE_URI: postgresql://${PGUSER:-arcadia}:${PGPASSWORD:-SuaSenhaSegura}@db:5432/superset DATABASE_URL: postgresql://${PGUSER:-arcadia}:${PGPASSWORD:-SuaSenhaSegura}@db:5432/superset PYTHONPATH: /app/pythonpath SUPERSET_ADMIN_USER: ${SUPERSET_ADMIN_USER:-admin} SUPERSET_ADMIN_USERNAME: ${SUPERSET_ADMIN_USER:-admin} SUPERSET_ADMIN_PASSWORD: ${SUPERSET_ADMIN_PASSWORD:-arcadia2026} SUPERSET_ADMIN_EMAIL: ${SUPERSET_ADMIN_EMAIL:-admin@arcadia.app} ARCADIA_DATABASE_URL: postgresql+psycopg2://${PGUSER:-arcadia}:${PGPASSWORD:-SuaSenhaSegura}@db:5432/${PGDATABASE:-arcadia} command: ["/bin/bash", "/app/docker/init.sh"] volumes: - ./docker/superset/superset_config.py:/app/pythonpath/superset_config.py:ro - ./docker/superset/init.sh:/app/docker/init.sh:ro - superset_home:/app/superset_home ports: - "8088:8088" depends_on: db: condition: service_healthy profiles: [bi] volumes: pgdata: uploads: superset_home: