The Ultimate Self-Hosted NAS Management System 🚀
Arcanas is a powerful, modern, and lightning-fast NAS management system designed for the enthusiast. Built with a robust Go backend and a sleek SvelteKit frontend, it delivers a premium experience for managing your storage empire.
- 🚀 Single Binary Deployment - Zero external dependencies purely compiled magic.
- 💎 Embedded Frontend - A beautiful SvelteKit UI baked right into the binary.
- ⚡ Real-time Monitoring - Live system vitals, disk I/O, and detailed metrics.
- 🛡️ Storage Pools - Advanced management for MergerFS, LVM, and bind mounts.
- 📼 RAID Mastery - Create, manage, and monitor RAID arrays with ease.
- 📂 File Sharing - Instant NFS & Samba/SMB configuration.
- 🎯 iSCSI Targets - Professional-grade iSCSI target management.
- 🔄 Hot-Reload Dev - Blazing fast iteration with Air and Vite.
# 1. First time setup (unleash the power)
sudo ./arcanas setup
# 2. Ignite the engines
./arcanas start
# 3. Access the dashboard
# Frontend: http://localhost:4000
# API: http://localhost:4000/api# Forge the single binary
./arcanas build
# Deploy the artifact
./arcanas
# Access your NAS
# Frontend: http://localhost:4000
# API: http://localhost:4000/apiThe ./arcanas script is your command center using it feels like cheating.
| Command | Action |
|---|---|
./arcanas start |
🔥 Start backend & frontend dev servers |
./arcanas stop |
🛑 Stop all running servers |
./arcanas restart |
🔄 Restart everything |
./arcanas status |
📊 Check server health |
./arcanas logs |
📜 View live logs |
./arcanas build |
🏗️ Compile production binary |
arcanas/
├── 🧠 backend/ # High-performance Go core
│ ├── cmd/ # Entry points
│ └── internal/ # Business logic & monitoring
├── 🎨 frontend/ # Beautiful SvelteKit UI
│ ├── src/lib/ # Components & stores
│ └── src/routes/ # Pages & layout
└── 📜 arcanas # The God Script (Management CLI)
API_PORT- Default:4000- Storage - Pools live in
/var/lib/arcanas/
Turn Arcanas into a proper system service:
- Create
/etc/systemd/system/arcanas.service:
[Unit]
Description=Arcanas NAS System 🐉
After=network.target
[Service]
Type=simple
User=arcanas
ExecStart=/opt/arcanas/arcanas
Restart=on-failure
Environment="API_PORT=4000"
[Install]
WantedBy=multi-user.target- Enable & Start:
sudo systemctl enable --now arcanasWe take quality seriously. Check TESTING.md for our comprehensive testing guide.
Join the revolution!
- Fork it 🍴
- Branch it (
git checkout -b feature/cool-stuff) - Code it 💻
- Push it 🚀
- PR it 📥
This project is licensed under the Mozilla Public License 2.0. See LICENSE for details.