From c8e37eb0f4f1fe2439b1333e3da9f54652e8884b Mon Sep 17 00:00:00 2001 From: Hubert Cornet Date: Tue, 19 Nov 2024 19:21:06 +0100 Subject: [PATCH] Actualiser docker-compose.yml --- docker-compose.yml | 140 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 115 insertions(+), 25 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 4054566..6fb5c43 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,41 +2,131 @@ networks: traefik_front_network: external: true - back_network_: + back_network_vbulletin: driver: bridge attachable: true #### SERVICES services: -### hello_world - hello_world: - container_name: gitea-app - hostname: gitea-app - image: hello-world - environment: - restart: always - networks: -# - back_network_gitea - - traefik_front_network +# NGINX + nginx: + container_name: nginx-vbulletin + hostname: nginx-vbulletin + image: nginx:1-alpine volumes: + - ./www:/var/www/html + - ./nginx/nginx.conf:/etc/nginx/nginx.conf:rw + - ./nginx/conf.d/:/etc/nginx/conf.d:rw + - ./logs:/var/log/nginx:rw + networks: + - traefik_front_network + - back_network_vbulletin + restart: always + links: + - php83 + - mysql + depends_on: + - mysql labels: - "traefik.enable=true" - "traefik.docker.network=traefik_front_network" # HTTP - - "traefik.http.routers.hello-world-http.rule=Host(`hello-world.tips-of-mine.com`)" - - "traefik.http.routers.hello-world-http.entrypoints=http" - - "traefik.http.routers.hello-world-http.priority=49" + - "traefik.http.routers.vbulletin-http.rule=Host(`vbulletin.tips-of-mine.com`)" + - "traefik.http.routers.vbulletin-http.entrypoints=http" # HTTPS - - "traefik.http.routers.hello-world-https.rule=Host(`hello-world.tips-of-mine.com`)" - - "traefik.http.routers.hello-world-https.entrypoints=https" - - "traefik.http.routers.hello-world-https.tls=true" - - "traefik.http.routers.hello-world-https.priority=50" - - "traefik.http.routers.gitea.service=gitea-https-service" + - "traefik.http.routers.vbulletin-https.rule=Host(`vbulletin.tips-of-mine.com`)" + - "traefik.http.routers.vbulletin-https.entrypoints=https" + - "traefik.http.routers.vbulletin-https.service=vbulletin-service" + - "traefik.http.routers.vbulletin-https.tls=true" # Middleware # Service -# - "traefik.http.services.gitea-https-service.loadbalancer.server.port=3000" -# - "traefik.http.services.gitea-https-service.loadbalancer.server.scheme=https" -# - "traefik.http.services.gitea-https-service.loadbalancer.healthcheck.hostname=gitea.traefik.me" -# - "traefik.http.services.gitea-https-service.loadbalancer.healthcheck.method=foobar" -# - "traefik.http.services.gitea-https-service.loadbalancer.healthcheck.timeout=10" -# - "traefik.http.services.gitea-https-service.loadbalancer.healthcheck.interval=30" + - "traefik.http.services.vbulletin-service.loadbalancer.server.port=80" + +# PHP + php83: + container_name: php83-vbulletin + hostname: php83-vbulletin +# image: php:8.3-fpm + volumes: + - ./www:/var/www/html:rw + - ./logs:/var/log/php-fpm:rw + networks: + - back_network_vbulletin + build: + context: './php/' + args: + PHP_VERSION: 8.3 + +### mysql + mysql: + container_name: mysql-vbulletin + hostname: mysql-vbulletin + image: mysql:8.0 + restart: always + volumes: + - ./data:/var/lib/mysql + networks: + - back_network_vbulletin + environment: + MYSQL_ROOT_PASSWORD: root_password + MYSQL_DATABASE: vbulletin + MYSQL_USER: your_user + MYSQL_PASSWORD: your_password + +### phpMyAdmin service + phpmyadmin: + container_name: phpmyadmin-vbulletin + hostname: phpmyadmin-vbulletin + image: phpmyadmin/phpmyadmin:latest + networks: + - traefik_front_network + - back_network_vbulletin + environment: + PMA_HOST: mysql + PMA_ARBITRARY: 1 + MYSQL_ROOT_PASSWORD: root_password + UPLOAD_LIMIT: 50M + depends_on: + - mysql + labels: + - "traefik.enable=true" + - "traefik.docker.network=interne" +# HTTP + - "traefik.http.routers.phpmyadmin-http.rule=Host(`phpmyadmin.tips-of-mine.com`)" + - "traefik.http.routers.phpmyadmin-http.entrypoints=http" +# HTTPS + - "traefik.http.routers.phpmyadmin-https.rule=Host(`phpmyadmin.tips-of-mine.com`)" + - "traefik.http.routers.phpmyadmin-https.entrypoints=https" + - "traefik.http.routers.phpmyadmin-https.service=phpmyadmin-service" + - "traefik.http.routers.phpmyadmin-https.tls=true" +# Middleware +# Service + - "traefik.http.services.phpmyadmin-service.loadbalancer.server.port=80" + +### msmtpd + msmtpd: + container_name: msmtpd-vbulletin + hostname: msmtpd-vbulletin + image: crazymax/msmtpd:latest + networks: + - back_network_vbulletin + environment: + - "TZ=Europe/Paris" + - "PUID=1500" + - "PGID=1500" + - "SMTP_HOST=10.0.4.52" + - "SMTP_PORT=587" + - "SMTP_TLS=on" + - "SMTP_STARTTLS=on" + - "SMTP_TLS_CHECKCERT=off" + - "SMTP_AUTH=on" + - "SMTP_USER=hostinfo@tips-of-mine.fr" + - "SMTP_PASSWORD=P@ssw0rd!12345" + - "SMTP_DOMAIN=localhost" + - "SMTP_FROM=hostinfo@tips-of-mine.fr" + restart: always + healthcheck: + test: ["CMD-SHELL", "echo EHLO localhost"] + interval: 5s + timeout: 5s + retries: 5