nginx_php8_mysql/docker-compose.yml
Hubert Cornet c8e37eb0f4
Some checks failed
Deployment Verification / deploy-and-test (push) Has been cancelled
Actualiser docker-compose.yml
2024-11-19 19:21:06 +01:00

133 lines
3.6 KiB
YAML

#### NETWORKS
networks:
traefik_front_network:
external: true
back_network_vbulletin:
driver: bridge
attachable: true
#### SERVICES
services:
# 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.vbulletin-http.rule=Host(`vbulletin.tips-of-mine.com`)"
- "traefik.http.routers.vbulletin-http.entrypoints=http"
# HTTPS
- "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.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