194 lines
5.3 KiB
Markdown
194 lines
5.3 KiB
Markdown
# 🏠 Homarr Ultimate Dashboard Stack
|
|
|
|
A complete, production-ready Homarr deployment with system monitoring, RSS feeds, and a sleek dark theme inspired by lemonlink.eu.
|
|
|
|

|
|
|
|
## ✨ Features
|
|
|
|
- 🎨 **Dark Theme** - Matching lemonlink.eu aesthetic
|
|
- 📊 **System Monitoring** - Full Dash. integration
|
|
- 📰 **RSS Feeds** - Homelab, Cyber, Tech news
|
|
- 🔐 **Public/Private Boards** - Granular access control
|
|
- 🐳 **Docker Management** - Manage containers from dashboard
|
|
- 🚀 **Auto-updates** - Watchtower for automatic updates
|
|
- 🌐 **NPM Ready** - Pre-configured for Nginx Proxy Manager
|
|
- 🦊 **Gitea Repo** - Version controlled deployment
|
|
|
|
## 📁 Project Structure
|
|
|
|
```
|
|
homarr-dashboard/
|
|
├── .git/ # Gitea repository
|
|
├── .env.example # Environment template
|
|
├── .gitignore # Git ignore rules
|
|
├── docker-compose.yml # Docker Compose file
|
|
├── portainer-stack.yml # Portainer stack file ⭐
|
|
├── deploy.sh # Initial deployment script
|
|
├── update.sh # Update script
|
|
├── README.md # This file
|
|
├── PORTAINER.md # Portainer deployment guide ⭐
|
|
├── DEPLOYMENT.md # General deployment guide
|
|
├── GITEA_SETUP.md # Gitea setup guide
|
|
└── config/ # Configuration files
|
|
├── apps.json # 60+ pre-configured apps
|
|
├── rss-feeds.json # Curated RSS feeds
|
|
├── board-layouts.md # Board layout examples
|
|
└── homarr-themes.md # Theme configurations
|
|
```
|
|
|
|
## 🦊 Gitea Repository
|
|
|
|
**Repo:** `gitea.lemonlink.eu/homelab/homarr-dashboard`
|
|
|
|
### Quick Deploy (Initial)
|
|
|
|
```bash
|
|
# On your server
|
|
mkdir -p /opt/homelab
|
|
cd /opt/homelab
|
|
|
|
# Clone from Gitea
|
|
git clone https://gitea.lemonlink.eu/homelab/homarr-dashboard.git
|
|
cd homarr-dashboard
|
|
|
|
# Configure
|
|
cp .env.example .env
|
|
nano .env # Edit settings
|
|
|
|
# Ensure NPM network exists
|
|
docker network create npm-network 2>/dev/null || true
|
|
|
|
# Deploy
|
|
chmod +x deploy.sh
|
|
./deploy.sh
|
|
```
|
|
|
|
### Quick Update
|
|
|
|
```bash
|
|
cd /opt/homelab/homarr-dashboard
|
|
./update.sh
|
|
```
|
|
|
|
## 🚀 Deploy with Portainer (Recommended)
|
|
|
|
### Quick Setup
|
|
|
|
```bash
|
|
# 1. SSH to your server and create directory
|
|
ssh user@your-server
|
|
sudo mkdir -p /opt/homarr
|
|
sudo chown -R $USER:$USER /opt/homarr
|
|
|
|
# 2. Create environment file
|
|
cat > /opt/homarr/.env << 'EOF'
|
|
SECRET_ENCRYPTION_KEY=$(openssl rand -hex 32)
|
|
AUTH_PROVIDERS=credentials
|
|
DASH_SPEED_TEST_INTERVAL=240
|
|
WATCHTOWER_INTERVAL=86400
|
|
EOF
|
|
|
|
# 3. Ensure NPM network exists
|
|
docker network create npm-network 2>/dev/null || true
|
|
```
|
|
|
|
### In Portainer:
|
|
|
|
1. **Stacks** → **Add Stack**
|
|
2. **Name**: `homarr`
|
|
3. **Build method**: Repository
|
|
4. **Repository URL**: `https://git.lemonlink.eu/impulsivefps/homarr-dashboard.git`
|
|
5. **Compose path**: `portainer-stack.yml`
|
|
6. **Deploy**
|
|
|
|
See [PORTAINER.md](PORTAINER.md) for detailed instructions.
|
|
|
|
---
|
|
|
|
## 🐳 Docker Compose (Alternative)
|
|
|
|
```bash
|
|
# 1. Clone repo
|
|
git clone https://git.lemonlink.eu/impulsivefps/homarr-dashboard.git /opt/homarr
|
|
cd /opt/homarr
|
|
|
|
# 2. Configure
|
|
cp .env.example .env
|
|
# Edit .env with your settings
|
|
|
|
# 3. Ensure NPM network exists
|
|
docker network create npm-network 2>/dev/null || true
|
|
|
|
# 4. Deploy
|
|
docker compose up -d
|
|
```
|
|
|
|
## 📋 What's Included
|
|
|
|
### Dashboards
|
|
|
|
| Board | Purpose | Visibility |
|
|
|-------|---------|------------|
|
|
| **Main Dashboard** | Quick links & news | Public |
|
|
| **Infrastructure** | Server management | Private |
|
|
| **Media Center** | Media server control | Private |
|
|
| **System Overview** | Full monitoring | Private |
|
|
| **News Hub** | RSS aggregation | Public |
|
|
|
|
### Widgets
|
|
|
|
- ⏰ **Clock** - Date and time
|
|
- 🌤️ **Weather** - Current conditions
|
|
- 📰 **RSS Feed** - Multiple news sources
|
|
- 📊 **System Health** - Proxmox integration
|
|
- 📈 **Dash. iFrame** - Full system monitoring
|
|
- 🖥️ **Media Server** - Active sessions
|
|
- ⬇️ **Torrent/Usenet** - Download progress
|
|
|
|
### Apps (60+)
|
|
|
|
- 🏠 **Infrastructure**: Proxmox, Portainer, TrueNAS, Pi-hole, NPM
|
|
- 📊 **Monitoring**: Grafana, Prometheus, Uptime Kuma, Netdata
|
|
- 🎬 **Media**: Plex, Jellyfin, Sonarr, Radarr, *arr stack
|
|
- 📁 **Productivity**: Nextcloud, Immich, Vaultwarden
|
|
- 💻 **Development**: GitLab, Jenkins, Registry
|
|
- 🏠 **Smart Home**: Home Assistant, Node-RED
|
|
- 🌐 **External**: Gmail, GitHub, Reddit, YouTube
|
|
|
|
## 🌐 NPM Configuration
|
|
|
|
Add these Proxy Hosts in Nginx Proxy Manager:
|
|
|
|
### Dashboard (Homarr)
|
|
| Setting | Value |
|
|
|---------|-------|
|
|
| Domain Names | `dashboard.lemonlink.eu` |
|
|
| Forward Hostname/IP | `homarr` |
|
|
| Forward Port | `7575` |
|
|
|
|
### System Monitor (Dash.)
|
|
| Setting | Value |
|
|
|---------|-------|
|
|
| Domain Names | `system.lemonlink.eu` |
|
|
| Forward Hostname/IP | `dash` |
|
|
| Forward Port | `3001` |
|
|
|
|
Enable SSL for both with Let's Encrypt.
|
|
|
|
## 📖 Documentation
|
|
|
|
- **[DEPLOYMENT.md](DEPLOYMENT.md)** - Complete deployment guide
|
|
- **[GITEA_SETUP.md](GITEA_SETUP.md)** - Gitea repository setup & webhooks
|
|
- **[config/board-layouts.md](config/board-layouts.md)** - Board layout examples
|
|
|
|
## 🔗 Useful Links
|
|
|
|
- [Homarr](https://homarr.dev/) - Dashboard documentation
|
|
- [Dash.](https://getdashdot.com/) - System monitoring
|
|
- [lemonlink.eu](https://lemonlink.eu) - Your awesome website!
|
|
|
|
## 📄 License
|
|
|
|
MIT - Free to use and modify!
|