# Podman Compose compatible versie met port schema compliance x-common-variables: &common-variables DB_HOST: db DB_USER: luke DB_PASS: 'Skywalker!' DB_NAME: eveai DB_PORT: '5432' FLASK_ENV: development FLASK_DEBUG: true SECRET_KEY: '97867c1491bea5ee6a8e8436eb11bf2ba6a69ff53ab1b17ecba450d0f2e572e1' SECURITY_PASSWORD_SALT: '228614859439123264035565568761433607235' REDIS_URL: redis REDIS_PORT: '6379' FLOWER_USER: 'Felucia' FLOWER_PASSWORD: 'Jungles' OPENAI_API_KEY: 'sk-proj-8R0jWzwjL7PeoPyMhJTZT3BlbkFJLb6HfRB2Hr9cEVFWEhU7' GROQ_API_KEY: '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' MISTRAL_API_KEY: '0f4ZiQ1kIpgIKTHX8d0a8GOD2vAgVqEn' ANTHROPIC_API_KEY: 'sk-ant-api03-c2TmkzbReeGhXBO5JxNH6BJNylRDonc9GmZd0eRbrvyekec2' JWT_SECRET_KEY: 'bsdMkmQ8ObfMD52yAFg4trrvjgjMhuIqg2fjDpD/JqvgY0ccCcmlsEnVFmR79WPiLKEA3i8a5zmejwLZKl4v9Q==' API_ENCRYPTION_KEY: 'xfF5369IsredSrlrYZqkM9ZNrfUASYYS6TCcAR9UKj4=' MINIO_ENDPOINT: minio:9000 MINIO_ACCESS_KEY: minioadmin MINIO_SECRET_KEY: minioadmin NGINX_SERVER_NAME: 'localhost http://macstudio.ask-eve-ai-local.com/' LANGCHAIN_API_KEY: "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" SERPER_API_KEY: "e4c553856d0e6b5a171ec5e6b69d874285b9badf" CREWAI_STORAGE_DIR: "/app/crewai_storage" PUSH_GATEWAY_HOST: "pushgateway" PUSH_GATEWAY_PORT: "9091" SW_EMAIL_ACCESS_KEY: "SCWFMQ871RE4XGF04SW0" SW_EMAIL_SECRET_KEY: "ec84604c-e2d4-4b0d-a120-40420693f42a" SW_EMAIL_SENDER: "admin_dev@mail.askeveai.be" SW_EMAIL_NAME: "Evie Admin (dev)" SW_PROJECT: "f282f55a-ea52-4538-a979-5bcb890717ab" services: nginx: image: ${REGISTRY_PREFIX:-}josakola/nginx:latest build: context: .. dockerfile: ./docker/nginx/Dockerfile ports: - 3080:80 # Dev nginx proxy volgens port schema environment: <<: *common-variables volumes: - ../nginx:/etc/nginx - ../nginx/sites-enabled:/etc/nginx/sites-enabled - ../nginx/static:/etc/nginx/static - ../nginx/public:/etc/nginx/public - ../integrations/Wordpress/eveai-chat/assets/css/eveai-chat-style.css:/etc/nginx/static/css/eveai-chat-style.css - ../integrations/Wordpress/eveai-chat/assets/js/eveai-chat-widget.js:/etc/nginx/static/js/eveai-chat-widget.js - ../integrations/Wordpress/eveai-chat/assets/js/eveai-chat-widget.js:/etc/nginx/static/js/eveai-token-manager.js - ../integrations/Wordpress/eveai-chat/assets/js/eveai-sdk.js:/etc/nginx/static/js/eveai-sdk.js - ./logs/nginx:/var/log/nginx depends_on: - eveai_app - eveai_api - eveai_chat_client networks: - eveai-dev-network eveai_app: image: ${REGISTRY_PREFIX:-}josakola/eveai_app:latest build: context: .. dockerfile: ./docker/eveai_app/Dockerfile ports: - 3001:5001 # Dev app volgens port schema expose: - 8000 environment: <<: *common-variables COMPONENT_NAME: eveai_app volumes: - ../eveai_app:/app/eveai_app - ../common:/app/common - ../content:/app/content - ../config:/app/config - ../migrations:/app/migrations - ../scripts:/app/scripts - ../patched_packages:/app/patched_packages - ./eveai_logs:/app/logs depends_on: db: condition: service_healthy redis: condition: service_healthy minio: condition: service_healthy healthcheck: test: ["CMD", "curl", "-f", "http://localhost:5001/healthz/ready"] interval: 30s timeout: 10s retries: 3 start_period: 60s networks: - eveai-dev-network eveai_workers: image: ${REGISTRY_PREFIX:-}josakola/eveai_workers:latest build: context: .. dockerfile: ./docker/eveai_workers/Dockerfile expose: - 8000 environment: <<: *common-variables COMPONENT_NAME: eveai_workers volumes: - ../eveai_workers:/app/eveai_workers - ../common:/app/common - ../config:/app/config - ../scripts:/app/scripts - ../patched_packages:/app/patched_packages - ./eveai_logs:/app/logs depends_on: db: condition: service_healthy redis: condition: service_healthy minio: condition: service_healthy networks: - eveai-dev-network eveai_chat_client: image: ${REGISTRY_PREFIX:-}josakola/eveai_chat_client:latest build: context: .. dockerfile: ./docker/eveai_chat_client/Dockerfile ports: - 3004:5004 # Dev chat client volgens port schema expose: - 8000 environment: <<: *common-variables COMPONENT_NAME: eveai_chat_client volumes: - ../eveai_chat_client:/app/eveai_chat_client - ../common:/app/common - ../config:/app/config - ../scripts:/app/scripts - ../patched_packages:/app/patched_packages - ./eveai_logs:/app/logs depends_on: db: condition: service_healthy redis: condition: service_healthy minio: condition: service_healthy healthcheck: test: ["CMD", "curl", "-f", "http://localhost:5004/healthz/ready"] interval: 30s timeout: 10s retries: 3 start_period: 60s networks: - eveai-dev-network eveai_chat_workers: image: ${REGISTRY_PREFIX:-}josakola/eveai_chat_workers:latest build: context: .. dockerfile: ./docker/eveai_chat_workers/Dockerfile expose: - 8000 environment: <<: *common-variables COMPONENT_NAME: eveai_chat_workers volumes: - ../eveai_chat_workers:/app/eveai_chat_workers - ../common:/app/common - ../config:/app/config - ../scripts:/app/scripts - ../patched_packages:/app/patched_packages - ./eveai_logs:/app/logs depends_on: db: condition: service_healthy redis: condition: service_healthy networks: - eveai-dev-network eveai_api: image: ${REGISTRY_PREFIX:-}josakola/eveai_api:latest build: context: .. dockerfile: ./docker/eveai_api/Dockerfile ports: - 3003:5003 # Dev API volgens port schema expose: - 8000 environment: <<: *common-variables COMPONENT_NAME: eveai_api volumes: - ../eveai_api:/app/eveai_api - ../common:/app/common - ../config:/app/config - ../scripts:/app/scripts - ../patched_packages:/app/patched_packages - ./eveai_logs:/app/logs depends_on: db: condition: service_healthy redis: condition: service_healthy minio: condition: service_healthy healthcheck: test: [ "CMD", "curl", "-f", "http://localhost:5003/healthz/ready" ] interval: 30s timeout: 10s retries: 3 start_period: 60s networks: - eveai-dev-network eveai_beat: image: ${REGISTRY_PREFIX:-}josakola/eveai_beat:latest build: context: .. dockerfile: ./docker/eveai_beat/Dockerfile environment: <<: *common-variables COMPONENT_NAME: eveai_beat volumes: - ../eveai_beat:/app/eveai_beat - ../common:/app/common - ../config:/app/config - ../scripts:/app/scripts - ../patched_packages:/app/patched_packages - ./eveai_logs:/app/logs depends_on: redis: condition: service_healthy networks: - eveai-dev-network eveai_entitlements: image: ${REGISTRY_PREFIX:-}josakola/eveai_entitlements:latest build: context: .. dockerfile: ./docker/eveai_entitlements/Dockerfile expose: - 8000 environment: <<: *common-variables COMPONENT_NAME: eveai_entitlements volumes: - ../eveai_entitlements:/app/eveai_entitlements - ../common:/app/common - ../config:/app/config - ../scripts:/app/scripts - ../patched_packages:/app/patched_packages - ./eveai_logs:/app/logs depends_on: db: condition: service_healthy redis: condition: service_healthy minio: condition: service_healthy networks: - eveai-dev-network db: hostname: db image: ankane/pgvector ports: - 3005:5432 # Dev database volgens port schema (vermijd standaard 5432) restart: always environment: - POSTGRES_DB=eveai - POSTGRES_USER=luke - POSTGRES_PASSWORD=Skywalker! volumes: - ./db/postgresql:/var/lib/postgresql/data - ./db/init.sql:/docker-entrypoint-initdb.d/init.sql healthcheck: test: [ "CMD-SHELL", "pg_isready -d eveai -U luke" ] interval: 10s timeout: 5s retries: 5 networks: - eveai-dev-network redis: image: redis:7.2.5 restart: always ports: - "3006:6379" # Dev Redis volgens port schema (vermijd standaard 6379) volumes: - ./db/redis:/data healthcheck: test: [ "CMD", "redis-cli", "ping" ] interval: 10s timeout: 5s retries: 5 networks: - eveai-dev-network flower: image: ${REGISTRY_PREFIX:-}josakola/flower:latest build: context: .. dockerfile: ./docker/flower/Dockerfile environment: <<: *common-variables volumes: - ../scripts:/app/scripts ports: - "3007:5555" # Dev Flower volgens port schema depends_on: - redis networks: - eveai-dev-network minio: image: minio/minio ports: - "3008:9000" # Dev MinIO volgens port schema - "3009:9001" # Dev MinIO console expose: - 9000 volumes: - ./minio/data:/data - ./minio/config:/root/.minio environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin} command: server /data --console-address ":9001" healthcheck: test: [ "CMD", "mc", "ready", "local" ] interval: 30s timeout: 20s retries: 3 start_period: 60s networks: - eveai-dev-network prometheus: image: ${REGISTRY_PREFIX:-}josakola/prometheus:latest build: context: ./prometheus dockerfile: Dockerfile ports: - "3010:9090" # Dev Prometheus volgens port schema volumes: - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml - ./prometheus/data:/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--web.console.libraries=/etc/prometheus/console_libraries' - '--web.console.templates=/etc/prometheus/consoles' - '--web.enable-lifecycle' restart: unless-stopped networks: - eveai-dev-network pushgateway: image: prom/pushgateway:latest restart: unless-stopped ports: - "3011:9091" # Dev Pushgateway volgens port schema networks: - eveai-dev-network grafana: image: ${REGISTRY_PREFIX:-}josakola/grafana:latest build: context: ./grafana dockerfile: Dockerfile ports: - "3012:3000" # Dev Grafana volgens port schema volumes: - ./grafana/provisioning:/etc/grafana/provisioning - ./grafana/data:/var/lib/grafana environment: - GF_SECURITY_ADMIN_USER=admin - GF_SECURITY_ADMIN_PASSWORD=admin - GF_USERS_ALLOW_SIGN_UP=false restart: unless-stopped depends_on: - prometheus networks: - eveai-dev-network networks: eveai-dev-network: driver: bridge volumes: minio_data: eveai_logs: