Open source · AGPL-3.0 · Self-hosted

A control plane for your
self-hosted VPS fleet.

Optizen gives small teams a clear operating model for servers, projects, and deploys. SSH trust, runtime health, env files, and proxy config — all visible and under control. No cloud dependency. Runs on your own machine.

No account or sign-up. Clone it and run it on your own server.

The model

Four layers, clearly separated

Each layer owns its responsibility. Mixing them is how production incidents start.

Servers

Store SSH trust once. Optizen keeps the host, user, key path, and connection state in one place — and tests connectivity on demand.

Projects

Model each app with its runtime type, deploy commands, working directory, env path, and health expectations. No more undocumented deploy notes.

Deploys

Every deploy is a reviewable, logged execution record. Commands, outcome, live stream, and health result — all stored for rollback.

Infra files

Env files and proxy configs edited with previews, remote backups, and revision history. No more guessing what changed last week.

Runtime support

Works with what you already run

Docker Compose, Caddy, Nginx, raw images, and custom scripts. If it runs on your VPS, Optizen can manage it.

🐳
Compose

Point Optizen at a working directory. It runs docker compose pull and docker compose up -d — with a live log stream and health check after.

⚡
Caddy / Nginx

Load the config file, edit it in-browser, preview the diff, save with a backup, and reload the proxy — all without touching the terminal.

📦
Docker image

Pull a specific image tag or roll back to a previous one. Optizen tracks image history alongside deploy records.

⚙️
Custom scripts

Any shell commands you'd normally run over SSH. Write them once, review them before every run, and keep the log forever.

How it works

From SSH key to safe deploy in four steps

01
Connect a server

Add a host with SSH credentials. Optizen tests connectivity and takes a telemetry snapshot: CPU, RAM, disk, uptime, load average, and container counts.

02
Scan or model projects

Run a scan to discover running Docker workloads — Optizen infers the runtime type, working directory, env path, and compose structure. Or model projects manually for full control.

03
Configure health checks

Set a health endpoint like /health or a TCP port check per project. After every deploy, Optizen polls it and stores the result alongside the deploy record.

04
Deploy with confidence

Review the exact commands, confirm the target, watch the live log stream. Re-auth can be required before any destructive action. Rollback if needed.

Deploy config

Define it once, deploy with confidence

Every project has a deploy contract — the exact commands, health check, working directory, and env path. Optizen shows you this before every deploy so there are no surprises.

  • Commands are reviewable before execution
  • Working directory is explicit, not assumed
  • Health check runs after every deploy
  • Env path is tracked — editor shows current live value
  • Full log stream stored per deploy record
Example project config
name:         api-service
type:         compose
server:       prod-01
working_dir:  /srv/api-service
env_path:     /srv/api-service/.env
health:       GET /health :3000
deploy:
  docker compose pull
  docker compose up -d --remove-orphans

Infra file editing

Edit env files and proxy config safely

Stop editing .env files over raw SSH with no undo. Optizen’s built-in editors give you guardrails for every write — including Caddy and Nginx config with live reload.

Fetches the live file from the server before editing
Validates syntax before saving
Creates a remote backup before overwriting
Stores revision history — restore any previous version
Logs every change to the activity trail with a timestamp

Proxy management

Caddy and Nginx, in the browser

Optizen auto-detects running Caddy and Nginx services. Load the config file, edit it, preview the diff, save with a backup, and reload — all from the dashboard.

$ caddy reload --config /etc/caddy/Caddyfile
# Optizen runs this after validating
# and backing up the previous version.
# Previous: /etc/caddy/Caddyfile.bak.1718200000
✓ Proxy reloaded successfully

Observability

Know the state of every server at a glance

Optizen collects a telemetry snapshot every time you test SSH or open the dashboard. No agents, no sidecar processes.

CPU usage %
RAM used / total
Disk used / total
Uptime
Load average (1m / 5m / 15m)
Inode pressure %
Running container count
Exited container count
Project health status
Last heartbeat timestamp
Recent deploy outcomes
Activity timeline

Email alerts

Stay informed on deploy outcomes

Connect your own SMTP server to receive instant email notifications. Get notified automatically when deploys succeed or fail, and when your servers experience critical disk storage pressure.

[Optizen] Deploy failed: api-service
✗ api-service on prod-01 finished with status failed
Last 3 lines of logs:
> npm run build
> Error: Cannot find module './src/index.ts'
> Process exited with code 1

Webhooks

Outbound webhook integrations

Trigger external workflows in Slack, Discord, or your own microservices. Outbound webhooks send rich JSON payloads and support HMAC signature verification for security.

POST https://api.slack.com/services/...
Headers:
Content-Type: application/json
X-Launchpad-Signature: sha256=a8f3...
Payload:
{
"event": "deploy.failed",
"project": { "name": "api-service" },
"triggeredBy": "github-actions"
}

Security

Trust-first from the ground up

Every dangerous action has a confirmation, a preview, or a re-auth gate. Nothing happens silently.

Re-authentication

Deploys, rollbacks, deletes, env writes, and proxy reloads can require a fresh password check. Configurable per workspace.

Encrypted credentials

Passwords and passphrases are encrypted at rest. SSH private keys are never stored — only the path is referenced.

Activity audit trail

Session elevations, security setting changes, and sensitive value reveals all appear in the security audit log.

Demo privacy mode

Mask all sensitive values in the UI while screen-sharing or recording — without touching actual data.

Why Optizen

Replace SSH rituals with a real operator workflow

Without Optizen
  • Deploy commands live in Slack messages and Notion docs
  • Env changes made over SSH with no history
  • Proxy reloads done manually, sometimes forgotten
  • "Is it healthy?" means checking container state and hoping
  • Shell history is the only audit trail
  • Rollback means digging through git and guessing
  • No alerts when deployments fail or disks fill up
With Optizen
  • Deploy commands are modeled, versioned, and reviewable
  • Env edits have previews, backups, and revision history
  • Proxy reloads are a dashboard action with validation
  • Health checks run automatically after every deploy
  • Every dangerous action appears in the audit trail
  • Rollback picks a previous deploy record and re-runs it
  • Instant email and webhook alerts for failures and disk pressure

Ready to stop guessing what’s running in production?

Optizen is free, open source, and runs entirely on your own infrastructure. No SaaS, no subscription, no vendor lock-in.