[ topology-first / open source / multi-provider ]
Your topology,
described once.
Rebuilt whenever
you need.
DevStation is the open-source cockpit to create, prepare and recreate homelab and development environments from a clear topology. Multi-provider by design, with Proxmox supported today.
$
View on GitHub curl -fsSL devstation.tech/install | sh devstation@homelab ~ $ devstation
session 04:12
topologies › homelab-demo
nodes images provisioning deploy
● proxmox connected — demo.devstation.local
name ip cpu ram (GiB) system disk (GiB) uptime vms
❯ ● node-01 10.42.0.11 31d 04h 4
❯ ● node-02 10.42.0.12 31d 02h 4
❯ ● node-03 10.42.0.21 6h 18m 2
❯ ● storage-01 10.42.0.31 18d 22h 2
❯ ● storage-02 10.42.0.41 18d 22h 1
❯ ● gpu-01 10.42.0.51 2d 11h 4
● running ● stopped ● not found
↵ open r register e edit u unregister x unregister all ←→ tabs d disconnect esc back
topologies › homelab-demo › node-01
virtual machines OS images
name vmid role ip cpu ram (GiB) disk (GiB) uptime
❯ ● k3s-01 101 k3s-server 10.42.10.11 6h 12m
● k3s-02 102 k3s-worker 10.42.10.12 6h 11m
● db-01 121 database 10.42.20.21 4h 48m
● db-02 122 database 10.42.20.22 —
● running ● stopped ● not found
↵ open r register e edit u unregister x unregister all ←→ tabs esc back
topologies › homelab-demo › node-01 › virtual machines › k3s-01
● k3s-01 vmid 101 10.42.10.11 k3s-server running 6h 12m
1h 1d 7d
cpu (%) 18%
1h30mnow
cpu%
ram (gib) 4.2G / 8.0G
1h30mnow
usedtotal
disk i/o (mb/s) 2.41 read · 0.32 write
1h30mnow
readwrite
network (mb/s) 5.82 in · 3.10 out
1h30mnow
inout
stack: k3s-control-plane 4 services · ubuntu-22.04 · assigned at 2026-05-04
←→ timeframe s reassign u unassign esc back open in proxmox ↗
Stages
Topology is the source of truth.
Model, provision, deploy.
step 01
model
Describe clusters, nodes, machines, templates, definitions, environments and roles.
topology.declare()
step 02
provision
DevStation applies the topology and creates VMs on your chosen provider.
provider.apply()
step 03
deploy
Deploy turns VMs into useful hosts with Docker, K3s, Portainer or Jenkins.
stack.deploy()
↺ adjust topology · restart
Philosophy
Principles that decide what gets in and what stays out.
01
Topology-first
Topology comes before the provider, the interface and any tool under the hood.
02
Multi-provider by design
The same topology should run against the provider you choose. Proxmox today; others use the same model.
03
Readable provisioning, not a black box
You do not need to know every possible tool to start. Plans, decisions and executed steps stay visible.
04
Automation with control
Nothing is magic. The CLI is opinionated; the user remains the owner of the infrastructure.
05
Open from the foundation
Open source is not a future decision. It is the base of the product.
06
Start simple, grow flexible
The first topology fits in a few minutes. The tenth follows the same model.
Community stacks
First-party stacks to start, yours to grow.
DevStation does not need to be a closed catalog. The CLI loads TypeScript stacks from your own directory, so the community can version, adapt and share automation without depending on a central registry.
Local catalog
Stacks live in stacks/<name>/stack.ts and can be selected with STACKS_PATH. Your catalog can stay in your repo.
Auditable automation
Each stack declares supported OS, inputs, steps, verify checks and published secrets. You can read what runs before applying it.
No platform lock-in
First-party stacks speed up the beginning; community stacks let every homelab keep its own pattern.
catalog first-party: docker · k3s · argocd · portainer · infisical
path community-ready: fork · adapt · publish your catalog
$ STACKS_PATH=./stacks devstationstacks/my-stack/stack.tsexport default stack({ name, supportedOs, inputs, steps })Roadmap
Sober about the present, clear about the future.
Now shipped
▣ Topology modeling through the TUI
▣ Encrypted local vault
▣ Live Proxmox status
▣ Initial provisioning on Proxmox
▣ React Ink TUI
Next next
▢ macOS and Windows portability
▢ Service deploy
▢ Services, stacks and DeployRun
▢ Core RPC for multiple UIs
Horizon later
· New providers
· Community catalog
· Small teams and internal labs
· Registry, marketplace or optional SaaS
Quick start
ready to start?
Install the CLI, open the TUI and describe your first topology. The repository is still there when you want to audit or contribute.
$
curl -fsSL devstation.tech/install | sh 01 / 03 $
devstation 02 / 03 $
model topology → provision → deploy 03 / 03