mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-03-15 05:41:51 +00:00

The env var now only affects the bot container, not the API. This is because we don't currently need this extra debug information for the API. For the bot, with DEBUG set, the bot container will now start and do nothing. To start the bot in this container in debug mode, open a shell into the container and run the start-bot-prod-debug script manually. This change was made to allow more control over what profiling scripts and other things are run in the debug environment.
89 lines
2.7 KiB
YAML
89 lines
2.7 KiB
YAML
version: '3'
|
|
name: zeppelin-prod
|
|
services:
|
|
nginx:
|
|
build:
|
|
context: ./docker/production/nginx
|
|
args:
|
|
API_PORT: ${API_PORT:?Missing API_PORT}
|
|
DOCKER_PROD_DOMAIN: ${DOCKER_PROD_DOMAIN:?Missing DOCKER_PROD_DOMAIN}
|
|
ports:
|
|
- "${DOCKER_PROD_WEB_PORT:?Missing DOCKER_PROD_WEB_PORT}:443"
|
|
volumes:
|
|
- ./:/zeppelin
|
|
|
|
mysql:
|
|
image: mysql:8.0
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${DOCKER_PROD_MYSQL_ROOT_PASSWORD?:Missing DOCKER_PROD_MYSQL_ROOT_PASSWORD}
|
|
MYSQL_DATABASE: zeppelin
|
|
MYSQL_USER: zeppelin
|
|
MYSQL_PASSWORD: ${DOCKER_PROD_MYSQL_PASSWORD?:Missing DOCKER_PROD_MYSQL_PASSWORD}
|
|
ports:
|
|
- ${DOCKER_PROD_MYSQL_PORT:?Missing DOCKER_PROD_MYSQL_PORT}:3306
|
|
volumes:
|
|
- ./docker/production/data/mysql:/var/lib/mysql
|
|
command: --authentication-policy=mysql_native_password
|
|
healthcheck:
|
|
test: "/usr/bin/mysql --user=root --password=\"${DOCKER_PROD_MYSQL_ROOT_PASSWORD}\" --execute \"SHOW DATABASES;\""
|
|
interval: 5s
|
|
timeout: 300s
|
|
retries: 60
|
|
|
|
prepare_backend:
|
|
build:
|
|
context: ./docker/production/node
|
|
args:
|
|
DOCKER_USER_UID: ${DOCKER_USER_UID:?Missing DOCKER_USER_UID}
|
|
DOCKER_USER_GID: ${DOCKER_USER_GID:?Missing DOCKER_USER_GID}
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
volumes:
|
|
- ./:/zeppelin
|
|
command: |-
|
|
bash -c "cd /zeppelin/backend && npm ci && npm run build && npm run migrate-prod"
|
|
|
|
api:
|
|
build:
|
|
context: ./docker/production/node
|
|
args:
|
|
DOCKER_USER_UID: ${DOCKER_USER_UID:?Missing DOCKER_USER_UID}
|
|
DOCKER_USER_GID: ${DOCKER_USER_GID:?Missing DOCKER_USER_GID}
|
|
restart: on-failure
|
|
depends_on:
|
|
prepare_backend:
|
|
condition: service_completed_successfully
|
|
volumes:
|
|
- ./:/zeppelin
|
|
environment:
|
|
DEBUG: ${DEBUG-}
|
|
working_dir: /zeppelin/backend
|
|
command: ["npm", "run", "start-api-prod"]
|
|
|
|
bot:
|
|
build:
|
|
context: ./docker/production/node
|
|
args:
|
|
DOCKER_USER_UID: ${DOCKER_USER_UID:?Missing DOCKER_USER_UID}
|
|
DOCKER_USER_GID: ${DOCKER_USER_GID:?Missing DOCKER_USER_GID}
|
|
restart: on-failure
|
|
depends_on:
|
|
prepare_backend:
|
|
condition: service_completed_successfully
|
|
volumes:
|
|
- ./:/zeppelin
|
|
environment:
|
|
DEBUG: ${DEBUG-}
|
|
command: ["/bin/bash", "/zeppelin/docker/production/start-bot.sh"]
|
|
|
|
build_dashboard:
|
|
build:
|
|
context: ./docker/production/node
|
|
args:
|
|
DOCKER_USER_UID: ${DOCKER_USER_UID:?Missing DOCKER_USER_UID}
|
|
DOCKER_USER_GID: ${DOCKER_USER_GID:?Missing DOCKER_USER_GID}
|
|
volumes:
|
|
- ./:/zeppelin
|
|
command: |-
|
|
bash -c "cd /zeppelin/dashboard && npm ci && npm run build"
|