diff --git a/homarr_complete.md b/homarr_complete.md new file mode 100644 index 0000000..8f88208 --- /dev/null +++ b/homarr_complete.md @@ -0,0 +1,112 @@ +# 🧩 Homarr - Container 112 + +## Overview + +Homarr is a sleek, customizable homepage dashboard that consolidates self-hosted services into one convenient UI. In this homelab, Homarr runs **natively inside an unprivileged LXC container** on Proxmox (not Docker), installed using the community script. + +## Service Details + +- **Container ID**: 112 +- **Hostname**: homarr +- **IP Address**: [http://192.168.1.33:7575](http://192.168.1.33:7575) +- **Port**: 7575 (Web UI) +- **Access**: LAN-only (secured via Tailscale or VLAN isolation) +- **Authentication**: Disabled by default (access protected via local network) +- **Admin Login**: Stored in Bitwarden under `homelab > Homarr` (if enabled) + +## Hosting & Platform + +- **Proxmox Host Node**: `proxmox04` +- **OS Type**: Debian 12 +- **LXC Type**: Unprivileged +- **CPU Cores**: 3 +- **RAM**: 6144 MiB +- **Disk Size**: 8 GB +- **Bridge**: `vmbr0` +- **IPv4**: `192.168.1.33/24` +- **Gateway**: `192.168.1.1` +- **IPv6**: SLAAC/Auto +- **FUSE Support**: Disabled +- **Root SSH Access**: Enabled +- **Features**: `keyctl=1`, `nesting=1` +- **Tags**: `arr`, `dashboard`, `community-script` +- **Autostart**: ✅ Enabled (`onboot: 1`) + +## Deployment & Service + +- **Installation Method**: Community Script (via GitHub) +- **Version**: Homarr `1.28.1` +- **Node.js Version**: 22 +- **Package Manager**: `pnpm@10.13.1` +- **Service Path**: `/opt/homarr/start.sh` +- **Runs As**: `root` +- **Service Manager**: `systemd` (`homarr.service`) + +### systemd Service File + +`/etc/systemd/system/homarr.service` +```ini +[Unit] +Description=Homarr Dashboard +After=network.target + +[Service] +Type=simple +ExecStart=/opt/homarr/start.sh +WorkingDirectory=/opt/homarr +Restart=always +User=root +Environment=NODE_ENV=production + +[Install] +WantedBy=multi-user.target +``` + +## Storage & Mounts + +| Host Path | Container Path | Purpose | +|--------------------------------|------------------------------------|----------------------------------| +| `/mnt/smb_shares/dash_config` | `/var/lib/homarr` | Persistent Homarr config | +| `/mnt/smb_shares/common_icons` | `/var/lib/homarr/public/icons` | Optional custom icon set | + +## Configuration + +- **Config Path**: `/var/lib/homarr/configs/` +- **Environment Variables**: + - `PORT=7575` + - `NODE_ENV=production` +- **Reverse Proxy** (optional): Cloudflare Tunnel or Apache/Nginx +- **TLS**: Not enabled directly on Homarr (handled via proxy if needed) + +## Backup & Recovery + +- **Backup Target**: `/var/lib/homarr` +- **Strategy**: Scheduled LXC snapshots + tarball or rsync +- **Manual Backup**: + ```bash + tar -czvf /root/homarr-config-backup-$(date +%F).tar.gz /var/lib/homarr + ``` + +## Logs & Monitoring + +- **Log Path**: No centralized log; recommend redirecting stdout to `/var/log/homarr.log` via systemd if needed +- **Monitoring**: Not yet configured (can integrate with Netdata, Uptime Kuma, or Homarr widgets) + +## Updates + +Manual update steps: +```bash +systemctl stop homarr +cd /opt/homarr +git pull origin main +pnpm install --frozen-lockfile --production +systemctl start homarr +``` + +## Notes + +- Authentication is disabled — access is restricted at the network level. +- Config files are versioned JSON stored at `/var/lib/homarr/configs/`. +- IPv6 is enabled, but not internet-routable. +- Icons can be customized under `public/icons/` for enhanced UI. +- Container created using the Proxmox community-script installer.