FAQ
General Questions
Why would I use Mantrae instead of Traefik's built-in configuration discovery?
Traefik's automatic discovery works great for Docker Swarm and Kubernetes, but many users run Traefik in simpler setups where these features aren't available. Mantrae fills this gap by:
- Providing a visual interface for managing Traefik's file provider configuration
- Supporting multi-host Docker setups without requiring Swarm or Kubernetes
- Offering centralized management of multiple Traefik instances
- Automatically managing DNS records alongside routing configuration
- Enabling team collaboration with user management and audit logs
Is Mantrae a replacement for Traefik's dashboard?
No. Mantrae is a configuration manager, not a monitoring dashboard. It generates the dynamic configuration that Traefik consumes via its HTTP provider. Traefik's dashboard shows real-time routing status and metrics, while Mantrae helps you create and manage those routes.
Can I use Mantrae alongside Traefik's other providers (Docker, Kubernetes, etc.)?
Yes! Mantrae uses Traefik's HTTP provider, which works alongside other providers. You can have Traefik auto-discover some services while managing others through Mantrae. Just be careful to avoid naming conflicts between configurations.
What happens if Mantrae goes down?
Traefik caches the configuration it receives from Mantrae. If Mantrae becomes unavailable:
- Existing routes continue to work with the last cached configuration
- You cannot make configuration changes until Mantrae is back online
- DNS updates (if configured) won't happen until Mantrae recovers
Profiles
What are profiles and when should I use them?
Profiles are isolated configuration environments within Mantrae. Each profile has its own:
- Routers, services, and middleware
- DNS provider settings
- Agent connections
- API token for Traefik
Common use cases:
- Separate configurations for development, staging, and production
- Different Traefik instances for different teams or projects
- Isolating configurations by customer in managed hosting scenarios
Agents
What do agents do and when do I need them?
Agents watch Docker containers on remote hosts and automatically create Mantrae configurations based on container labels. Use agents when:
- Your Docker hosts can't be reached directly by Mantrae (behind NAT/firewall)
- You want automatic discovery similar to Traefik's Docker provider
- Managing multiple Docker hosts from a single Mantrae instance
- You prefer labeling containers over manual configuration
If you're managing static configurations or non-Docker services, you don't need agents.
How do agents communicate with Mantrae?
Agents establish outbound connections to the Mantrae server using gRPC. This means:
- Agents work behind firewalls and NAT (only outbound access needed)
- No ports need to be opened on the agent's host
- Communication can be secured with HTTPS/TLS
- Mantrae server must be reachable from agent hosts
What happens when an agent disconnects?
- The agent continues monitoring containers locally
- When reconnected, it syncs any changes that occurred offline
- Existing Traefik configurations remain active
- Mantrae shows the agent as offline in the interface
DNS Integration
Which DNS providers are supported?
Currently supported:
- Cloudflare
- PowerDNS
- Technitium DNS
DNS integration automatically creates/updates DNS records when you configure routers, eliminating manual DNS management.
How do I handle multiple accounts for the same DNS provider?
Traefik's ACME challenge only supports one provider instance. Use CNAME delegation:
- Configure the primary account (e.g., Cloudflare account A with
example.com) - For domains on other accounts (e.g.,
example.orgon account B), add a CNAME:- Type:
CNAME - Name:
_acme-challenge.example.org - Target:
_acme-challenge.example.com
- Type:
This allows Traefik to validate certificates for domains across multiple accounts.
Configuration Management
How do I version control my Mantrae configurations?
Use the backup feature to export configurations as JSON. You can:
- Store exports in Git for version control
- Include them in your infrastructure-as-code repository
- Automate exports using Mantrae's API
- Restore from backups when needed
Can I manage Mantrae configurations via API or CLI?
Mantrae exposes a gRPC API using the Connect protocol (definitions in proto/mantrae/v1/). You can:
- Programmatically create/update configurations
- Integrate with CI/CD pipelines
- Build custom tooling on top of Mantrae
- Automate configuration management
A CLI tool is planned for future releases.
How do I migrate from manual file provider configuration to Mantrae?
- Deploy Mantrae and create a profile
- Import your existing dynamic yaml config
- Verify routes work correctly
- Remove or comment out the old file provider configuration
Start with non-critical routes first to minimize risk.
Security
How are credentials and API tokens protected?
- User passwords: hashed with bcrypt
- API tokens: cryptographically secure random generation
- DNS provider credentials: encrypted at rest
- Database queries: prepared statements prevent SQL injection
- Agent communication: supports HTTPS/TLS encryption
Can multiple users access Mantrae?
Yes! Mantrae supports:
- Multiple user accounts with individual credentials
- OIDC integration
- Audit logging of all configuration changes
How do I rotate profile tokens?
Profile tokens are used by Traefik to fetch configurations. To rotate:
- Generate a new token in the profile settings
- Update your Traefik configuration with the new token
- Wait for Traefik to successfully pull configuration with the new token
Traefik will continue using the old token until you update its configuration.
Troubleshooting
Traefik isn't applying my Mantrae configuration
Check these common issues:
- Verify the HTTP provider endpoint: Ensure the URL and token are correct in Traefik's configuration
- Check Traefik logs: Look for errors fetching from the HTTP provider
- Test the endpoint manually: Access
http://mantrae:3000/api/PROFILE?token=TOKENin a browser - Verify network connectivity: Ensure Traefik can reach Mantrae (especially in Docker networks)
- Check poll interval: Default is 5s, but you can adjust if needed
DNS records aren't being created
Verify:
- DNS provider credentials are correct in Mantrae
- API token has sufficient permissions for DNS management
- The domain is managed by the configured DNS provider
- Router has DNS provider assigned in configuration
- Check Mantrae logs for DNS provider errors
Agent shows as offline but Docker containers are running
Check:
- Agent can reach Mantrae server (test with curl/ping)
- Profile token is correct in agent configuration
- Firewall isn't blocking outbound connections
- Agent logs for connection errors
- Mantrae server is running and accessible
Performance
How often does Traefik poll Mantrae?
The default poll interval is 5 seconds. You can adjust this in Traefik's configuration:
- Lower values: faster updates, more load on Mantrae
- Higher values: reduced load, slower configuration propagation
For most use cases, 5-10 seconds is appropriate.