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