Files
LowderPlay_cheburcheck/docker-compose.yaml
T
LowderPlay 3f74894786 feat: better probing (#81)
* feat: ip probe traceroute

* feat: block bogon and rate limit

* fix: block badge

* fix: control sampling

* docs: update probing info

* feat: disable traceroute

* feat: dns spoofing

* docs: dns spoofing

* chore: bump version

* fix: default rate limit
2026-08-18 00:54:52 +05:00

59 lines
1.3 KiB
YAML

services:
nginx:
image: docker.io/nginx:1.27-alpine
depends_on:
- frontend
- website
- rmqtt
ports:
- "${HTTP_PORT:-8080}:80"
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
environment:
HOST: 0.0.0.0
PORT: 3000
NODE_ENV: production
expose:
- "3000"
website:
build:
context: .
dockerfile: website/Dockerfile
environment:
ROCKET_ADDRESS: "::"
ROCKET_PORT: 8000
DATABASE_URL: "${DATABASE_URL}"
DATABASE_CACHE_DIR: /var/cache/cheburcheck/databases
DATABASE_RETRY_INTERVAL_SECONDS: "${DATABASE_RETRY_INTERVAL_SECONDS:-300}"
MQTT_ADMIN_TOKEN: "${MQTT_ADMIN_TOKEN}"
MQTT_HOST: rmqtt
MQTT_PORT: 11883
PROBE_TRACEROUTE_ENABLED: "${PROBE_TRACEROUTE_ENABLED:-false}"
PROBE_RATE_LIMIT_RPM: "${PROBE_RATE_LIMIT_RPM:-5}"
volumes:
- database-cache:/var/cache/cheburcheck/databases
expose:
- "8000"
rmqtt:
image: docker.io/rmqtt/rmqtt:latest
depends_on:
- website
volumes:
- ./rmqtt/rmqtt.toml:/app/rmqtt/rmqtt.toml:ro
- ./rmqtt/rmqtt-plugins:/app/rmqtt/rmqtt-plugins:ro
expose:
- "8080"
- "1883"
- "11883"
- "6060"
volumes:
database-cache: