Drag-and-drop rack layout designer
Plan your rack, move some pixels, save your shoulders.
- Drag and drop devices into your rack from a real hardware library
- Real device images from the NetBox devicetype-library, not grey boxes
- Export layouts to PNG, PDF, or SVG for documentation and change requests
- Share layouts via URL or QR code, no file attachments needed
- Mobile-friendly interface for field use
- Bayed rack grouping for AV installs and multi-cabinet deployments
- Optional persistent storage with API-backed layout sync
- Self-hostable via Docker, Proxmox LXC, or bare metal
- Optional auth with local accounts or OIDC for shared deployments
| Audience | Use Case |
|---|---|
| Homelabbers | Plan your server rack before you rack it. Move pixels, not 4U servers. |
| AV Technicians | Bayed rack support for audio installs, map out amp racks, patch bays, and processor chains. |
| Network Engineers | Document and plan switch/router topologies. Export for runbooks and change requests. |
| Data Centre Teams | Layout planning for colo cages and enterprise cabinets. Share via URL with your team. |
| Educators & Students | Teach networking and infrastructure concepts with a visual, hands-on tool. No licence keys, no gatekeeping. |
You might ask, why should I make an imaginary rack like some sort of IT cosplay? And to that I would say, "fine then! don't! SCRAM!" but also, consider:
- Plan your layouts before you build them. It's a lot easier to move your mouse than that 4U server full of hard drives. Your shoulder will thank you.
- Document existing layouts so you know what is where.
- Because you can
count.racku.la no account, no install, just racks.
This is a quick run of the client-side only frontend (no persistence across browser sessions):
docker run -d -p 8080:8080 ghcr.io/rackulalives/rackula:latestOr with Docker Compose:
curl -fsSL https://raw.githubusercontent.com/RackulaLives/Rackula/main/deploy/docker-compose.persist.yml -o docker-compose.yml
mkdir -p data && sudo chown 1001:1001 data
docker compose up -dOpen http://localhost:8080 and get after it.
git clone https://github.com/RackulaLives/Rackula.git
cd Rackula && npm install && npm run buildServe the dist/ folder however you like. It's just files.
Note: LXC is currently in pre-release. See the Self-Hosting Guide for details and manual install instructions.
For production deployments, configure API security and authentication:
# Generate secrets
openssl rand -hex 32 # API write token
openssl rand -hex 32 # Session secret (if using auth)Set CORS_ORIGIN, RACKULA_API_WRITE_TOKEN, and optionally RACKULA_AUTH_MODE (none, local, or oidc) in your .env file.
See the Self-Hosting Guide for full configuration details including auth modes, env vars, and TLS setup.
This project was built using AI-assisted development with Claude. I told it what to build and then said "no, not like that" a lot. The AI did a lot of typing. Commits with substantial AI contributions are marked with Co-authored-by tags because we're not going to pretend otherwise.
Built for the r/homelab and r/selfhosted communities. Colours from Dracula Theme. Device data from NetBox devicetype-library. See ACKNOWLEDGEMENTS.md for full credits.
MIT Copyright © 2025-2026 Gareth Evans

