https://github.com/slgfire/ezswm
Visual switch, VLAN, and IP documentation tool for LAN parties and homelab environments. No database required.
https://github.com/slgfire/ezswm
docker infrastructure ipam lan-party network-management nuxt open-source switch-management typescript vlan vue
Last synced: about 1 month ago
JSON representation
Visual switch, VLAN, and IP documentation tool for LAN parties and homelab environments. No database required.
- Host: GitHub
- URL: https://github.com/slgfire/ezswm
- Owner: slgfire
- License: gpl-3.0
- Created: 2026-03-10T22:34:42.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-06-03T22:12:37.000Z (about 1 month ago)
- Last Synced: 2026-06-03T22:15:00.096Z (about 1 month ago)
- Topics: docker, infrastructure, ipam, lan-party, network-management, nuxt, open-source, switch-management, typescript, vlan, vue
- Language: Vue
- Homepage: https://slgfire.github.io/ezswm/
- Size: 6.75 MB
- Stars: 2
- Watchers: 0
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
[](https://github.com/slgfire/ezswm/releases)
[](LICENSE)
[](https://nodejs.org)
[](https://nuxt.com)
[](compose.yaml)
[](https://claude.ai/claude-code)
[](https://github.com/slgfire/ezswm/security/dependabot)
**Document your switches, VLANs, and IPs — visually. SQLite, zero setup.**
[Documentation](https://slgfire.github.io/ezswm/) | [Installation](https://slgfire.github.io/ezswm/guide/installation) | [User Guide](https://slgfire.github.io/ezswm/guide/user-guide) | [API Reference](https://slgfire.github.io/ezswm/api/reference)
---
## About
ezSWM (easy Switch Management) is an open-source, web-based infrastructure documentation tool designed for LAN parties, homelab setups, and small-to-medium network environments. It provides a visual, intuitive way to document your switch infrastructure — ports, VLANs, IP allocations, and connections — without the overhead of a traditional IPAM/DCIM solution.
All data lives in a single embedded SQLite file inside the volume you mount — no external database server to run, no migrations to wire up manually. Schema upgrades apply themselves on container start.
> This project was built with significant assistance from [Claude Code](https://claude.ai/claude-code) (Anthropic's AI coding assistant). Architecture decisions, code implementation, and iterative refinement were done collaboratively between human and AI.
---
## Quick Start
Just `docker run`:
```bash
docker run -d -p 3000:3000 \
-e JWT_SECRET=$(openssl rand -hex 32) \
-v ezswm-data:/app/data \
ghcr.io/slgfire/ezswm:latest
```
Or with `docker compose` (one file, no source clone needed):
```bash
curl -O https://raw.githubusercontent.com/slgfire/ezswm/main/compose.yaml
export JWT_SECRET=$(openssl rand -hex 32)
docker compose pull && docker compose up -d
```
Open http://localhost:3000 — follow the setup wizard to create your admin account.
More installation options
### Docker Compose (build from source)
```bash
git clone https://github.com/slgfire/ezswm.git
cd ezswm
export JWT_SECRET=$(openssl rand -hex 32)
docker compose -f compose.dev.yaml up --build -d
```
### Local Development
```bash
git clone https://github.com/slgfire/ezswm.git
cd ezswm
pnpm install
pnpm dev
```
### Demo Data
```bash
./scripts/seed-demo.sh
```
---
## Tech Stack
| Layer | Technology |
|-------|-----------|
| Framework | [Nuxt 4](https://nuxt.com) + TypeScript (strict) |
| UI | [Nuxt UI v4](https://ui.nuxt.com) + Tailwind CSS v4 |
| Validation | Zod (server) + UForm (client) |
| Auth | JWT + bcrypt |
| Storage | SQLite via Prisma (`/db.sqlite`) |
| Container | Docker multi-stage (node:22-alpine) |
| CI | GitHub Actions (auto Docker image build) |
| i18n | Nuxt i18n (EN/DE) |
---
## Roadmap
- [x] **Secure VLAN Port Assignment** — VLAN auto-add, target switch sync, LAG VLAN config (v0.14.0)
- [x] **Favorites & Quick Wins** — Favorite switches, global search enhancements, UX improvements (v0.13.0)
- [x] **Topology** — Interactive site-scoped network topology with v-network-graph (v0.12.0)
- [x] **LAG Groups** — Link Aggregation Group management (v0.7.0)
- [x] **Print View** — Printable switch front panel layouts with QR codes (v0.6.0)
- [ ] **Rack Planning** — Visual 19" rack view with height-unit positioning
- [ ] **IPv6 Support** — IPv6 subnet and allocation tracking
---
## Contributing
Contributions are welcome! Please open an issue first to discuss what you'd like to change.
## License
[GNU General Public License v3.0](LICENSE)