Files
Applications/ALL_Stack/vbulletin/docker-compose.yml
T
2026-03-16 18:26:47 +01:00

117 lines
3.9 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: unless-stopped
links:
- php83
- mysql
depends_on:
- mysql
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik_front_network"
# HTTP
- "traefik.http.routers.vbulletin-http.rule=Host(`www.tips-of-mine.com`)"
- "traefik.http.routers.vbulletin-http.entrypoints=http"
# HTTPS
- "traefik.http.routers.vbulletin-https.rule=Host(`www.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"
- "traefik.http.routers.vbulletin-https.middlewares=vbulletin-middlewares"
# Middleware
# - "traefik.http.middlewares.vbulletin-middlewares.headers.SSLRedirect=true"
- "traefik.http.middlewares.vbulletin-middlewares.headers.STSSeconds=15552000"
# - "traefik.http.middlewares.vbulletin-middlewares.headers.customResponseHeaders"
# - "traefik.http.middlewares.vbulletin-middlewares.headers.browserXSSFilter=true"
# - "traefik.http.middlewares.vbulletin-middlewares.headers.contentTypeNosniff=true"
- "traefik.http.middlewares.vbulletin-middlewares.headers.forceSTSHeader=true"
# - "traefik.http.middlewares.vbulletin-middlewares.headers.SSLHost=tips-of-mine.com"
- "traefik.http.middlewares.vbulletin-middlewares.headers.STSIncludeSubdomains=true"
- "traefik.http.middlewares.vbulletin-middlewares.headers.STSPreload=true"
# Service
- "traefik.http.services.vbulletin-service.loadbalancer.server.port=80"
# PHP
php83:
container_name: php83-vbulletin
hostname: php83-vbulletin
# image: php:8.2-fpm
volumes:
- ./www:/var/www/html:rw
- ./logs:/var/log/php-fpm:rw
networks:
- back_network_vbulletin
restart: unless-stopped
build:
context: './php/'
args:
PHP_VERSION: 8.3
### mysql
mysql:
container_name: mysql-vbulletin
hostname: mysql-vbulletin
image: mysql:8.0
volumes:
- ./data:/var/lib/mysql
networks:
- back_network_vbulletin
restart: unless-stopped
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
restart: unless-stopped
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-vbulletin-http.rule=Host(`phpmyadmin-vbulletin.tips-of-mine.com`)"
- "traefik.http.routers.phpmyadmin-vbulletin-http.entrypoints=http"
# HTTPS
- "traefik.http.routers.phpmyadmin-vbulletin-https.rule=Host(`phpmyadmin-vbulletin.tips-of-mine.com`)"
- "traefik.http.routers.phpmyadmin-vbulletin-https.entrypoints=https"
- "traefik.http.routers.phpmyadmin-vbulletin-https.service=phpmyadmin-vbulletin-service"
- "traefik.http.routers.phpmyadmin-vbulletin-https.tls=true"
# Middleware
# Service
- "traefik.http.services.phpmyadmin-vbulletin-service.loadbalancer.server.port=80"