services: backend: image: ${OCIR_REGION}.ocir.io/${OCIR_NAMESPACE}/oci-cis-agent-backend:${IMAGE_TAG:-latest} container_name: oci-agent-backend restart: unless-stopped environment: - APP_SECRET=${APP_SECRET:?Set APP_SECRET in .env (openssl rand -hex 64)} - JWT_EXPIRY_HOURS=${JWT_EXPIRY_HOURS:-12} - DATA_DIR=/data - CORS_ORIGINS=${CORS_ORIGINS:-} - TZ=${TZ:-America/Sao_Paulo} - OCI_CLI_SUPPRESS_FILE_PERMISSIONS_WARNING=True volumes: - agent-data:/data networks: - agent-net healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/api/health"] interval: 30s timeout: 10s retries: 3 logging: driver: "json-file" options: max-size: "10m" max-file: "3" mem_limit: 4g frontend: image: ${OCIR_REGION}.ocir.io/${OCIR_NAMESPACE}/oci-cis-agent-frontend:${IMAGE_TAG:-latest} container_name: oci-agent-frontend restart: unless-stopped environment: - TZ=${TZ:-America/Sao_Paulo} ports: - "${PORT:-8080}:80" depends_on: - backend networks: - agent-net logging: driver: "json-file" options: max-size: "5m" max-file: "3" mem_limit: 512m volumes: agent-data: driver: local networks: agent-net: driver: bridge