80 lines
1.8 KiB
YAML
80 lines
1.8 KiB
YAML
version: "3.3"
|
|
|
|
volumes:
|
|
certbot_volume:
|
|
nginx_log_volume:
|
|
mysql_data_volume:
|
|
mysql_backup_volume:
|
|
|
|
|
|
networks:
|
|
dd:
|
|
name: ${NETWORK}
|
|
ingress:
|
|
external: true
|
|
|
|
services:
|
|
db:
|
|
image: mariadb:10.3.25
|
|
restart: unless-stopped
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
|
MYSQL_USER: ${MYSQL_USER}
|
|
MYSQL_DAABASE: ${MYSQL_DATABASE}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
|
volumes:
|
|
- mysql_data_volume:/var/lib/mysql
|
|
- mysql_backup_volume:/backups
|
|
networks:
|
|
- dd
|
|
|
|
php:
|
|
image: registry.dot-dot.ru/dot-dot:${DOTDOT_TAG}
|
|
# command: "php-fpm && nginx -g 'daemon off;'"
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./configs/php/.env:/application/.env
|
|
- ./configs/php/.env.local:/application/.env.local
|
|
depends_on:
|
|
- db
|
|
networks:
|
|
- dd
|
|
|
|
static:
|
|
image: registry.dot-dot.ru/dot-dot-static:${DOTDOT_TAG}
|
|
restart: unless-stopped
|
|
networks:
|
|
- dd
|
|
|
|
nuxt:
|
|
image: registry.dot-dot.ru/front:${FRONT_TAG}
|
|
restart: unless-stopped
|
|
command: npm run start
|
|
volumes:
|
|
- ./configs/nuxt/.env:/app/.env
|
|
networks:
|
|
- dd
|
|
|
|
nginx:
|
|
image: nginx:1.25.3-alpine3.18
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./configs/nginx/conf.d:/etc/nginx/conf.d
|
|
- ./configs/nginx/nginx.conf:/etc/nginx/nginx.conf
|
|
- ./configs/nginx/www:/var/www
|
|
- ./configs/nginx/ssl:/etc/nginx/ssl
|
|
- ./configs/nginx/other:/etc/nginx/other
|
|
- certbot_volume:/etc/letsencrypt
|
|
- nginx_log_volume:/var/log/nginx
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.nginx.rule=Host(`testa.dot-dot.ru`)"
|
|
- "traefik.http.services.nginx.loadbalancer.server.port=80"
|
|
depends_on:
|
|
- nuxt
|
|
- php
|
|
- static
|
|
networks:
|
|
- dd
|
|
- ingress
|