This directory contains detailed documentation for optional services that can be included in your Torrust Tracker deployments.
The services documentation provides comprehensive guides for each optional service, including:
- Configuration options and examples
- Enabling/disabling instructions
- Verification and testing procedures
- Troubleshooting common issues
- Architecture and deployment details
-
HTTPS Support - Automatic TLS/SSL with Let's Encrypt
- Automatic certificate management via Caddy reverse proxy
- Per-service TLS configuration (API, HTTP trackers, Health Check API, Grafana)
- HTTP/2 and HTTP/3 support
- Automatic HTTP to HTTPS redirect
- Disabled by default, enabled by adding
domainanduse_tls_proxy: trueto services
-
Prometheus Monitoring - Metrics collection and monitoring service
- Automatic metrics scraping from tracker API endpoints
- Web UI for querying and visualizing metrics
- Configurable scrape intervals
- Enabled by default, can be disabled
-
Grafana Visualization - Metrics visualization and dashboards
- Web-based dashboard interface for visualizing Prometheus metrics
- Configurable admin credentials
- Auto-import of tracker dashboards (planned)
- Requires Prometheus to be enabled
- Enabled by default, can be disabled
Each service guide follows a consistent structure:
- Overview - Purpose and capabilities
- Default Behavior - Out-of-the-box configuration
- Configuration - How to configure the service
- Disabling - How to remove the service from deployment
- Accessing - How to interact with the service after deployment
- Verification - How to verify the service is working correctly
- Troubleshooting - Common issues and solutions
- Architecture - Technical details about deployment structure
Services in the deployer are:
- Optional - Include only what you need
- Configuration-based - Enable by adding a section to your environment JSON
- Containerized - Each service runs in its own Docker container
- Integrated - Automatically configured to work with the tracker
To include a service in your deployment, add its configuration section to your environment JSON file:
{
"environment": {
"name": "my-env"
},
"ssh_credentials": {
"private_key_path": "~/.ssh/id_rsa",
"public_key_path": "~/.ssh/id_rsa.pub",
"username": "torrust"
},
"prometheus": {
"scrape_interval": 15
}
}To exclude a service from your deployment, simply remove its configuration section:
{
"environment": {
"name": "my-env"
},
"ssh_credentials": {
"private_key_path": "~/.ssh/id_rsa",
"public_key_path": "~/.ssh/id_rsa.pub",
"username": "torrust"
}
// No prometheus section = service not deployed
}As the deployer evolves, additional optional services may be added to this directory:
- Logging aggregation (Loki, Elasticsearch)
- Alerting services (Alertmanager)
- User Guide - Main user guide with general configuration
- Quick Start Guides - Getting started with deployments
- Configuration Reference - Environment configuration details
- Manual Testing Guides - Service verification procedures
When adding new service documentation:
- Follow the established structure outlined above
- Include practical examples and commands
- Provide verification steps
- Document common troubleshooting scenarios
- Update this README to list the new service
- Add cross-references to related documentation
See Contributing Guidelines for more details.