v0.67.2 · self-hosted PaaS for single VPS

Self-hosting without the infrastructure headache.

Deploy full-stack apps to your own VPS in minutes. Connect a Git repository, click deploy, and VAC handles the rest: containers, HTTPS, domains, logs, restarts, and routing.

< 200 MB idle RAMApache-2.0One docker-compose up
— Why VAC exists

Built for developers who want control without doing DevOps full-time.

Most VPS deployments eventually turn into infrastructure work
  • Docker Compose maintenance
  • reverse proxy configs
  • TLS certificates
  • container restarts
  • SSH sessions
  • broken nginx configs
  • deployment scripts nobody wants to touch

VAC removes the operational overhead while keeping your infrastructure fully yours.

YourVPS
YourDocker engine
YourDomains
YourData

VAC just makes deployment feel effortless.

— See it run

A full deployment in under a minute.

No CI pipeline setup. No handwritten proxy configs. No orchestration layer to babysit.

— Capabilities

Everything a small app actually needs.

Git-based deployments

Connect a repository and deploy directly from your branch. Docker Compose apps, monorepos, multi-service stacks, plain Dockerfile projects — they all just work.

docker-compose.ymlsupported
Dockerfilesupported
monoreposupported
multi-servicesupported

Automatic HTTPS

Point a domain at your server and VAC provisions certificates automatically. No manual Caddy or nginx configuration. No certbot scripts. No renewal maintenance.

api.svc.ioActive · 84d
www.svc.ioActive · 84d

Live logs

Build & runtime logs stream into the dashboard in real time. Searchable, timestamped, per-service. No external logging stack required.

14:02:18 → POST /checkout 200 · 41ms
14:02:19 → GET /healthz 200 · 2ms
14:02:21 → POST /webhook 202 · 88ms
14:02:24 → GET /healthz 200 · 2ms

Env & secrets

Per-app environment management with runtime injection and encrypted storage. Paste a .env or manage variables directly in the dashboard.

DATABASE_URL••••••••
STRIPE_KEY••••••••
NODE_ENVproduction

Service monitoring

CPU, memory, uptime, deployment status, crash loops, request traffic — per app and per service.

CPU
18%
RAM
3.4G
Uptime
99.9%
— How it works

Small by design.

VAC keeps its own architecture intentionally small. Your applications run as regular Docker containers beside the control plane. No hidden orchestration layer. No giant dependency graph.

01 / 05Receiving webhook from your git remote…
Control plane · vac-stack
vac-apiGo · REST
vac-workerbuild & deploy queue
vac-dbPostgres · shared
vac-proxyCaddy · auto-HTTPS
docker.sock
User applications · isolated containers
checkout-apinode:20 · 142 MB
docs-sitecaddy:static · 38 MB
cron-workergo:1.22 · 22 MB
analyticspython:3.12 · 196 MB
Public traffic:80 · :443 → vac-proxy
Host footprint≈ 180 MB idle · 1 vCPU
— Operational simplicity

Small enough for a cheap VPS.

VAC is designed to run comfortably on the kind of box you'd rent for ten dollars a month. Because your deployment platform should not consume more resources than your apps.

Designed to run on this

Target hardware for a comfortable VAC install with room to spare for the apps you're actually running.

vCPU2
RAM4–8 GB
Disksmall SSD
Target idle footprint
Under 200 MB RAM for the control plane.

VAC prioritizes

  • fast deployments
  • low RAM usage
  • minimal configuration
  • understandable architecture
  • opinionated workflows
  • low maintenance overhead

VAC avoids

  • Kubernetes abstractions
  • service meshes
  • distributed schedulers
  • infrastructure DSLs
  • enterprise complexity
  • YAML mazes

Deploy apps. Not infrastructure.

Pull the compose file, point a domain at the server, and start shipping. Most developers get their first app live in under fifteen minutes — or you can poke around the dashboard demo first.

$curl -sSL get.vac.vojir.io | sh