1.2 KiB
1.2 KiB
MicroNAS
Lightweight web GUI to manage SMB shares, NFS exports, and quotas on a single home server (Proxmox LXC/VM). Runs directly on the host as a systemd service.
Requirements
apt install samba nfs-kernel-server quota python3 python3-venv
Install
# Copy files
cp -r . /opt/micronas
# Create virtualenv and install deps
python3 -m venv /opt/micronas/venv
/opt/micronas/venv/bin/pip install flask gunicorn
# Create environment file with your credentials
cat > /etc/micronas.env <<EOF
MICRONAS_USER=admin
MICRONAS_PASS=changeme
EOF
chmod 600 /etc/micronas.env
# Install and enable the systemd service
cp /opt/micronas/micronas.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable --now micronas
The app listens on 127.0.0.1:5000. Put a reverse proxy (nginx) in front if you want HTTPS, or reach it directly on the LAN by binding to 0.0.0.0:5000 (change -b in the unit file).
Dev / test
MICRONAS_USER=admin MICRONAS_PASS=secret flask --app app run --debug
# or with docker-compose for a sandbox:
docker compose up
Auth
Set MICRONAS_USER and MICRONAS_PASS in the environment (or EnvironmentFile). All routes require HTTP Basic Auth. Never expose this to the internet — LAN or Tailscale only.