Self-hosted PaaS · for your swarm

Your own Vercel,
running on your metal.

Connect a git repo, get a running app behind HTTPS — with per-app image builds, persistent storage, injected secrets, live logs and rollback. Bring a small manifest, or your own Dockerfile.

Open source — github.com/hikmahtech/koyracloud. Run it on your own Docker Swarm.

.paas/app.yaml
name: lens-inventory
runtime: python+node
subdomain: lens.apps.example.com
port: 8000
build:
  - pip install -r requirements.txt
  - bash -c "cd web && npm ci && npm run build"
predeploy:
  - alembic upgrade head
start: uvicorn app.main:app --host 0.0.0.0 --port 8000
persist: [data]
healthcheck: /health
secrets: [SECRET_KEY]
How it works
01
Commit a manifest

Drop a .paas/app.yaml in your repo — build, start, port, persistent dirs, secrets. Or point at your own Dockerfile.

02
Connect the repo

Point koyracloud at it. Each deploy builds a per-app container image — from your manifest's steps or your Dockerfile — and pushes it to a built-in registry.

03
It deploys

Swarm pulls the image and runs it on any node, behind Traefik with an auto-TLS subdomain. Live logs, history and rollback included.

What you get
Bring a repo — or your own Dockerfile

A manifest builds a per-app image (python+node base, or your Dockerfile), layer-cached and pushed to a built-in registry — so any node can pull and run it.

Auto-TLS on every subdomain

Apps land on a unique <name>-<token>.apps.example.com with TLS handled for you. Attach your own domains in a click.

Secrets, encrypted at rest

Fernet-encrypted in the control plane, injected at deploy. Never in your repo, never in the image.

Live logs, history, rollback

Stream the build and deploy as it happens. Every deploy is recorded; roll back to any commit.

Persistent storage

Declare persist dirs in the manifest; they survive redeploys on NFS-backed volumes.

Workers, cron & Redis

Add background workers and scheduled jobs from the same repo, and a scoped Redis bus to pass events between them — all in the manifest.

Single-operator, by design

GitHub OAuth behind an allowlist. Your homelab, your apps, your rules — no multi-tenant ceremony.

Our clients

Production apps running on koyracloud — built by Hikmah Technologies.

Managed koyracloud · coming soon

Don't want to run the swarm? We'll host it.

A fully-managed koyracloud — we run the infrastructure, you deploy unlimited sites from git. We're lining up the first users. Want in?

Ship your next repo in minutes.

Add a manifest, connect the repo, watch it go live — or run the whole thing on your own swarm.