bunkerweb/examples/mongo-express/docker-compose.yml
2025-07-01 23:54:20 +02:00

79 lines
2.2 KiB
YAML

services:
bunkerweb:
image: bunkerity/bunkerweb:1.6.2
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.2
container_name: bw-scheduler
depends_on:
- bunkerweb
volumes:
- bw-data:/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://mongo-ui:8081"
CUSTOM_CONF_MODSEC_mongo-express: |
SecRule REQUEST_FILENAME "@rx ^/db" "id:1,ctl:ruleRemoveByTag=attack-generic,ctl:ruleRemoveByTag=attack-protocol,nolog"
restart: "unless-stopped"
networks:
- bw-universe
mongo:
image: mongo:7
volumes:
- db-data:/data/db
environment:
- MONGO_INITDB_ROOT_USERNAME=root # replace with a less obvious username
- MONGO_INITDB_ROOT_PASSWORD=toor # replace with a better password
- MONGO_INITDB_DATABASE=mongo # replace with the database name of your choice
networks:
- bw-services
mongo-ui:
image: mongo-express:1-20-alpine3.19
environment:
- ME_CONFIG_MONGODB_SERVER=mongo
- ME_CONFIG_MONGODB_ADMINUSERNAME=root # replace with a less obvious username
- ME_CONFIG_MONGODB_ADMINPASSWORD=toor # replace with a better password
- ME_CONFIG_BASICAUTH_USERNAME=changeme # replace with a better username
- ME_CONFIG_BASICAUTH_PASSWORD=changeme # replace with a better password
restart: unless-stopped
depends_on:
- mongo
networks:
- bw-services
volumes:
bw-data:
db-data:
networks:
bw-universe:
name: bw-universe
ipam:
driver: default
config:
- subnet: 10.20.30.0/24
bw-services:
name: bw-services