Torrust Tracker Deployer
Deployment automation for Torrust Tracker environments using OpenTofu, Ansible, and Rust.
Release Status
Version 0.1.0 is the first fully functional release line of the deployer.
Current status:
- End-to-end workflow is implemented: create, provision, configure, test, release, run, destroy
- Multi-provider architecture is implemented
- Providers currently supported: LXD (local development) and Hetzner Cloud (cloud deployments)
- CI includes linting, unit/integration tests, and split E2E workflows
What This Project Does
The deployer provisions and configures VM infrastructure, then deploys and runs the Torrust Tracker stack.
Workflow:
- OpenTofu provisions infrastructure and cloud-init setup.
- Ansible configures the provisioned host.
- The deployer releases tracker artifacts and starts services.
- Built-in commands support verification and teardown.
Quick Start
1. Install dependencies
Recommended (automatic dependency installer):
2. Build and run the CLI
3. Create and deploy an environment
# Generate environment config template
# Edit config values, then create the environment from the file
# Provision and configure
# Verify and deploy application
# Tear down when done
Important:
- Keep your environment JSON files in
envs/. - The
data/directory is application-managed deployment state and should not be edited manually.
Docker Usage
For cloud-provider deployments, you can run the deployer via container image:
Note: Docker workflow supports cloud providers. For local LXD usage, run the deployer natively on the host.
Development Commands
# Comprehensive linting
# Run test suite
# E2E suites
# Full E2E workflow (local only)
Documentation Map
For detailed guides, use the docs index and user guide:
- Documentation Index
- User Guide
- Quick Start Guides
- Commands
- Providers
- E2E Testing
- Contributing
- Architecture Overview
- Roadmap
Related Repository
The deployer focuses on provisioning, configuring, and deploying Torrust Tracker. For example application operations and maintenance after deployment, see:
Repository Layout
Top-level directories:
src/: Rust codebase using DDD layers (domain, application, infrastructure, presentation)templates/: OpenTofu and Ansible templatesdocs/: user and contributor documentationenvs/: user environment configuration files (git-ignored)build/: generated runtime files (git-ignored)data/: application-managed deployment state
Roadmap After 0.1.0
The 0.1.0 line establishes the functional baseline. Upcoming improvements are tracked in the roadmap, including broader provider support and deployment UX refinements.
See: Roadmap
License
This project is licensed under the MIT License.