diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index f9c897c..26c27ce 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -142,168 +142,6 @@ services: networks: - arcadia-internal - # ── Apache Superset (BI) ───────────────────────────────────────────────────── - # Perfil `bi` — suba com: docker compose --profile bi up - superset: - image: apache/superset:4.1.0 - restart: always - profiles: [bi] - environment: - SUPERSET_SECRET_KEY: ${SUPERSET_SECRET_KEY} - DATABASE_URL: postgresql://${PGUSER:-arcadia}:${PGPASSWORD}@db:5432/arcadia_superset - ARCADIA_DATABASE_URL: postgresql://${PGUSER:-arcadia}:${PGPASSWORD}@db:5432/${PGDATABASE:-arcadia} - SUPERSET_ADMIN_USER: ${SUPERSET_ADMIN_USER:-admin} - SUPERSET_ADMIN_EMAIL: ${SUPERSET_ADMIN_EMAIL:-admin@arcadia.app} - SUPERSET_ADMIN_PASSWORD: ${SUPERSET_ADMIN_PASSWORD} - SUPERSET_WEBSERVER_PORT: "8088" - PYTHONPATH: /app/pythonpath - 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 - depends_on: - db: - condition: service_healthy - command: ["/bin/bash", "/app/docker/init.sh"] - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8088/health"] - interval: 30s - timeout: 10s - retries: 5 - start_period: 60s - networks: - - arcadia-internal - - # ── ERPNext (Frappe Framework) ─────────────────────────────────────────────── - # Perfil `erpnext` — suba com: docker compose --profile erpnext up - erpnext-db: - image: mariadb:10.6 - restart: always - profiles: [erpnext] - environment: - MYSQL_ROOT_PASSWORD: ${ERPNEXT_DB_ROOT_PASSWORD} - MYSQL_DATABASE: _frappe - MYSQL_USER: frappe - MYSQL_PASSWORD: ${ERPNEXT_DB_PASSWORD} - volumes: - - erpnext_db:/var/lib/mysql - command: > - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci - --skip-character-set-client-handshake - --skip-innodb-read-only-compressed - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "--password=${ERPNEXT_DB_ROOT_PASSWORD}"] - interval: 10s - timeout: 5s - retries: 10 - start_period: 30s - networks: - - arcadia-internal - - erpnext: - image: frappe/erpnext:version-15 - restart: always - profiles: [erpnext] - environment: - FRAPPE_SITE_NAME_HEADER: erpnext.local - ERPNEXT_DB_ROOT_PASSWORD: ${ERPNEXT_DB_ROOT_PASSWORD} - ERPNEXT_ADMIN_PASSWORD: ${ERPNEXT_ADMIN_PASSWORD} - volumes: - - erpnext_sites:/home/frappe/frappe-bench/sites - - erpnext_logs:/home/frappe/frappe-bench/logs - - ./docker/erpnext/init.sh:/usr/local/bin/init-erpnext.sh:ro - depends_on: - erpnext-db: - condition: service_healthy - command: ["/bin/bash", "/usr/local/bin/init-erpnext.sh"] - healthcheck: - test: ["CMD-SHELL", "curl -sf http://localhost:8080/api/method/frappe.ping || exit 1"] - interval: 30s - timeout: 10s - retries: 10 - start_period: 120s - networks: - - arcadia-internal - - # ── Arcádia Plus (Laravel + MySQL) ────────────────────────────────────────── - # Perfil `plus` — suba com: docker compose --profile plus up - plus-db: - image: mysql:8.0 - restart: always - profiles: [plus] - environment: - MYSQL_ROOT_PASSWORD: ${PLUS_DB_ROOT_PASSWORD} - MYSQL_DATABASE: ${PLUS_DB_DATABASE:-arcadia_plus} - MYSQL_USER: ${PLUS_DB_USER:-plus} - MYSQL_PASSWORD: ${PLUS_DB_PASSWORD} - volumes: - - plus_db:/var/lib/mysql - command: --default-authentication-plugin=mysql_native_password - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "--password=${PLUS_DB_ROOT_PASSWORD}"] - interval: 10s - timeout: 5s - retries: 10 - networks: - - arcadia-internal - - plus: - image: ${PLUS_IMAGE:-php:8.3-apache} - restart: always - profiles: [plus] - environment: - APP_ENV: production - APP_KEY: ${PLUS_APP_KEY} - APP_URL: https://${DOMAIN}/plus - DB_HOST: plus-db - DB_DATABASE: ${PLUS_DB_DATABASE:-arcadia_plus} - DB_USERNAME: ${PLUS_DB_USER:-plus} - DB_PASSWORD: ${PLUS_DB_PASSWORD} - SESSION_DRIVER: redis - REDIS_HOST: redis - ARCADIA_URL: https://${DOMAIN} - ARCADIA_SSO_SECRET: ${SSO_SECRET} - volumes: - - plus_storage:/var/www/html/storage - depends_on: - plus-db: - condition: service_healthy - networks: - - arcadia-internal - - # ── Apache Superset (BI) ───────────────────────────────────────────────────── - # Perfil `bi` — suba com: docker compose --profile bi up - superset: - image: apache/superset:4.1.0 - restart: always - profiles: [bi] - environment: - SUPERSET_SECRET_KEY: ${SUPERSET_SECRET_KEY} - DATABASE_URL: postgresql://${PGUSER:-arcadia}:${PGPASSWORD}@db:5432/arcadia_superset - ARCADIA_DATABASE_URL: postgresql://${PGUSER:-arcadia}:${PGPASSWORD}@db:5432/${PGDATABASE:-arcadia} - SUPERSET_ADMIN_USER: ${SUPERSET_ADMIN_USER:-admin} - SUPERSET_ADMIN_EMAIL: ${SUPERSET_ADMIN_EMAIL:-admin@arcadia.app} - SUPERSET_ADMIN_PASSWORD: ${SUPERSET_ADMIN_PASSWORD} - SUPERSET_WEBSERVER_PORT: "8088" - PYTHONPATH: /app/pythonpath - 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 - depends_on: - db: - condition: service_healthy - command: ["/bin/bash", "/app/docker/init.sh"] - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8088/health"] - interval: 30s - timeout: 10s - retries: 5 - start_period: 60s - networks: - - arcadia-internal - # ── ERPNext (Frappe Framework) ─────────────────────────────────────────────── # Perfil `erpnext` — suba com: docker compose --profile erpnext up erpnext-db: