version: "3.7"
services:
  server:
    image: tablee/code-push-server:v0.5.2
    volumes:
      - data-storage:/data/storage
      - data-tmp:/data/tmp
      - ./config.js:/config.js
    environment:
      DOWNLOAD_URL: "http://YOU_MACHINE_IP:3000/download"
      MYSQL_HOST: "YOU_MACHINE_IP"
      MYSQL_PORT: "3308"
      MYSQL_USERNAME: "codepush"
      MYSQL_PASSWORD: "123456"
      MYSQL_DATABASE: "codepush"
      STORAGE_DIR: "/data/storage"
      DATA_DIR: "/data/tmp"
      NODE_ENV: "production"
      CONFIG_FILE: "/config.js"
      REDIS_HOST: "YOU_MACHINE_IP"
      REDIS_PORT: "6388"
    deploy:
      resources:
        limits:
          cpus: "2"
          memory: 1000M
      restart_policy:
        condition: on-failure
    ports:
      - "3000:3000"
    networks:
      - servernet
    depends_on:
      - db
      - redis
  db:
    image: mysql:5.7.23
    volumes:
      - data-mysql:/var/lib/mysql
      - ./sql/codepush-all.sql:/docker-entrypoint-initdb.d/codepush-all.sql
    ports:
      - "3308:3306"
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: "On"
    networks:
      - dbnet
  redis:
    image: redis:4.0.11-alpine
    volumes:
      - data-redis:/data
    ports:
      - "6388:6379"
    networks:
      - redisnet
networks:
  servernet:
  dbnet:
  redisnet:
volumes:
  data-storage:
  data-tmp:
  data-mysql:
  data-redis:
