Skip to content
InfraKitchen
Esc
navigateopen⌘Jpreview
On this page

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 develop
cp docs/examples/docker/docker-compose.yml ./docker-compose.yml
docker compose up -d
cp docs/examples/docker/docker-compose.yml ./docker-compose.yml
podman compose up -d
cp docs/examples/docker/docker-compose.yml ./docker-compose.yml
podman-compose up -d

Once 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:

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 exit or 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