Downloading Anubis
Download the appropriate package for your system from the latest GitHub release.Installation Methods
- Debian/Ubuntu (apt)
- Red Hat/Fedora/CentOS (rpm)
- Tarball (Generic Linux)
- Distribution Package Manager
1
Install the package
- Binary at
/usr/bin/anubis - Systemd service template at
/etc/systemd/system/anubis@.service - Default configuration at
/etc/anubis/default.env - Example policy file at
/usr/share/doc/anubis/botPolicies.yaml
2
Create instance configuration
Copy the default configuration for your service (e.g., for Gitea):
3
Copy the policy file
4
Configure the instance
Edit
/etc/anubis/gitea.env with your settings:5
Enable and start the service
6
Verify it's running
Systemd Service Configuration
Service Template
Anubis uses a systemd service template (anubis@.service) that allows running multiple instances. The instance name (e.g., gitea) determines which configuration file to load:
- Service:
anubis@gitea.service - Config file:
/etc/anubis/gitea.env
Managing Services
Configuration Files
Environment File Format
Configuration files in/etc/anubis/ use environment variable syntax:
Policy Files
Bot policy files use YAML format:Running Multiple Instances
Protect multiple services by creating separate configuration files:Health Checks
HTTP Health Endpoint
Check if Anubis is running:OK when Anubis is serving traffic.
Built-in Health Check
Use the--healthcheck flag:
Signing Keys
Generate an ED25519 private key:Reverse Proxy Integration
After installing Anubis, configure your reverse proxy to route traffic through it:Nginx
Configure Nginx reverse proxy
Apache
Configure Apache reverse proxy
Caddy
Configure Caddy reverse proxy
HAProxy
Configure HAProxy
Traefik
Configure Traefik
Kubernetes
Deploy on Kubernetes
Troubleshooting
Service won’t start
Check the logs:- Port already in use (check
BINDandMETRICS_BIND) - Invalid policy file path or syntax
- Missing signing key with persistent storage
Permission denied errors
Ensure configuration files are readable:Can’t reach target service
Verify theTARGET URL is correct and the service is running:
Next Steps
Configuration
Explore all configuration options
Bot Policies
Configure bot detection rules