2025-05-29 11:23:06 +08:00
|
|
|
services:
|
|
|
|
app:
|
|
|
|
build:
|
|
|
|
context: .
|
|
|
|
dockerfile: Dockerfile
|
|
|
|
container_name: ${PROJECT_NAME}_app
|
|
|
|
volumes:
|
|
|
|
- ./data:/var/www
|
|
|
|
depends_on:
|
|
|
|
- mariadb
|
|
|
|
environment:
|
|
|
|
VIRTUAL_HOST: ${APP_DOMAIN}
|
|
|
|
LETSENCRYPT_HOST: ${APP_DOMAIN}
|
|
|
|
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL}
|
2025-05-29 12:54:50 +08:00
|
|
|
GIT_REPO_URL: ${GIT_REPO_URL}
|
2025-05-29 13:16:19 +08:00
|
|
|
APP_DOMAIN: ${APP_DOMAIN}
|
2025-05-29 12:54:50 +08:00
|
|
|
DB_DATABASE: ${DB_DATABASE}
|
|
|
|
DB_USERNAME: ${DB_USERNAME}
|
|
|
|
DB_PASSWORD: ${DB_PASSWORD}
|
|
|
|
REDIS_HOST: ${REDIS_HOST}
|
|
|
|
REDIS_PORT: ${REDIS_PORT}
|
|
|
|
QUEUE_CONNECTION: ${QUEUE_CONNECTION}
|
|
|
|
CACHE_DRIVER: ${CACHE_DRIVER}
|
|
|
|
SESSION_DRIVER: ${SESSION_DRIVER}
|
2025-05-29 11:23:06 +08:00
|
|
|
networks:
|
|
|
|
- nginx_proxy
|
|
|
|
expose:
|
|
|
|
- "80"
|
|
|
|
|
|
|
|
mariadb:
|
|
|
|
image: mariadb:10.6
|
|
|
|
container_name: ${PROJECT_NAME}_db
|
|
|
|
restart: always
|
|
|
|
environment:
|
|
|
|
MYSQL_ROOT_PASSWORD: root
|
|
|
|
MYSQL_DATABASE: ${DB_DATABASE}
|
|
|
|
MYSQL_USER: ${DB_USERNAME}
|
|
|
|
MYSQL_PASSWORD: ${DB_PASSWORD}
|
|
|
|
volumes:
|
|
|
|
- dbdata:/var/lib/mysql
|
|
|
|
ports:
|
|
|
|
- "3306:3306"
|
|
|
|
networks:
|
|
|
|
- nginx_proxy
|
|
|
|
|
|
|
|
redis:
|
|
|
|
image: redis:alpine
|
|
|
|
container_name: ${PROJECT_NAME}_redis
|
|
|
|
ports:
|
|
|
|
- "6379:6379"
|
|
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
|
|
- redisdata:/data
|
|
|
|
networks:
|
|
|
|
- nginx_proxy
|
|
|
|
|
|
|
|
redisinsight:
|
|
|
|
image: redislabs/redisinsight:latest
|
|
|
|
container_name: ${PROJECT_NAME}_redisinsight
|
|
|
|
ports:
|
|
|
|
- "8001:8001"
|
|
|
|
networks:
|
|
|
|
- nginx_proxy
|
|
|
|
depends_on:
|
|
|
|
- redis
|
|
|
|
|
|
|
|
nginx-proxy:
|
|
|
|
image: jwilder/nginx-proxy
|
|
|
|
container_name: ${PROJECT_NAME}_nginx_proxy
|
|
|
|
ports:
|
|
|
|
- "80:80"
|
|
|
|
- "443:443"
|
|
|
|
volumes:
|
|
|
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
|
|
|
- ./certs:/etc/nginx/certs
|
|
|
|
- ./vhost.d:/etc/nginx/vhost.d
|
|
|
|
- ./html:/usr/share/nginx/html
|
|
|
|
networks:
|
|
|
|
- nginx_proxy
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
dbdata:
|
|
|
|
redisdata:
|
|
|
|
|
|
|
|
networks:
|
|
|
|
nginx_proxy:
|
|
|
|
name: nginx_proxy
|