version: '3' services: php: image: quickfly/phpfly:8.0.28-fpm-2 restart: always networks: - internal - web volumes: - .:/var/www/html - ./deploy/supervisor:/etc/supervisor/conf.d #- ./deploy/cron:/var/spool/cron/crontabs/root - ./deploy/crontab:/etc/crontab - /data/www:/data/www - /usr/bin/docker:/usr/bin/docker - /var/run/docker.sock:/var/run/docker.sock - /usr/bin/docker-zsign/fastlane:/usr/bin/fastlane - /usr/bin/docker-zsign/zsign:/usr/bin/zsign - /usr/bin/docker-zsign/ruby:/usr/bin/ruby environment: - APP_ENV=$APP_ENV - LANG=en_US.UTF-8 redis: image: "redis:alpine" restart: always networks: - internal nginx: image: nginx:1.22.0 restart: always networks: - web - internal expose: - 80 depends_on: - "php" environment: - NGINX_HOST=$NGINX_HOST - NGINX_PORT=80 # virtual_* for nginx-proxy - VIRTUAL_HOST=$NGINX_HOST - VIRTUAL_PORT=80 volumes: - ./deploy/nginx/templates:/etc/nginx/templates - .:/var/www/html labels: - "traefik.enable=true" - "traefik.docker.network=web" - "traefik.http.routers.https-jingcai-app-php-${ENV_NAME}.tls=true" - "traefik.http.routers.https-jingcai-app-php-${ENV_NAME}.tls.certresolver=myresolver" - "traefik.http.routers.https-jingcai-app-php-${ENV_NAME}.rule=Host(`$API_DOMAIN`) || Host(`$ADMIN_DOMAIN`) || Host(`$FILE_DOMAIN`)" - "traefik.http.routers.http-jingcai-app-php-${ENV_NAME}.rule=Host(`$API_DOMAIN`) || Host(`$ADMIN_DOMAIN`) || Host(`$FILE_DOMAIN`)" - "traefik.http.routers.http-jingcai-app-php-${ENV_NAME}.service=jingcai-app-php-${ENV_NAME}" - "traefik.http.routers.https-jingcai-app-php-${ENV_NAME}.service=jingcai-app-php-${ENV_NAME}" - "traefik.http.services.jingcai-app-php-${ENV_NAME}.loadbalancer.server.port=80" networks: internal: external: false web: external: true