#### 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"