version: "3.8" networks: default: driver: bridge ipam: config: - subnet: 172.172.0.0/24 services: #container management portainer: image: portainer/portainer:1.24.1 restart: always ports: - 9002:9000 volumes: - /var/run/docker.sock:/var/run/docker.sock - ./docker/data/portainer:/data networks: default: ipv4_address: 172.172.0.101 #web site website: image: nginx:1.18.0 restart: always environment: TZ: "Asia/Shanghai" ports: - 80:80 - 443:443 volumes: - ./docker/conf/website/nginx.conf:/etc/nginx/nginx.conf - ./docker/conf/website/edusoa.pem:/etc/nginx/edusoa.pem - ./docker/conf/website/edusoa.key:/etc/nginx/edusoa.key - ./docker/log/website:/var/log/nginx - ./apps/WebMVC/wwwroot:/root/nginx/html/desktop - ./apps/WebSPA/wwwroot:/root/nginx/html/mobile networks: default: ipv4_address: 172.172.0.10 #gateway gateway: image: nginx:1.18.0 restart: always environment: TZ: "Asia/Shanghai" ports: - 8000:80 volumes: - ./docker/conf/gateway/nginx.conf:/etc/nginx/nginx.conf - ./docker/log/gateway:/var/log/nginx networks: default: ipv4_address: 172.172.0.12 #file server minio: image: minio/minio:RELEASE.2020-08-08T04-50-06Z restart: always environment: MINIO_ACCESS_KEY: "admin" MINIO_SECRET_KEY: "12345678" command: server /data ports: - 9000:9000 volumes: - ./docker/data/minio:/data networks: default: ipv4_address: 172.172.0.20 #database server mysql: image: mysql:8.0.21 restart: always environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=jobserver command: --default-authentication-plugin=mysql_native_password ports: - 3306:3306 volumes: - ./docker/conf/mysql/my.cnf:/etc/my.cnf - ./docker/data/mysql:/var/lib/mysql healthcheck: test: mysqladmin ping -h localhost -u $$MYSQL_USER --password=$$MYSQL_PASSWORD timeout: 10s retries: 30 networks: default: ipv4_address: 172.172.0.30 #mysql web manager phpmyadmin: image: phpmyadmin/phpmyadmin:latest restart: always environment: - PMA_HOST=mysql - PMA_PORT=3306 ports: - 9003:80 networks: default: ipv4_address: 172.172.0.102 influxdb: image: influxdb:1.8.1 restart: always environment: TZ: "Asia/Shanghai" INFLUXDB_ADMIN_ENABLED: "true" INFLUXDB_ADMIN_USER: admin INFLUXDB_ADMIN_PASSWORD: admin ports: - 8086:8086 - 8088:8088 volumes: - ./docker/data/influxdb:/var/lib/influxdb - ./backup:/backup networks: default: ipv4_address: 172.172.0.50 #use old version influxdb web manager influxdb-web: image: influxdb:1.2.4 restart: always environment: TZ: "Asia/Shanghai" INFLUXDB_ADMIN_ENABLED: "true" INFLUXDB_ADMIN_USER: admin INFLUXDB_ADMIN_PASSWORD: admin ports: - 8083:8083 networks: default: ipv4_address: 172.172.0.104 #cache server redis: image: redis:6.0.6 restart: always ports: - 6379:6379 volumes: - ./docker/data/redis:/data - ./docker/conf/redis/redis.conf:/usr/local/etc/redis/redis.conf networks: default: ipv4_address: 172.172.0.40 #redis web manager phpredisadmin: image: erikdubbelboer/phpredisadmin restart: always environment: - REDIS_1_HOST=redis - REDIS_1_PORT=6379 - ADMIN_USER=admin - ADMIN_PASS=123456 ports: - 9004:80 networks: default: ipv4_address: 172.172.0.103 #streaming server srs: image: ubuntu environment: TZ: "Asia/Shanghai" restart: always ports: - 1935:1935 - 8080:8080 - 1985:1985 working_dir: /usr/local/srs command: bash -c "chmod +x ./objs/srs && ./objs/srs -c ./conf/srs.conf" volumes: - ./apps/srs:/usr/local/srs networks: default: ipv4_address: 172.172.0.60