← All work

Turn a Docker Compose project into a runtime you can switch off.

An on-demand cloud VM orchestrator for Docker Compose projects, with persistent storage, provider integrations, routing, backups, and lifecycle notifications.

Project
Serverku
My role
Product and backend developer
Scope
CLI lifecycle, provider abstraction, persistent disks, Docker Compose provisioning, DNS and HTTPS routing, backups, and notifications
Built with
Go, Cobra, Docker Compose, DigitalOcean, Google Cloud
Period
2023–2026 · repository activity
Project status
Open-source tool

Engineering focus

  • Separate compute from retained data

    The lifecycle distinguishes removing a VM from deleting persistent storage, so projects can stop compute while retaining their data disk.

  • One workflow across providers

    A provider interface keeps DigitalOcean and Google Cloud operations behind the same project configuration and CLI lifecycle.

  • Bring deployment tasks together

    Compose provisioning, routing, snapshots, logs, and SSH utilities live in the same tool, reducing the steps an operator has to coordinate.

Serverku CLI showing a disposable project being initialized, listed as stopped, and inspected without creating a cloud VM.
Project lifecycle from the command lineEdited local CLI transcript; no cloud resources provisioned

Independent open-source infrastructure tool by Jufianto Henri. The visual is an edited transcript of a local CLI run with disposable configuration, not a terminal screenshot. No cloud resources were provisioned for this demonstration.

The inspected repository history spans August 2023 to July 2026. This is the available history, not evidence that the current CLI or every feature existed throughout that period. Early-stage tool with a public repository. The portfolio demonstration used local configuration only; cloud provisioning was not exercised for the capture.

Keep idle infrastructure from becoming a permanent bill

Small projects often need a real server for a release, a client review, or a short-lived production window. They do not always need an always-on VM between those moments. Serverku turns that operational decision into a small, explicit command-line workflow.

The project stores a Compose-oriented project definition locally, then creates a provider VM only when the project needs to run. up provisions the machine and deploys the stack; down removes the VM while keeping persistent storage available; destroy removes the project resources permanently. The local status view makes the current state clear before an operator takes the next step.

Put the provider behind one project model

Serverku keeps the project lifecycle separate from the cloud provider. DigitalOcean and Google Cloud can satisfy the same project definition, while provider-specific details stay behind the orchestration layer. That gives a small team a consistent way to reason about regions, VM sizes, storage, and deployment without rewriting the project workflow for each provider.

The same model leaves room for the supporting pieces a deployed Compose project needs: Caddyku routing and HTTPS, persistent disks, backups, notifications, SSH access, logs, and tunnels. The CLI keeps those operations discoverable without presenting a dashboard that the system does not actually have.

Make the safe state visible

The capture shows the useful state before a cloud resource exists: a valid project definition, a stopped VM, disabled storage, and a clear next command. That is the core product decision in Serverku. A project can be prepared and reviewed locally, then brought online deliberately when the work requires it.

The image is an edited transcript of local command output, with a shortened creation message and the temporary path removed from the presentation. It is an infrastructure workflow capture rather than a cloud-provider dashboard.

Next projectAbsenku

Have something in mind?

Let’s make it work.