version: '3' services: # system-level services #-------------------------------- nginx: image: iotcat/ushio-nginx container_name: nginx restart: always ports: - "80:80" - "443:443" volumes: - "/mnt/etc/cn2.yimian.xyz/nginx/:/etc/nginx/" - "/mnt/:/mnt/" - "/var/log/nginx/:/var/log/nginx/" - "/home/www/:/home/www/" #network_mode: "host" depends_on: - oneindex - php-fpm - frps - session - acg.watch-api networks: - default - php_net - frp_net dns: image: strm/dnsmasq restart: always volumes: - /mnt/config/dnsmasq/dnsmasq.conf:/etc/dnsmasq.conf - /mnt/config/dnsmasq/dnsmasq.d/:/etc/dnsmasq.d/ - /mnt/config/dnsmasq/hosts.conf:/etc/hosts.conf ports: - "53:53/udp" - "53:53/tcp" cap_add: - NET_ADMIN networks: - dns_net # Database #---------------------------------- redis: image: redis container_name: redis restart: always volumes: - "/tmp/redis/data/:/data/" networks: - redis_net mongo: image: mongo container_name: mongo restart: always volumes: - "/var/mongo:/data/db" networks: - mongo_net # app-level services # -------------------------------------- php-fpm: container_name: php-fpm image: crunchgeek/php-fpm:7.3 restart: always volumes: - "/home/:/home/" - "/mnt/:/mnt/" networks: - php_net frps: image: snowdreamtech/frps container_name: frps restart: always volumes: - "/mnt/config/frp/frps.ini:/etc/frp/frps.ini" ports: - "4480:4480" - "4443:4443" - "4477:4477" - "4400-4440:4400-4440" networks: - frp_net emqx: image: emqx/emqx container_name: emqx restart: always ports: - "1883:1883" - "8083:8083" - "8883:8883" - "8084:8084" - "18083:18083" networks: - mqtt_net monitor: #build: https://github.com/iotcat/ushio-monitor.git image: iotcat/ushio-monitor container_name: monitor restart: always command: USER=cn2.yimian.xyz network_mode: "host" # common apps # ------------------------------------- oneindex: image: iotcat/oneindex container_name: oneindex restart: always volumes: - "/mnt/config/oneindex/:/var/www/html/config/" healthcheck: test: /bin/bash /healthcheck.sh interval: 1m timeout: 10s retries: 3 session: #build: https://github.com/iotcat/ushio-session.git image: iotcat/ushio-session container_name: session restart: always networks: - default - redis_net volumes: - "/mnt/config/dbKeys/auth.js:/mnt/config/dbKeys/auth.js" acg.watch-api: #build: https://github.com/iotcat/acg.watch-api.git image: iotcat/acg.watch-api container_name: acg.watch-api restart: always volumes: - "/mnt/cache/video/:/mnt/cache/video/" # local apps # --------------------------------------- # networks setting # ------------------------------------ networks: default: dns_net: redis_net: mongo_net: php_net: frp_net: mqtt_net: