Konta delivers GitOps for Docker Compose without the overhead of Kubernetes, enabling developers to manage VPS container infrastructure entirely from a Git repository. Designed for single-node servers and small-scale setups, Konta treats your compose files as the single source of truth and automatically applies changes on every push. This means no more manual SSH deployments or forgotten configurations running on a forgotten server. Whether you are an indie developer hosting a few side projects or a small team running multiple services on a budget VPS, Konta gives you the reproducibility and auditability of infrastructure-as-code without the complexity of cluster orchestration. Its lightweight design runs efficiently on as little as 512 MB of RAM, making it ideal for low-resource environments where a full Kubernetes distribution would be impractical.
Managing Docker Compose stacks on VPS servers often descends into chaos. Developers SSH onto the box, tweak configurations directly, and lose track of which containers are actually running. Over time, recovering the exact state or migrating to a new server becomes a tedious, error-prone process. Konta solves these pain points by enforcing Git as the single source of truth. Every change must happen in the repository; the tool then pulls and reconciles, so the live state always matches what is committed. This eliminates configuration drift, provides a clear audit trail through commit history, and makes server migrations trivial—simply clone the repo and run Konta. For teams that have outgrown ad-hoc deployments but do not want the operational burden of Kubernetes, Konta provides the perfect middle ground.
Konta uses Docker Compose labels to give fine-grained control over deployment behaviour without altering the compose syntax you already know. Services can be marked with `konta.managed=true` to include them in synchronisation, leaving unlabelled containers untouched for manual experimentation. For services that require zero-downtime updates, the label `konta.rolling=true` triggers a rolling deployment: Konta starts a new stack with a commit-suffixed project name, performs a health check, and only then removes the old stack. This avoids host port conflicts and ensures your application remains available during updates. Additional labels like `konta.stopped` let you keep a service definition in Git but prevent it from running, while `konta.recreate` forces containers to be recreated on every deploy. This label system gives operators powerful, per-service control directly from the compose file.
admin
Konta supports a comprehensive set of lifecycle hooks that run custom scripts at key moments of the deployment process. A `pre.sh` script can backup databases or send a notification before any changes are applied; if it exits with a non-zero status, the deployment is aborted and the `failure.sh` hook is triggered. After a successful deploy, `success.sh` can clear caches or update DNS. The `started.sh` hook runs when the Konta daemon starts, and `post_update.sh` executes after Konta itself gets updated. These hooks transform a simple sync tool into a fully automated CI/CD pipeline right on your VPS. Because hooks are stored in the Git repository alongside your compose files, they are version-controlled and auditable just like the rest of your infrastructure code.
Beyond initial deployment, Konta continuously maintains your desired state through built-in self-healing. During periodic no-change health checks, the tool compares the running containers against the expected state recorded in `state.json`. If it detects drift—such as a stopped, missing, or unhealthy container—it automatically triggers a reconciliation. This self-heal behaviour is configurable: you can enable or disable it via the config file, limit the number of retry attempts per project, and choose the health check timeout and retries for rolling stacks. Importantly, self-heal actions do not run deploy hooks, preventing unexpected notification bursts while still keeping your infrastructure in order. This autonomous recovery means you can sleep soundly knowing that if a container fails or someone manually stops a service for debugging, Konta will eventually restore the declared configuration.
The Konta workflow is straightforward: you structure your Git repository with one directory per compose stack inside an `apps/` folder, optionally organised by server environment (e.g., `vps-prod/`). After installing the single binary on your VPS, you run `konta bootstrap` pointing to your repo. This creates a systemd daemon that periodically pulls the specified branch and compares the commit hash with the last deployed state. When a new commit is detected, Konta evaluates which projects have changed and applies the updated compose files using Docker Compose itself. For rolling deployments, it manages the lifecycle of temporally named stacks and performs health checks before tear-down. The tool also maintains a `state.json` file in `/var/lib/konta` to track the current commit and deployment timestamps, enabling quick rollbacks and audits.
Consider a freelancer hosting a client’s website, an API, and a database on a single $5 VPS. With Konta, they store all docker-compose files in a private Git repository. A push to the main branch triggers Konta to stop the old WordPress container, pull the latest image, and restart it with the new environment variables—all within a minute. If the update fails, a Slack notification via a failure hook alerts them immediately. For a staging environment, a separate server path uses the same repository but with different compose variables; the developer can test changes on staging and then promote them to production by merging branches. After a server crash, restoring the entire setup involves cloning the repo, running Konta bootstrap, and letting it rebuild all stacks. This scenario-based reliability makes Konta a practical GitOps solution for low-key production workloads.
Konta is built for developers, sysadmins, and DevOps engineers who manage one or more Linux VPS servers running Docker. It fits perfectly into existing workflows that already use Docker Compose and Git, requiring no new orchestration layer. The tool is free and open-source, distributed under the MIT license, with prebuilt binaries for Linux (AMD64) and macOS (Apple Silicon). Updates are delivered via GitHub Releases with stable and next channels, and the auto-update feature can safely apply minor upgrades if desired. By keeping infrastructure declarative, versioned, and self-healing, Konta radically simplifies single-node container management. In a world where Kubernetes is often overkill, Konta gives you the core GitOps benefits you need—reproducibility, automation, and peace of mind—for your VPS workloads.
Developers, DevOps engineers, and system administrators managing one or more VPS servers with Docker Compose. Ideal for indie hackers, small teams, and freelancers who need GitOps-style infrastructure management without the complexity of Kubernetes. Suitable for those running low-resource environments (512 MB RAM) or hosting multiple containerized applications such as web apps, APIs, and microservices on a single node. Organizations that want reproducible, version-controlled infrastructure and automated deployments from Git will benefit from Konta’s simple, declarative approach.