status:pre-alpha
version:v0.1.0
[ open-source cockpit / homelab & dev / multi-provider ]

Your topology, described once. Rebuilt whenever you need.

DevStation is an open-source cockpit for engineering. Topologies, its first feature, models, provisions and recreates homelab and development environments — multi-provider by design, with Proxmox today.

$ curl -fsSL https://devstation.tech/install | sh
View on GitHub
devstation@homelab ~ $ devstation
session 04:12
Stages

Topology is the source of truth.
Describe, provision and install services.

step 01
describe
Describe clusters, nodes, VMs, images, sizes, stations, services and vaults.
topology.describe()
step 02
provision
DevStation applies the topology, creates VMs on your chosen provider and tracks real state.
provider.apply()
step 03
install
Register services in a station and use blueprints to install Docker, K3s, Portainer, Jenkins, ArgoCD and related tooling.
station.install()
↺ adjust topology · restart
Blueprints + stations

Declarative recipes to start, stations to orchestrate.

Blueprints are YAML recipes for installing and operating services on instances. Services are uses of those recipes inside a station, which orders dependencies, resolves vault secrets and runs installs.

Blueprint catalog
Blueprints live in <name>/blueprint.yaml. They can be standalone, with their own instances, or hosted on another service. Official ones ship with DevStation; yours live in ~/.devstation/blueprints.
Services as instances
When you register a service, you choose blueprint, vault, inputs and VMs or host. The state lives inside the station.
Orchestrated install
Stations install a selected subset of services in topological order; hosted services wait for their host to be ready.
catalog official blueprints: docker · k3s · argocd · portainer · jenkins · and more
extend devstation blueprint register — install your own; local overrides official
$ devstation
blueprints/k3s/blueprint.yaml
station homelab-core -> services: k3s-prod, argocd
Next step

continue with the docs.

The CLI is still pre-alpha. Instead of hiding that behind premature commands, the best path is to understand the model and the current provider.