jingcai-php/docker-compose.yml

62 lines
2.0 KiB
YAML
Executable File

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