Quick Start
Set up InfraKitchen for local development using one of the following environments. Pick the option that matches your machine.
# If no Nix is installed, run the official installer first:
# curl -L https://nixos.org/nix/install | sh -s -- --daemon
nix developcp docs/examples/docker/docker-compose.yml ./docker-compose.yml
docker compose up -dcp docs/examples/docker/docker-compose.yml ./docker-compose.yml
podman compose up -dcp docs/examples/docker/docker-compose.yml ./docker-compose.yml
podman-compose up -dOnce the services are up, open http://localhost and log in as Guest.
InfraKitchen has a backend and frontend codebase. This repo (electrolux-oss/infrakitchen on GitHub) contains both parts:
server/contains the backend (Python/FastAPI)ui/contains the frontend (React/TypeScript)
Try InfraKitchen right away with the example templates repository. It includes ready-to-use templates that help you get a proof of concept running quickly.
The following services are automatically set up for you:
- RabbitMQ Broker for driving the events
- PostgreSQL for storing the data
What each option provides
- Nix — the dev shell automatically sets up Python 3.14 with backend dependencies, Node.js with frontend dependencies, PostgreSQL, RabbitMQ, and development tools (ruff, pyright, prettier, eslint). All isolated from your system. To exit the Nix shell, type
exitor press Ctrl+D. - Docker / Podman / Podman Compose — containers provide the backend, frontend, PostgreSQL, and RabbitMQ from the compose file.
Enable Experimental Features (Nix only)
If you see error: experimental Nix feature 'nix-command' is disabled, add the following to /etc/nix/nix.conf (or ~/.config/nix/nix.conf on macOS):
experimental-features = nix-command flakes
Then restart the Nix daemon or run with flag:
nix --extra-experimental-features 'nix-command flakes' develop
Troubleshooting
Networking issues between containers (Podman and Podman Compose): if containers cannot reach each other, stop and restart them:
podman compose down && podman compose up -d
# or, with podman-compose:
podman-compose down && podman-compose up -d
Default Settings
Encryption keys will be automatically generated on first run in the server/.env_local file.
All data will be stored in the ik_data/ folder. You can delete this folder to start the project from scratch.
Add fake data
To populate InfraKitchen with fake data for testing purposes, you can run the following command:
make fixtures
Generate Secret Keys
You can generate secret keys for backend by running the following commands:
python server/generate_encryption_key.py