169 lines
4.7 KiB
YAML
169 lines
4.7 KiB
YAML
volumes:
|
|
letsencrypt:
|
|
nginx_log_volume:
|
|
mysql_data_volume:
|
|
mysql_backup_volume:
|
|
mltorgtrans_abinbevefes_log:
|
|
|
|
|
|
networks:
|
|
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_DATABASE: ${MYSQL_DATABASE}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
|
ports:
|
|
- ${MYSQL_PORT}:3306
|
|
volumes:
|
|
- mysql_data_volume:/var/lib/mysql
|
|
- mysql_backup_volume:/backups
|
|
networks:
|
|
ingress:
|
|
|
|
|
|
mltorgtrans:
|
|
user: 1000:1000
|
|
image: registry.dot-dot.ru/mltorgtrans:${MLTORGTRANS_TAG}
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./configs/mltorgtrans/.env:/application/.env
|
|
env_file:
|
|
- ./configs/mltorgtrans/.env
|
|
depends_on:
|
|
mltorgtrans_db_migration:
|
|
condition: service_completed_successfully
|
|
networks:
|
|
ingress:
|
|
|
|
|
|
mltorgtrans_db_migration:
|
|
image: registry.dot-dot.ru/mltorgtrans:${MLTORGTRANS_TAG}
|
|
command: /application/artisan migrate --force --no-interaction
|
|
volumes:
|
|
- ./configs/mltorgtrans/.env:/application/.env
|
|
env_file:
|
|
- ./configs/mltorgtrans/.env
|
|
networks:
|
|
ingress: {}
|
|
|
|
mltorgtrans_abinbevefes:
|
|
user: 1000:1000
|
|
image: registry.dot-dot.ru/mltorgtrans_abinbevefes:${mltorgtrans_abinbevefes}
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./configs/mltorgtrans_abinbevefes/.env:/application/.env
|
|
- mltorgtrans_abinbevefes_log:/application/storage/logs
|
|
env_file:
|
|
- ./configs/mltorgtrans_abinbevefes/.env
|
|
depends_on:
|
|
mltorgtrans_abinbevefes_db_migration:
|
|
condition: service_completed_successfully
|
|
networks:
|
|
ingress:
|
|
|
|
|
|
mltorgtrans_abinbevefes_db_migration:
|
|
image: registry.dot-dot.ru/mltorgtrans_abinbevefes:${mltorgtrans_abinbevefes}
|
|
command: /application/artisan migrate --force --no-interaction
|
|
volumes:
|
|
- ./configs/mltorgtrans_abinbevefes/.env:/application/.env
|
|
env_file:
|
|
- ./configs/mltorgtrans_abinbevefes/.env
|
|
networks:
|
|
ingress: {}
|
|
|
|
# mlatrucks:
|
|
# image: registry.dot-dot.ru/mlatrucks:${mlatrucks_tag}
|
|
# command: php artisan app:run-collector pPHx1yZOaiOsUb0zAIaoiY0B4SLOcyS8gBYaAxvI9RVSAR6u
|
|
# restart: unless-stopped
|
|
# volumes:
|
|
# - ./configs/mlatrucks/.env:/application/.env
|
|
# env_file:
|
|
# - ./configs/mlatrucks/.env
|
|
# depends_on:
|
|
# mlatrucks_db_migration:
|
|
# condition: service_completed_successfully
|
|
# networks:
|
|
# ingress:
|
|
|
|
|
|
# mlatrucks_db_migration:
|
|
# image: registry.dot-dot.ru/mlatrucks:${mlatrucks_tag}
|
|
# command: /application/artisan migrate --force --no-interaction
|
|
# volumes:
|
|
# - ./configs/mlatrucks/.env:/application/.env
|
|
# env_file:
|
|
# - ./configs/mlatrucks/.env
|
|
# networks:
|
|
# ingress: {}
|
|
|
|
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
|
|
- nginx_log_volume:/var/log/nginx
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
# depends_on:
|
|
networks:
|
|
- ingress
|
|
|
|
node-exporter:
|
|
image: prom/node-exporter:v1.7.0
|
|
container_name: node-exporter
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /proc:/host/proc:ro
|
|
- /sys:/host/sys:ro
|
|
- /:/rootfs:ro
|
|
command:
|
|
- '--path.procfs=/host/proc'
|
|
- '--path.rootfs=/rootfs'
|
|
- '--path.sysfs=/host/sys'
|
|
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.node_exporter.rule=Host(`ml.dot-dot.ru`)"
|
|
- "traefik.http.routers.node_exporter.rule=Path(`/metrics`)"
|
|
- "traefik.http.routers.node_exporter.service=node_exporter"
|
|
- "traefik.http.routers.node_exporter.entrypoints=https"
|
|
- "traefik.http.services.node_exporter.loadbalancer.server.port=9100"
|
|
networks:
|
|
- ingress
|
|
|
|
cadvisor:
|
|
image: gcr.io/cadvisor/cadvisor:v0.49.1
|
|
restart: unless-stopped
|
|
container_name: cadvisor
|
|
privileged: true
|
|
volumes:
|
|
- /:/rootfs:ro
|
|
- /var/run:/var/run:ro
|
|
- /sys:/sys:ro
|
|
- /var/lib/docker:/var/lib/docker:ro
|
|
- /dev/disk:/dev/disk:ro
|
|
devices:
|
|
- /dev/kmsg:/dev/kmsg
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.cadvisor.rule=Host(`ml.dot-dot.ru`)"
|
|
- "traefik.http.routers.cadvisor.rule=Path(`/cadvisor`)"
|
|
- "traefik.http.routers.cadvisor.service=cadvisor"
|
|
- "traefik.http.routers.cadvisor.entrypoints=https"
|
|
- "traefik.http.services.cadvisor.loadbalancer.server.port=8080"
|
|
networks:
|
|
- ingress
|