77 lines
1.5 KiB
YAML
77 lines
1.5 KiB
YAML
|
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}
|
||
|
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
|