bunkerweb/tests/core/headers/docker-compose.yml
2024-08-08 21:09:27 +01:00

84 lines
2.9 KiB
YAML

version: "3.5"
services:
bw:
image: bunkerity/bunkerweb:1.6.0-beta
pull_policy: never
labels:
- "bunkerweb.INSTANCE=yes"
volumes:
- ./www:/var/www/html
environment:
API_WHITELIST_IP: "127.0.0.0/8 10.20.30.0/24 192.168.0.3"
networks:
bw-universe:
bw-services:
ipv4_address: 192.168.0.2
bw-scheduler:
image: bunkerity/bunkerweb-scheduler:1.6.0-beta
pull_policy: never
depends_on:
- bw
environment:
BUNKERWEB_INSTANCES: "bw"
API_WHITELIST_IP: "127.0.0.0/8 10.20.30.0/24 192.168.0.3"
HTTP_PORT: "80"
HTTPS_PORT: "443"
USE_BUNKERNET: "no"
USE_BLACKLIST: "no"
SEND_ANONYMOUS_REPORT: "no"
LOG_LEVEL: "info"
GENERATE_SELF_SIGNED_SSL: "no"
REMOTE_PHP: "bw-php"
REMOTE_PHP_PATH: "/app"
CUSTOM_LOG_LEVEL: "debug"
# ? HEADERS settings
CUSTOM_HEADER: ""
REMOVE_HEADERS: "Server X-Powered-By X-AspNet-Version X-AspNetMvc-Version"
KEEP_UPSTREAM_HEADERS: "Content-Security-Policy X-Frame-Options"
STRICT_TRANSPORT_SECURITY: "max-age=31536000; includeSubDomains; preload"
COOKIE_FLAGS: "* HttpOnly SameSite=Lax"
COOKIE_AUTO_SECURE_FLAG: "yes"
CONTENT_SECURITY_POLICY: "object-src 'none'; form-action 'self'; frame-ancestors 'self';"
CONTENT_SECURITY_POLICY_REPORT_ONLY: "no"
REFERRER_POLICY: "strict-origin-when-cross-origin"
PERMISSIONS_POLICY: "accelerometer=(), ambient-light-sensor=(), attribution-reporting=(), autoplay=(), battery=(), bluetooth=(), browsing-topics=(), camera=(), compute-pressure=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), gamepad=(), geolocation=(), gyroscope=(), hid=(), identity-credentials-get=(), idle-detection=(), local-fonts=(), magnetometer=(), microphone=(), midi=(), otp-credentials=(), payment=(), picture-in-picture=(), publickey-credentials-create=(), publickey-credentials-get=(), screen-wake-lock=(), serial=(), speaker-selection=(), storage-access=(), usb=(), web-share=(), window-management=(), xr-spatial-tracking=(), interest-cohort=()"
X_FRAME_OPTIONS: "SAMEORIGIN"
X_CONTENT_TYPE_OPTIONS: "nosniff"
X_XSS_PROTECTION: "1; mode=block"
X_DNS_PREFETCH_CONTROL: "off"
CUSTOM_CONF_SERVER_HTTP_ready: |
location /ready {
default_type 'text/plain';
rewrite_by_lua_block {
ngx.print('ready')
ngx.flush(true)
ngx.exit(ngx.HTTP_OK)
}
}
networks:
- bw-universe
bw-php:
image: php:fpm-alpine3.17
volumes:
- ./www:/app
networks:
bw-services:
ipv4_address: 192.168.0.4
networks:
bw-universe:
name: bw-universe
ipam:
driver: default
config:
- subnet: 10.20.30.0/24
bw-services:
name: bw-services
ipam:
driver: default
config:
- subnet: 192.168.0.0/24