62 lines
2.0 KiB
YAML
Executable File
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
|