Yacht is a web interface for managing Docker containers with an emphasis on templating and one-click deployments.
Yacht solves the problem of deploying containerized applications without requiring users to write Docker Compose files or understand container orchestration. It provides a decentralized app store model where anyone can create and share deployment templates. The tool works by hosting a central control plane that serves a web UI, API, and authentication layer, while supporting two host management modes: direct Docker API connections added manually through the interface, and agent-managed hosts where a lightweight yacht-agent container connects back to the main server. Agent-managed hosts can report system statistics and execute queued container lifecycle operations locally, avoiding the need to expose the Docker API directly over the network.
Yacht suits teams and individuals who want to simplify container deployment across multiple servers without building custom infrastructure. It works well for environments where non-technical users need to deploy applications through a graphical interface, or where you want to manage remote Docker hosts without exposing their APIs directly. The agent architecture is particularly valuable when managing Docker hosts across untrusted networks or when you prefer a pull-based connection model rather than exposing APIs. The tool currently supports Linux hosts, with Windows support still under evaluation.
The project maintains active development with ongoing work on the agent architecture and compose controls. The codebase is written in Vue for the frontend and Python with Flask for the backend, with JWT authentication for security. Documentation is distributed across an external site, repository-local docs directory, and operational wiki pages. The project accepts community contributions and has established patterns for agent enrollment and host management through environment variables.