version: '3'
name: zeppelin-dev
volumes:
  home: {}
  mysql-data: {}
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
    # 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

  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