Quickstart
Get from zero to a running Nagelfluh development environment in four steps.
Prerequisites
Install these system tools before starting:
| Tool | Purpose | Install |
|---|---|---|
| Python 3.11+ | Backend runtime & venv | apt install python3 python3-venv |
| Node.js 16+ | Frontend build | nodejs.org or apt install nodejs npm |
| Docker | Container builds | docs.docker.com/get-docker |
| Minikube | Local Kubernetes | minikube.sigs.k8s.io |
| kubectl | Kubernetes CLI | apt install kubectl or bundled with Minikube |
| screen | Multi-window terminal | apt install screen |
Minikube needs at least 4 CPUs and 16 GB RAM allocated (configured in config.env).
Setup
1. Copy the config file:
cp config.env.example config.env
The defaults work for a first run. Adjust MINIKUBE_CPUS and MINIKUBE_MEMORY if your machine has different resources.
2. Start everything:
./runall.sh
On first run this takes several minutes — it sets up Minikube, Kueue, MinIO, a local Docker registry, a Python virtualenv, npm dependencies, database migrations, and the runner image. Subsequent runs are fast and skip steps already done.
3. Open the app:
http://localhost:3000
The backend API is at http://localhost:8000 (interactive docs at /docs).
Services run in a screen session named nagelfluh-dev. To watch the logs:
screen -r nagelfluh-dev # attach
# Ctrl+A, N / P switch windows (backend / frontend / monitor)
# Ctrl+A, D detach without stopping
First steps in the UI
- Select an environment (e.g. "Bootstrap") from the dropdown.
- Choose a process type (e.g. "fft" or "inversion").
- Configure resources (CPU, memory, deadline) and process parameters.
- Click Submit — the job runs in Kubernetes with real-time log streaming.
See the User Guide for a complete walkthrough.
After a reboot
Minikube and the screen session don't survive a reboot. Just re-run:
./runall.sh
It's idempotent — safe to run as many times as needed.
Next steps
- Deployment Guide — production-minikube mode, admin tools, cloud deployment
- Development Guide — adding process types, frontend widgets, debugging
- Architecture Overview — how the pieces fit together