bunkerweb/examples/drupal/docker-compose.yml
TheophileDiot 28b124740d
Road to 1.6.9 🚀
2026-03-13 17:36:39 +01:00

78 lines
2 KiB
YAML

services:
bunkerweb:
image: bunkerity/bunkerweb:1.6.9
container_name: bunkerweb
ports:
- "80:8080/tcp"
- "443:8443/tcp"
- "443:8443/udp" # for QUIC
environment:
API_WHITELIST_IP: "127.0.0.0/8 10.20.30.0/24"
restart: "unless-stopped"
networks:
- bw-universe
- bw-services
bw-scheduler:
image: bunkerity/bunkerweb-scheduler:1.6.9
container_name: bw-scheduler
depends_on:
- bunkerweb
volumes:
- bw-storage:/data
environment:
BUNKERWEB_INSTANCES: "bunkerweb"
SERVER_NAME: "www.example.com" # replace with your domain
API_WHITELIST_IP: "127.0.0.0/8 10.20.30.0/24"
SERVE_FILES: "no"
DISABLE_DEFAULT_SERVER: "yes"
AUTO_LETS_ENCRYPT: "yes"
USE_CLIENT_CACHE: "yes"
USE_GZIP: "yes"
USE_REVERSE_PROXY: "yes"
REVERSE_PROXY_URL: "/"
REVERSE_PROXY_HOST: "http://mydrupal"
MODSECURITY_CRS_PLUGINS: "drupal-rule-exclusions" # This is a CRS plugin specific to Drupal
# Once the installation is done, you can remove these lines
LIMIT_REQ_URL_1: "/core/install.php"
LIMIT_REQ_RATE_1: "5r/s"
restart: "unless-stopped"
networks:
- bw-universe
mydrupal:
image: drupal:10-apache
volumes:
- ./drupal-modules:/var/www/html/modules
- ./drupal-profiles:/var/www/html/profiles
- ./drupal-themes:/var/www/html/themes
- ./drupal-sites:/var/www/html/sites
networks:
- bw-services
mydb:
image: mariadb:11
volumes:
- db-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: "db-root-pwd" # replace with a stronger password
MYSQL_DATABASE: "drupaldb"
MYSQL_USER: "user"
MYSQL_PASSWORD: "db-user-pwd" # replace with a stronger password
networks:
- bw-services
volumes:
bw-storage:
db-data:
networks:
bw-universe:
name: bw-universe
ipam:
driver: default
config:
- subnet: 10.20.30.0/24
bw-services:
name: bw-services