Loading documentation...
The document will appear here shortly.
The document will appear here shortly.
Docker Compose can run BotStopper alongside a backend and a reverse proxy, such as Apache or Nginx.
This example listens on host port 8080 and forwards accepted requests to an Nginx static website. The website files are in ./www.
The BotStopper image requires GitHub Container Registry credentials with permission to pull the package. Authenticate before you start Compose:
docker login ghcr.io -u your-username --password-stdinSupply your access token on standard input. Refer to installation for registry authentication details.
Create botPolicy.yaml with your policy definitions. Create compose.yml:
services:
anubis:
image: ghcr.io/techarohq/botstopper/anubis:latest
environment:
BIND: ":8080"
DIFFICULTY: "4"
METRICS_BIND: ":9090"
SERVE_ROBOTS_TXT: "true"
TARGET: "http://nginx"
POLICY_FNAME: "/etc/techaro-botstopper/botPolicy.yaml"
OG_PASSTHROUGH: "true"
OG_EXPIRY_TIME: "24h"
healthcheck:
test: ["CMD", "anubis", "--healthcheck"]
interval: 5s
timeout: 30s
retries: 5
start_period: 500ms
ports:
- 8080:8080
volumes:
- "./botPolicy.yaml:/etc/techaro-botstopper/botPolicy.yaml:ro"
nginx:
image: nginx
volumes:
- "./www:/usr/share/nginx/html"The healthcheck runs the container's anubis executable with --healthcheck. Native packages use /usr/bin/botstopper.
docker compose pull
docker compose up -dConfigure your reverse proxy to send requests to port 8080. It must supply the real client address to BotStopper. Refer to client IP headers.
The proxy provides HTTPS for browser challenges. Use the Caddy guide for a complete TLS example.
Next, read configuration.