Skip to main content
Get Anubis protecting your web application in minutes using Docker. This guide walks you through a basic deployment with bot blocking and challenge verification.

Prerequisites

  • Docker installed
  • A web application to protect (or use the example below)

Quick Start

1

Create a policy file

Create policy.yaml to define which bots to block:
policy.yaml
2

Run Anubis with Docker

Start Anubis as a reverse proxy in front of your application:
Configuration explained:
  • BIND: Network address to listen on (default: :8923)
  • TARGET: Your application’s URL to protect
  • DIFFICULTY: Challenge difficulty level (1-10, default: 4)
  • POLICY_FNAME: Path to policy configuration file
  • Port 8923: Main HTTP service
  • Port 9090: Metrics and health checks
3

Verify health status

Check that Anubis is running correctly:
Expected response:
4

Test bot blocking

Test that bot requests are blocked:

Docker Compose Example

For production deployments, use Docker Compose:
docker-compose.yml
Start the stack:

Common Configuration Options

Key environment variables from cmd/anubis/main.go:

Production Policy Example

For production use, import curated bot policies:
policy.yaml

Next Steps

Configuration Reference

Explore all configuration options

Policy Configuration

Learn about bot detection rules

Docker Deployment

Production Docker setup

Integration Guides

Integrate with reverse proxies

Troubleshooting

Health check fails

Ensure both ports are exposed and Anubis has started:

Policy file not loading

Verify the volume mount and file permissions:

Backend connection errors

Check that TARGET points to a reachable URL from within the container: