
- Use a single Dockerfile for all Zeppelin services - Add a Dockerfile in project root that can be used by app hosting services - Provide a standalone and lightweight prod setup - Standalone is the same as the old setup, with mysql+nginx - Lightweight only runs bot+backend+dash, no mysql/nginx - Remove mounted mysql data folders for dev and prod - This resolves permission issues caused by the mount - The mysql service uses a regular named volume now - Simplify .env options and clearly separate different prod setups - Remove update.sh - Different setups require different update procedures, so a common update.sh no longer works
37 lines
1.1 KiB
YAML
37 lines
1.1 KiB
YAML
version: '3'
|
|
name: zeppelin-dev
|
|
volumes:
|
|
home: {}
|
|
services:
|
|
nginx:
|
|
build:
|
|
context: ./docker/development/nginx
|
|
args:
|
|
DEVELOPMENT_WEB_PORT: ${DEVELOPMENT_WEB_PORT:?Missing DEVELOPMENT_WEB_PORT}
|
|
ports:
|
|
- "${DEVELOPMENT_WEB_PORT:?Missing DEVELOPMENT_WEB_PORT}:443"
|
|
|
|
mysql:
|
|
image: mysql:8.0
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${DEVELOPMENT_MYSQL_ROOT_PASSWORD?:Missing DEVELOPMENT_MYSQL_ROOT_PASSWORD}
|
|
MYSQL_DATABASE: zeppelin
|
|
MYSQL_USER: zeppelin
|
|
MYSQL_PASSWORD: ${DEVELOPMENT_MYSQL_PASSWORD?:Missing DEVELOPMENT_MYSQL_PASSWORD}
|
|
ports:
|
|
- ${DEVELOPMENT_MYSQL_PORT:?Missing DEVELOPMENT_MYSQL_PORT}:3306
|
|
volumes:
|
|
- ./docker/development/data/mysql:/var/lib/mysql
|
|
command: --authentication-policy=mysql_native_password
|
|
|
|
devenv:
|
|
build:
|
|
context: ./docker/development/devenv
|
|
args:
|
|
DEVELOPMENT_SSH_PASSWORD: ${DEVELOPMENT_SSH_PASSWORD:?Missing DEVELOPMENT_SSH_PASSWORD}
|
|
DEVELOPMENT_UID: ${DEVELOPMENT_UID:-1000}
|
|
ports:
|
|
- "${DEVELOPMENT_SSH_PORT:?Missing DEVELOPMENT_SSH_PORT}:22"
|
|
volumes:
|
|
- home:/home/ubuntu
|
|
- ./:/workspace/zeppelin
|