bunkerweb/misc/dev/docker-compose.autoconf.ui.misc.yml

205 lines
4.7 KiB
YAML

x-env: &env
DATABASE_URI: "mariadb+pymysql://bunkerweb:secret@bw-db:3306/db"
DOCKER_HOST: "tcp://bw-docker:2375"
AUTOCONF_MODE: "yes"
LOG_LEVEL: "info"
CUSTOM_LOG_LEVEL: "debug"
services:
bunkerweb:
build:
context: ../..
dockerfile: ./src/bw/Dockerfile
ports:
- 80:8080/tcp
- 443:8443/tcp
- 443:8443/udp
labels:
- "bunkerweb.INSTANCE=yes"
environment:
- API_WHITELIST_IP=127.0.0.0/24 10.20.30.0/24
restart: "unless-stopped"
networks:
bw-universe:
aliases:
- bunkerweb
bw-services:
aliases:
- bunkerweb
logging:
driver: syslog
options:
tag: "bunkerweb"
syslog-address: "udp://10.20.30.254:514"
bw-autoconf:
build:
context: ../..
dockerfile: ./src/autoconf/Dockerfile
depends_on:
- bunkerweb
- bw-docker
environment:
<<: *env
restart: "unless-stopped"
networks:
bw-universe:
aliases:
- bw-autoconf
bw-db:
aliases:
- bw-autoconf
bw-docker:
aliases:
- bw-autoconf
logging:
driver: syslog
options:
tag: "bw-autoconf"
syslog-address: "udp://10.20.30.254:514"
bw-scheduler:
build:
context: ../..
dockerfile: ./src/scheduler/Dockerfile
depends_on:
- bunkerweb
volumes:
- bw-data:/data
- ./configs/server-http/hello.conf:/data/configs/server-http/hello.conf:ro
environment:
<<: *env
BUNKERWEB_INSTANCES: ""
SERVER_NAME: ""
MULTISITE: "yes"
API_WHITELIST_IP: "127.0.0.0/24 10.20.30.0/24"
USE_BUNKERNET: "no"
USE_BLACKLIST: "no"
USE_WHITELIST: "no"
SEND_ANONYMOUS_REPORT: "no"
LOG_LEVEL: "info"
SERVE_FILES: "no"
DISABLE_DEFAULT_SERVER: "yes"
USE_CLIENT_CACHE: "yes"
USE_GZIP: "yes"
EXTERNAL_PLUGIN_URLS: "https://github.com/bunkerity/bunkerweb-plugins/archive/refs/heads/dev.zip"
CUSTOM_CONF_MODSEC_CRS_reqbody-suppress: "SecRuleRemoveById 200002"
restart: "unless-stopped"
networks:
bw-universe:
aliases:
- bw-scheduler
bw-db:
aliases:
- bw-scheduler
logging:
driver: syslog
options:
tag: "bw-scheduler"
syslog-address: "udp://10.20.30.254:514"
bw-ui:
build:
context: ../..
dockerfile: ./src/ui/Dockerfile
ports:
- 7000:7000
volumes:
- bw-logs:/var/log/bunkerweb
- ../../src/ui/app:/usr/share/bunkerweb/ui/app:ro
- ../../src/ui/utils:/usr/share/bunkerweb/ui/utils:ro
- ../../src/ui/main.py:/usr/share/bunkerweb/ui/main.py:ro
environment:
<<: *env
ADMIN_USERNAME: "admin"
ADMIN_PASSWORD: "P@ssw0rd"
DEBUG: "1"
restart: "unless-stopped"
networks:
bw-universe:
aliases:
- bw-ui
bw-db:
aliases:
- bw-ui
labels:
- "bunkerweb.SERVER_NAME=www.example.com"
- "bunkerweb.USE_TEMPLATE=ui"
- "bunkerweb.USE_REVERSE_PROXY=yes"
- "bunkerweb.REVERSE_PROXY_URL=/admin"
- "bunkerweb.REVERSE_PROXY_HOST=http://bw-ui:7000"
- bunkerweb.CUSTOM_CONF_MODSEC_CRS_ip-host=SecRuleRemoveById 920350
logging:
driver: syslog
options:
tag: "bw-ui"
syslog-address: "udp://10.20.30.254:514"
bw-db:
image: mariadb:11
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=yes
- MYSQL_DATABASE=db
- MYSQL_USER=bunkerweb
- MYSQL_PASSWORD=secret
volumes:
- bw-db:/var/lib/mysql
restart: "unless-stopped"
networks:
bw-db:
aliases:
- bw-db
bw-docker:
image: tecnativa/docker-socket-proxy:nightly
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- CONTAINERS=1
- LOG_LEVEL=warning
restart: "unless-stopped"
networks:
bw-docker:
aliases:
- bw-docker
bw-syslog:
image: balabit/syslog-ng:4.7.1
volumes:
- bw-logs:/var/log/bunkerweb
- ./syslog-ng.conf:/etc/syslog-ng/syslog-ng.conf
networks:
bw-universe:
ipv4_address: 10.20.30.254
app1:
image: nginxdemos/nginx-hello
restart: "unless-stopped"
networks:
bw-services:
aliases:
- app1
labels:
- "bunkerweb.SERVER_NAME=app1.example.com"
- "bunkerweb.USE_REVERSE_PROXY=yes"
- "bunkerweb.REVERSE_PROXY_URL=/"
- "bunkerweb.REVERSE_PROXY_HOST=http://app1:8080"
volumes:
bw-data:
bw-db:
bw-logs:
networks:
bw-universe:
name: bw-universe
ipam:
driver: default
config:
- subnet: 10.20.30.0/24
bw-services:
name: bw-services
bw-db:
name: bw-db
bw-docker:
name: bw-docker