services: base: image: ${CHART_PROJECT_IMAGE_NAME} profiles: ["dontuse"] network_mode: host env_file: .env volumes: - /pfs:/pfs - /tcenas:/tcenas - ~/.${CHART_PROJECT_NAME}_passwords:/app/.${CHART_PROJECT_NAME}_passwords - ~:/app/home - ${CHART_HOST_PASSWD}:/etc/passwd - ${CHART_HOST_GROUP}:/etc/group - /offlinearchive:/offlinearchive security_opt: - seccomp:unconfined user: ${CHART_USER_ID}:${CHART_GROUP_ID} logging: driver: "json-file" options: max-size: "10m" max-file: "10" environment: CHART_DEBUG: ${CHART_DEBUG-false} terminal: extends: service: base profiles: ["debug"] environment: PSQL_HISTORY: /app/home/.chart.psql_history HISTFILE: /app/home/.chart.bash_history command: bash debug_webserver: extends: service: base profiles: ["debug"] container_name: ${CHART_CONTAINER_PREFIX}${CHART_PROJECT_NAME}-debugwebserver command: scripts/debug_webserver.sh webserver: extends: service: base profiles: ["ipr", "epp-ipr", "web"] container_name: ${CHART_CONTAINER_PREFIX}${CHART_PROJECT_NAME}-webserver volumes: - static:/mnt/static command: scripts/webserver.sh # healthcheck: # test: ["CMD", "curl", "-f", "http://localhost"] # interval: 1m30s # timeout: 10s # retries: 3 # start_period: 40s deploy: resources: limits: memory: 8GB restart: unless-stopped environment: CHART_STATIC_ROOT: /mnt/static scheduler: extends: service: base profiles: ["ipr"] container_name: ${CHART_CONTAINER_PREFIX}${CHART_PROJECT_NAME}-scheduler command: scripts/scheduler.sh restart: unless-stopped worker_1: extends: service: base profiles: ["ipr"] container_name: ${CHART_CONTAINER_PREFIX}${CHART_PROJECT_NAME}-worker-1 command: scripts/worker.sh deploy: resources: limits: memory: 5GB restart: unless-stopped environment: CHART_WORKER_NAME: worker_1 CHART_WORKER_MAX_WEIGHT: 1 worker_2: extends: service: base profiles: ["ipr"] container_name: ${CHART_CONTAINER_PREFIX}${CHART_PROJECT_NAME}-worker-2 command: scripts/worker.sh deploy: resources: limits: memory: 5GB restart: unless-stopped environment: CHART_WORKER_NAME: worker_2 CHART_WORKER_MAX_WEIGHT: 1 worker_heavy: extends: service: base profiles: ["ipr"] container_name: ${CHART_CONTAINER_PREFIX}${CHART_PROJECT_NAME}-worker-heavy command: scripts/worker.sh deploy: resources: limits: memory: 48GB restart: unless-stopped environment: CHART_WORKER_NAME: worker_heavy CHART_BATCH_SIZE: "7 --exclude-activities APEX_EVENTS" # worker_apex_events: # extends: # service: base # profiles: ["ipr"] # container_name: ${CHART_CONTAINER_PREFIX}${CHART_PROJECT_NAME}-worker-apex-events # command: scripts/worker.sh # deploy: # resources: # limits: # memory: 8GB # restart: unless-stopped # environment: # CHART_WORKER_NAME: "worker_apex_events" # CHART_BATCH_SIZE: "--only-activities APEX_EVENTS" proxy: network_mode: host env_file: .env profiles: ["ipr", "epp-ipr", "web"] container_name: ${CHART_CONTAINER_PREFIX}${CHART_PROJECT_NAME}-proxy image: ${CHART_PROXY_IMAGE_NAME} security_opt: - seccomp:unconfined volumes: - /pfs:/pfs - /tcenas:/tcenas - static:/mnt/static environment: CHART_PREFIX: ${CHART_PREFIX} CHART_FRONTEND_PORT: ${CHART_FRONTEND_PORT} CHART_PORT: ${CHART_PORT} CHART_LOG_DIR: ${CHART_LOG_DIR}/apache CHART_STATIC_ROOT: /mnt/static restart: unless-stopped volumes: static: external: false name: ${CHART_VOLUME_PREFIX}${CHART_PROJECT_NAME}-static