Postgres, VyOS, and a 3-node Proxmox HA cluster in containers.
sudo dnf install podman podman-compose wireguard-tools
printf 'fs.inotify.max_user_instances=512\nfs.inotify.max_user_watches=1048576\n' | sudo tee /etc/sysctl.d/99-fyrastack-dev.conf && sudo sysctl --systemthis is needed cause the 3 proxmox nodes will make a lot of inotify instances.
wireguard-tools is needed to reach VM IPs from the host.
dev/vyos/build-image.sh: buildslocalhost/fyrastack/vyos:streamfrom the latest VyOS Stream ISO (rollingfor rolling)cd dev && podman compose up -ddev/pve/init-cluster.sh: forms the cluster, provisions storage/token/SDN, prints thePROXMOX_*env block- Copy
apps/dashboard/.env.exampletoapps/dashboard/.envand setBETTER_AUTH_SECRET(any string in dev) and thePROXMOX_TOKEN_SECRETprinted byinit-cluster.sh; everything else defaults to the dev stack pnpm --filter stack-dashboard db:migratepodman exec -i fyra-postgres psql -U postgres < dev/seed-ipam.sql
pnpm dashboard dev- VM test IPs (
203.0.113.0/24,2001:db8:0:1::/64,2001:db8:100::/56) from the host:sudo wg-quick up dev/fyra-wg.conf/sudo wg-quick down dev/fyra-wg.conf - PVE web UIs:
https://127.0.0.1:8006-8008(root / fyradev)
cd dev && podman compose up -d
dev/pve/init-cluster.shthe above rotates PROXMOX_TOKEN_SECRET, so update .env with the newly printed value. podman compose down -v for a factory reset.
Use fixture mode when you only need to test Svelte UI changes and do not want to run Postgres, Proxmox, VyOS, etc. This is the easiest path on macOS.
Fixture mode is enabled by ACCESSIBILITY_FIXTURES=1. It installs a fake
authenticated admin session, a fake project, and one fake VM.
From the repo root:
CI=true \
ACCESSIBILITY_FIXTURES=1 \
CLOUDFLARE_HYPERDRIVE_LOCAL_CONNECTION_STRING_HYPERDRIVE=postgres://fixture:fixture@127.0.0.1:5432/fixture \
pnpm --filter stack-dashboard run dev --host 127.0.0.1 --port 5173The Hyperdrive connection string only satisfies Cloudflare adapter local emulation. Fixture-backed routes do not connect to that database.
- this currently only works on linux.
- no gurantees on vm performance.