You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create an official Docker image for the Torrust Tracker Deployer that bundles all required dependencies (OpenTofu, Ansible, etc.) so users can run the deployer without installing these tools locally. The image should support mounting user data and build directories for persistence and flexibility.
⚠️Important Limitation: The Docker image only supports cloud providers (Hetzner). The LXD provider is not supported when running the deployer from within a container, because LXD requires system-level access to local virtualization that cannot be provided inside a container. LXD users should run the deployer directly on the host.
Goals
Provide a containerized version of the deployer with all dependencies pre-installed
Enable users to run deployments without local dependency installation
Support volume mounts for data/, build/, and envs/ directories
Publish the image to Docker Hub or GitHub Container Registry (GHCR)
Document usage with clear examples
Dependencies to Include
Based on packages/dependency-installer/README.md:
OpenTofu - Infrastructure provisioning tool (v1.8.x or later)
Ansible - Configuration management tool (v2.15.x or later)
SSH Client - For remote connections to provisioned VMs
Description
Create an official Docker image for the Torrust Tracker Deployer that bundles all required dependencies (OpenTofu, Ansible, etc.) so users can run the deployer without installing these tools locally. The image should support mounting user data and build directories for persistence and flexibility.
Goals
data/,build/, andenvs/directoriesDependencies to Include
Based on
packages/dependency-installer/README.md:Docker Image Structure
Volume Mount Structure
./data//var/lib/torrust/deployer/data./build//var/lib/torrust/deployer/build./envs//var/lib/torrust/deployer/envs~/.ssh//root/.sshUsage Example
Context
docs/issues/{issue-number}-create-docker-image-for-deployer.mdpackages/dependency-installer/README.mddocker/provisioned-instance/,docker/ssh-server/docs/user-guide/README.mdProvider-Specific Considerations
✅ Supported: Hetzner (Cloud Provider)
Hetzner deployments work fully in the Docker container because:
❌ Not Supported: LXD (Local Provider)
LXD cannot work inside Docker because:
For LXD users: Install the deployer directly on the host using the native installation method.