117 lines
3.9 KiB
YAML
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"
|