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

203 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"
LOG_TYPES: "stderr syslog"
LOG_SYSLOG_ADDRESS: "udp://bw-syslog:514"
services:
bunkerweb:
build:
context: ../..
dockerfile: ./src/bw/Dockerfile
args:
SKIP_MINIFY: "yes"
ports:
- 80:8080/tcp
- 443:8443/tcp
- 443:8443/udp
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
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
bw-scheduler:
build:
context: ../..
dockerfile: ./src/scheduler/Dockerfile
depends_on:
- bunkerweb
volumes:
- bw-storage:/data
environment:
<<: *env
BUNKERWEB_INSTANCES: ""
SERVER_NAME: ""
MULTISITE: "yes"
API_WHITELIST_IP: "127.0.0.0/24 10.20.30.0/24"
ACCESS_LOG_1: "syslog:server=bw-syslog:514,tag=bunkerweb_access"
ERROR_LOG_1: "syslog:server=bw-syslog:514,tag=bunkerweb"
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"
SESSIONS_CHECK_IP: "no"
restart: "unless-stopped"
networks:
bw-universe:
aliases:
- bw-scheduler
bw-db:
aliases:
- bw-scheduler
bw-ui:
build:
context: ../..
dockerfile: ./src/ui/Dockerfile
args:
SKIP_MINIFY: "yes"
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"
CHECK_PRIVATE_IP: "no"
FLASK_SECRET: "secret"
DEBUG: "1"
MAX_WORKERS: "1"
MAX_THREADS: "4"
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.GENERATE_SELF_SIGNED_SSL=yes"
- "bunkerweb.USE_REVERSE_PROXY=yes"
- "bunkerweb.REVERSE_PROXY_URL=/admin"
- "bunkerweb.REVERSE_PROXY_HOST=http://bw-ui:7000"
bw-db:
image: mariadb:11
command: --max-allowed-packet=67108864
environment:
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
MYSQL_DATABASE: "db"
MYSQL_USER: "bunkerweb"
MYSQL_PASSWORD: "secret"
volumes:
- bw-data:/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.10.2
cap_add:
- NET_BIND_SERVICE # Bind to low ports
- NET_BROADCAST # Send broadcasts
- NET_RAW # Use raw sockets
- DAC_READ_SEARCH # Read files bypassing permissions
- DAC_OVERRIDE # Override file permissions
- CHOWN # Change ownership
- SYSLOG # Write to system logs
volumes:
- bw-logs:/var/log/bunkerweb
- ./syslog-ng.conf:/etc/syslog-ng/syslog-ng.conf
networks:
bw-universe:
aliases:
- bw-syslog
app1:
image: bunkerity/bunkerweb-hello:v1.0
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-storage:
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