3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-03-15 05:41:51 +00:00
zeppelin/docker-compose.standalone.yml

90 lines
2.4 KiB
YAML
Raw Normal View History

version: '3'
name: zeppelin-prod
volumes:
mysql-data:
services:
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: ${STANDALONE_MYSQL_ROOT_PASSWORD?:Missing STANDALONE_MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: zeppelin
MYSQL_USER: zeppelin
MYSQL_PASSWORD: ${STANDALONE_MYSQL_PASSWORD?:Missing STANDALONE_MYSQL_PASSWORD}
ports:
- 127.0.0.1:${STANDALONE_MYSQL_PORT:?Missing STANDALONE_MYSQL_PORT}:3306
# If you're upgrading from an older version, you can load your old database by switching the volumes below.
# Then, take a database dump from the old database, switch the volumes back, and load the dump into the new database.
volumes:
- mysql-data:/var/lib/mysql
# - ./docker/production/data/mysql:/var/lib/mysql
#command: --authentication-policy=mysql_native_password
healthcheck:
test: "/usr/bin/mysql --user=root --password=\"${STANDALONE_MYSQL_ROOT_PASSWORD}\" --execute \"SHOW DATABASES;\""
interval: 5s
timeout: 300s
retries: 60
nginx:
build:
context: .
dockerfile: docker/production/nginx/Dockerfile
args:
STANDALONE_DOMAIN: ${STANDALONE_DOMAIN:?Missing STANDALONE_DOMAIN}
ports:
- "${STANDALONE_WEB_PORT:?Missing STANDALONE_WEB_PORT}:443"
migrate:
depends_on:
mysql:
condition: service_healthy
build: &build
context: .
args:
# Used at compile-time by dashboard
API_URL:
environment:
HOST_MODE: standalone
env_file:
- .env
working_dir: /zeppelin/backend
command: ["npm", "run", "migrate-prod"]
api:
depends_on:
migrate:
condition: service_completed_successfully
build: *build
restart: on-failure
environment:
HOST_MODE: standalone
env_file:
- .env
working_dir: /zeppelin/backend
command: ["npm", "run", "start-api-prod"]
bot:
depends_on:
migrate:
condition: service_completed_successfully
build: *build
restart: on-failure
environment:
HOST_MODE: standalone
env_file:
- .env
working_dir: /zeppelin/backend
command: ["npm", "run", "start-bot-prod"]
dashboard:
depends_on:
migrate:
condition: service_completed_successfully
build: *build
restart: on-failure
environment:
HOST_MODE: standalone
env_file:
- .env
working_dir: /zeppelin/dashboard
command: ["node", "serve.js"]