Introduction
Yacht is a self-hosted web interface for managing Docker containers, designed with simplicity in mind. It provides a visual dashboard for deploying, monitoring, and managing containers and Docker Compose stacks, making it accessible to homelab users and small teams who prefer a GUI over command-line Docker management.
What Yacht Does
- Displays a dashboard of running, stopped, and errored containers with resource usage
- Deploys new containers from templates or custom configurations through the web UI
- Manages Docker Compose projects with a built-in editor and deployment controls
- Provides container logs, stats, terminal access, and lifecycle management
- Supports application templates for one-click deployment of popular self-hosted apps
Architecture Overview
Yacht is a Python application built with Vue.js for the frontend and FastAPI for the backend. It communicates with the Docker daemon through the Docker socket mounted into its container. Container state, template libraries, and user settings are persisted in a SQLite database stored on a Docker volume. The template system uses a JSON-based format compatible with community template repositories.
Self-Hosting & Configuration
- Run a single Docker container with the Docker socket mounted for daemon access
- Access the web UI on port 8000 and change the default admin credentials immediately
- Add template repositories to browse and deploy pre-configured applications
- Configure environment variables for session secrets and admin email settings
- Use Docker volumes for persistent configuration and template storage
Key Features
- Clean, modern UI for container management without terminal access
- Application template system with community-maintained template repositories
- Docker Compose project management with visual editing and deployment
- Container resource monitoring with real-time CPU, memory, and network stats
- Role-based access control for multi-user environments
Comparison with Similar Tools
- Portainer — more feature-rich with Kubernetes support; Yacht is lighter and simpler for Docker-only setups
- Dockge — focused on Compose stack management; Yacht covers individual containers and templates too
- Lazydocker — terminal-based TUI; Yacht provides a web-accessible GUI
- Docker Desktop — desktop application for local development; Yacht is for remote server management
- CasaOS — full personal cloud OS; Yacht is specifically a Docker management layer
FAQ
Q: Is Yacht safe to expose to the internet? A: Yacht has access to the Docker socket, which grants full control over the host's containers. It should be placed behind a reverse proxy with authentication and not exposed directly to the public internet.
Q: Can Yacht manage remote Docker hosts? A: Yacht currently manages the Docker daemon accessible via the mounted socket. Remote host management is not natively supported but can be achieved with Docker contexts and SSH tunneling.
Q: What template repositories are available? A: Yacht supports its own template format and can import templates from community repositories. The SelfHostedPro template collection includes dozens of popular self-hosted applications.
Q: Does Yacht support Docker Swarm or Kubernetes? A: No, Yacht is designed for standalone Docker hosts. For orchestration platforms, consider Portainer or Rancher.