Konta is a lightweight GitOps solution designed specifically for Docker Compose deployments on low-resource VPS servers. It enables users to store their VPS container infrastructure state in a Git repository and automatically synchronize changes with server containers using docker-compose files. The tool provides GitOps capabilities without requiring Kubernetes clusters or complex control planes, making it ideal for single-node Docker servers.
Konta manages only containers with the label `konta.managed=true` in docker-compose files, allowing selective management while keeping other containers manual. It supports lifecycle hooks including pre.sh, success.sh, failure.sh, started.sh, and post_update.sh scripts that run at different deployment stages. The tool features atomic deployments using symlink-based switching for zero-downtime updates and maintains state tracking for each project including current commit and last deploy time.
Konta works by checking for Git repository changes at configured intervals and automatically updating containers that have changed. It clones repository state to `/var/lib/konta/releases/` and uses symlinks to manage current deployments. The system supports both public and private repositories using GitHub Personal Access Tokens and provides comprehensive logging and monitoring capabilities through its journal command.
Benefits include simplified infrastructure management through Git as a single source of truth, automatic synchronization of changes, zero-downtime deployments, and reduced complexity compared to Kubernetes. Use cases include managing Docker Compose stacks on VPS servers, automating deployments from Git repositories, maintaining reproducible infrastructure configurations, and enabling easy server migrations.
Konta targets users who run 1 or more VPS servers with Docker Compose, want Git as their source of truth, but don't want Kubernetes complexity. It integrates with Docker Compose files and supports GitHub repositories with optional GitLab support planned. The tool is written primarily in Go (92.7%) with Shell scripts (6.3%) and stores configuration at `/etc/konta/config.yaml` with data in `/var/lib/konta`.
admin
Konta is designed for users who run 1 or more VPS servers with Docker Compose, want Git as their single source of truth for infrastructure, but don't want Kubernetes complexity. It's ideal for those who keep projects in separate folders, use Traefik/Nginx for routing, deploy via SSH, and need an easy way to migrate to new servers. The tool specifically targets users who need something simple and reproducible without multi-node clustering or advanced orchestration requirements.