version: '3'

services:
  cubestore:
    container_name: cubestore-router
    image: cubejs/cubestore:latest
    environment:
      - CUBESTORE_REMOTE_DIR=/cube/data
    ports:
      - 3030:3030

  cube:
    image: cubejs/cube:latest
    container_name: "cube-service"
    depends_on:
      - cubestore
    links:
      - cubestore
    ports:
      - 4000:4000
      - 15432:15432
    environment:
      - CUBEJS_DB_HOST=34.150.22.222
      - CUBEJS_DB_PORT=3306
      - CUBEJS_DB_NAME=pchub_app
      - CUBEJS_DB_USER=pchubapp
      - CUBEJS_DB_PASS=7CRJbnVis_Ls
      - CUBEJS_DB_TYPE=mysql
      - CUBEJS_API_SECRET=c0387de6905e6d124c2d2d6410b7627b
      - CUBEJS_EXTERNAL_DEFAULT=true
      - CUBEJS_SCHEDULED_REFRESH_DEFAULT=true
      - CUBEJS_DEV_MODE=false
      - CUBEJS_SCHEMA_PATH=model
      - CUBEJS_CUBESTORE_HOST=cubestore-router
      - CUBEJS_CUBESTORE_PORT=3030
    volumes:
      - ./cube:/cube/conf

  pchub_apiserver:
    container_name: "pchub-apiserver"
    image: "asia-east2-docker.pkg.dev/gcp-digital-infra/internal-tools/pchub-apiserver-linux-amd64:${SERVER_VERSION}"
    privileged: true
    restart: always
    depends_on:
      - redis
      - cube
    ports:
      - "8867:8867"
    volumes:
      - ./conf:/usr/local/pchub/conf
      - ./log:/var/log/pchub
    environment:
      PCHUB_APISERVER_REDIS_HOST: redis
      PCHUB_APISERVER_REDIS_PORT: 6379
    platform: linux/amd64

  web_nginx:
    container_name: "web-nginx"
    image: "asia-east2-docker.pkg.dev/gcp-digital-infra/internal-tools/web-nginx:${WEB_VERSION}"
    restart: always
    depends_on:
      - redis
      - cube
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./conf:/etc/pchub-ssl
    platform: linux/amd64

  redis:
    container_name: "pchub-redis"
    image: redis:latest
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
    logging:
      driver: none
    ports:
      - "6479:6379"
    restart: always
