This commit adds extensive documentation covering all aspects of homelab setup,
configuration, and troubleshooting.
## Documentation Structure
### Main Documentation
- **docs/README.md**: Documentation hub with table of contents
- **docs/getting-started.md**: Complete setup guide from scratch
- **docs/quick-reference.md**: Fast reference for common tasks and commands
### Configuration Guides (docs/guides/)
- **secrets-management.md**: Environment variables and secrets configuration
- How to generate secure secrets
- Service-specific configuration
- Automated secret generation scripts
- Security best practices
- Common mistakes to avoid
- **gpu-setup.md**: NVIDIA GTX 1070 GPU acceleration setup
- Specific to Proxmox 9 on Debian 13
- Complete passthrough configuration
- Jellyfin hardware transcoding setup
- Immich ML inference acceleration
- Performance tuning and benchmarks
- Troubleshooting GPU issues
### Troubleshooting (docs/troubleshooting/)
- **faq.md**: Frequently asked questions (60+ Q&A)
- General questions about the homelab
- Setup and configuration questions
- SSL/TLS and SSO questions
- Service-specific questions
- Security and backup questions
- Performance optimization
- **common-issues.md**: Common problems and solutions
- Service startup failures
- SSL certificate errors
- SSO authentication issues
- Access problems
- Performance issues
- Database errors
- Network issues
- GPU problems
### Services (docs/services/)
- **README.md**: Complete service overview
- All 20 services with descriptions
- Use cases for each service
- Resource requirements
- Deployment checklists
- Service dependencies
- Minimum viable setups
## Key Features
### Environment-Specific
All GPU documentation is specific to:
- **Platform**: Proxmox 9 (PVE)
- **OS**: Debian 13
- **GPU**: NVIDIA GTX 1070 (Pascal)
- Includes Proxmox-specific GPU passthrough
- VM guest setup on Debian 13
- NVIDIA Container Toolkit configuration
### Comprehensive Coverage
- 60+ FAQs answered
- 50+ common issues documented
- 100+ command examples
- Step-by-step procedures
- Troubleshooting decision trees
- Quick reference tables
### Practical Examples
- Actual command outputs
- Real-world scenarios
- Copy-paste ready commands
- Configuration file examples
- Debugging procedures
## Documentation Highlights
### Getting Started Guide
- Prerequisites checklist
- Docker installation
- Media directory setup
- DNS configuration
- Environment variable setup
- Service deployment order
- Initial service configuration
- Verification procedures
### Secrets Management
- Secret type identification
- Generation commands for each type
- Service-specific requirements
- Automated generation script
- Password manager integration
- Backup procedures
- Security best practices
- Common mistakes
### GPU Setup (Proxmox/Debian/GTX 1070)
- IOMMU enablement
- VFIO configuration
- PCI passthrough to VM
- NVIDIA driver installation on Debian 13
- Container toolkit setup
- Jellyfin NVENC configuration
- Immich CUDA acceleration
- Performance benchmarks
- NVENC stream limit unlock
- Monitoring and tuning
### Quick Reference
- All service URLs
- Common Docker Compose commands
- System check commands
- Secret generation commands
- Troubleshooting steps
- File locations
- Port reference
- Emergency procedures
### FAQ
Covers questions about:
- Hardware requirements
- Domain requirements
- Cost estimates
- Setup procedures
- Configuration details
- SSL certificates
- SSO authentication
- Service-specific issues
- Backup strategies
- Performance optimization
- Security considerations
### Common Issues
Solutions for:
- Container startup failures
- Environment variable errors
- Port conflicts
- Permission issues
- SSL certificate problems
- DNS issues
- SSO login failures
- Database connections
- Network connectivity
- GPU detection
- Resource constraints
### Services Overview
- Detailed description of all 20 services
- Use cases and features
- Required vs optional services
- Resource requirements by tier
- Service dependencies diagram
- Deployment checklists
- "When to use" guidance
## File Structure
```
docs/
├── README.md # Documentation hub
├── getting-started.md # Setup walkthrough
├── quick-reference.md # Command reference
├── guides/
│ ├── secrets-management.md # Secrets configuration
│ └── gpu-setup.md # GPU acceleration (GTX 1070)
├── troubleshooting/
│ ├── faq.md # 60+ FAQs
│ └── common-issues.md # Problem solving
└── services/
└── README.md # Service overview
```
## Benefits
### For New Users
- Clear setup path from zero to running services
- Explains "why" not just "how"
- Common pitfalls documented and avoided
- Example configurations provided
### For Experienced Users
- Quick reference for commands
- Troubleshooting decision trees
- Performance tuning guides
- Advanced configurations
### For Maintenance
- Update procedures
- Backup and restore
- Monitoring guidelines
- Security hardening
## Documentation Standards
- Clear, concise writing
- Code blocks with syntax highlighting
- Examples with expected output
- Warning and tip callouts
- Cross-references between docs
- Tested commands and procedures
## Next Steps
Users should:
1. Start with getting-started.md
2. Configure secrets using secrets-management.md
3. Enable GPU if available (gpu-setup.md)
4. Use quick-reference.md for daily operations
5. Refer to faq.md and common-issues.md when stuck
---
**This documentation makes the homelab accessible to users of all skill levels!**
366 lines
8.6 KiB
Markdown
366 lines
8.6 KiB
Markdown
# Services Overview
|
|
|
|
Complete list of all services in the homelab with descriptions and use cases.
|
|
|
|
## Core Infrastructure (Required)
|
|
|
|
### Traefik
|
|
- **URL**: https://traefik.fig.systems
|
|
- **Purpose**: Reverse proxy with automatic SSL/TLS
|
|
- **Why**: Routes all traffic, manages Let's Encrypt certificates
|
|
- **Required**: ✅ Yes - Nothing works without this
|
|
|
|
### LLDAP
|
|
- **URL**: https://lldap.fig.systems
|
|
- **Purpose**: Lightweight LDAP directory for user management
|
|
- **Why**: Centralized user database for SSO
|
|
- **Required**: ✅ Yes (if using SSO)
|
|
- **Default Login**: admin / <your LLDAP_LDAP_USER_PASS>
|
|
|
|
### Tinyauth
|
|
- **URL**: https://auth.fig.systems
|
|
- **Purpose**: SSO forward authentication middleware
|
|
- **Why**: Single login for all services
|
|
- **Required**: ✅ Yes (if using SSO)
|
|
|
|
## Dashboard & Management
|
|
|
|
### Homarr
|
|
- **URL**: https://home.fig.systems
|
|
- **Purpose**: Service dashboard with auto-discovery
|
|
- **Why**: See all your services in one place, monitor status
|
|
- **Required**: ⬜ No, but highly recommended
|
|
- **Features**:
|
|
- Auto-discovers Docker containers
|
|
- Customizable widgets
|
|
- Service status monitoring
|
|
- Integration with media services
|
|
|
|
### Backrest
|
|
- **URL**: https://backup.fig.systems
|
|
- **Purpose**: Backup management with web UI (uses Restic)
|
|
- **Why**: Encrypted, deduplicated backups to Backblaze B2
|
|
- **Required**: ⬜ No, but critical for data safety
|
|
- **Features**:
|
|
- Web-based backup management
|
|
- Scheduled backups
|
|
- File browsing and restore
|
|
- Encryption at rest
|
|
- S3-compatible storage support
|
|
|
|
## Media Services
|
|
|
|
### Jellyfin
|
|
- **URL**: https://flix.fig.systems
|
|
- **Purpose**: Media server (Netflix alternative)
|
|
- **Why**: Watch your movies/TV shows anywhere
|
|
- **Required**: ⬜ No
|
|
- **Features**:
|
|
- Stream to any device
|
|
- Hardware transcoding (with GPU)
|
|
- Live TV & DVR
|
|
- Mobile apps available
|
|
- Subtitle support
|
|
|
|
### Immich
|
|
- **URL**: https://photos.fig.systems
|
|
- **Purpose**: Photo and video management (Google Photos alternative)
|
|
- **Why**: Self-hosted photo library with ML features
|
|
- **Required**: ⬜ No
|
|
- **Features**:
|
|
- Face recognition (with GPU)
|
|
- Object detection
|
|
- Mobile apps with auto-upload
|
|
- Timeline view
|
|
- Album organization
|
|
|
|
### Jellyseerr
|
|
- **URL**: https://requests.fig.systems
|
|
- **Purpose**: Media request management
|
|
- **Why**: Let users request movies/shows
|
|
- **Required**: ⬜ No (only if using Sonarr/Radarr)
|
|
- **Features**:
|
|
- Request movies and TV shows
|
|
- Integration with Jellyfin
|
|
- User permissions
|
|
- Notification system
|
|
|
|
## Media Automation
|
|
|
|
### Sonarr
|
|
- **URL**: https://sonarr.fig.systems
|
|
- **Purpose**: TV show automation
|
|
- **Why**: Automatically download and organize TV shows
|
|
- **Required**: ⬜ No
|
|
- **Features**:
|
|
- Episode tracking
|
|
- Automatic downloading
|
|
- Quality management
|
|
- Calendar view
|
|
|
|
### Radarr
|
|
- **URL**: https://radarr.fig.systems
|
|
- **Purpose**: Movie automation
|
|
- **Why**: Automatically download and organize movies
|
|
- **Required**: ⬜ No
|
|
- **Features**:
|
|
- Movie tracking
|
|
- Automatic downloading
|
|
- Quality profiles
|
|
- Collection management
|
|
|
|
### SABnzbd
|
|
- **URL**: https://sabnzbd.fig.systems
|
|
- **Purpose**: Usenet downloader
|
|
- **Why**: Download from Usenet newsgroups
|
|
- **Required**: ⬜ No (only if using Usenet)
|
|
- **Features**:
|
|
- Fast downloads
|
|
- Automatic verification and repair
|
|
- Category-based processing
|
|
- Password support
|
|
|
|
### qBittorrent
|
|
- **URL**: https://qbt.fig.systems
|
|
- **Purpose**: BitTorrent client
|
|
- **Why**: Download torrents
|
|
- **Required**: ⬜ No (only if using torrents)
|
|
- **Features**:
|
|
- Web-based UI
|
|
- RSS support
|
|
- Sequential downloading
|
|
- IP filtering
|
|
|
|
## Productivity Services
|
|
|
|
### Linkwarden
|
|
- **URL**: https://links.fig.systems
|
|
- **Purpose**: Bookmark manager
|
|
- **Why**: Save and organize web links
|
|
- **Required**: ⬜ No
|
|
- **Features**:
|
|
- Collaborative bookmarking
|
|
- Full-text search
|
|
- Screenshots and PDFs
|
|
- Tags and collections
|
|
- Browser extensions
|
|
|
|
### Vikunja
|
|
- **URL**: https://tasks.fig.systems
|
|
- **Purpose**: Task management (Todoist alternative)
|
|
- **Why**: Track tasks and projects
|
|
- **Required**: ⬜ No
|
|
- **Features**:
|
|
- Kanban boards
|
|
- Lists and sub-tasks
|
|
- Due dates and reminders
|
|
- Collaboration
|
|
- CalDAV support
|
|
|
|
### FreshRSS
|
|
- **URL**: https://rss.fig.systems
|
|
- **Purpose**: RSS/Atom feed reader
|
|
- **Why**: Aggregate news and blogs
|
|
- **Required**: ⬜ No
|
|
- **Features**:
|
|
- Web-based reader
|
|
- Mobile apps via API
|
|
- Filtering and search
|
|
- Multi-user support
|
|
|
|
## Specialized Services
|
|
|
|
### LubeLogger
|
|
- **URL**: https://garage.fig.systems
|
|
- **Purpose**: Vehicle maintenance tracker
|
|
- **Why**: Track mileage, maintenance, costs
|
|
- **Required**: ⬜ No
|
|
- **Features**:
|
|
- Service records
|
|
- Fuel tracking
|
|
- Cost analysis
|
|
- Reminder system
|
|
- Export data
|
|
|
|
### Calibre-web
|
|
- **URL**: https://books.fig.systems
|
|
- **Purpose**: Ebook library manager
|
|
- **Why**: Manage and read ebooks
|
|
- **Required**: ⬜ No
|
|
- **Features**:
|
|
- Web-based ebook reader
|
|
- Format conversion
|
|
- Metadata management
|
|
- Send to Kindle
|
|
- OPDS support
|
|
|
|
### Booklore
|
|
- **URL**: https://booklore.fig.systems
|
|
- **Purpose**: Book tracking and reviews
|
|
- **Why**: Track reading progress and reviews
|
|
- **Required**: ⬜ No
|
|
- **Features**:
|
|
- Reading lists
|
|
- Progress tracking
|
|
- Reviews and ratings
|
|
- Import from Goodreads
|
|
|
|
### RSSHub
|
|
- **URL**: https://rsshub.fig.systems
|
|
- **Purpose**: RSS feed generator
|
|
- **Why**: Generate RSS feeds for sites without them
|
|
- **Required**: ⬜ No
|
|
- **Features**:
|
|
- 1000+ source support
|
|
- Custom routes
|
|
- Filter and transform feeds
|
|
|
|
### MicroBin
|
|
- **URL**: https://paste.fig.systems
|
|
- **Purpose**: Encrypted pastebin with file upload
|
|
- **Why**: Share code snippets and files
|
|
- **Required**: ⬜ No
|
|
- **Features**:
|
|
- Encryption support
|
|
- File uploads
|
|
- Burn after reading
|
|
- Custom expiry
|
|
- Password protection
|
|
|
|
### File Browser
|
|
- **URL**: https://files.fig.systems
|
|
- **Purpose**: Web-based file manager
|
|
- **Why**: Browse and manage media files
|
|
- **Required**: ⬜ No
|
|
- **Features**:
|
|
- Upload/download files
|
|
- Preview images and videos
|
|
- Text editor
|
|
- File sharing
|
|
- User permissions
|
|
|
|
## Service Categories
|
|
|
|
### Minimum Viable Setup
|
|
Just want to get started? Deploy these:
|
|
1. Traefik
|
|
2. LLDAP
|
|
3. Tinyauth
|
|
4. Homarr
|
|
|
|
### Media Enthusiast Setup
|
|
For streaming media:
|
|
1. Core services (above)
|
|
2. Jellyfin
|
|
3. Sonarr
|
|
4. Radarr
|
|
5. qBittorrent
|
|
6. Jellyseerr
|
|
|
|
### Complete Homelab
|
|
Everything:
|
|
1. Core services
|
|
2. All media services
|
|
3. All productivity services
|
|
4. Backrest for backups
|
|
|
|
## Resource Requirements
|
|
|
|
### Light (2 Core, 4GB RAM)
|
|
- Core services
|
|
- Homarr
|
|
- 2-3 utility services
|
|
|
|
### Medium (4 Core, 8GB RAM)
|
|
- Core services
|
|
- Media services (without transcoding)
|
|
- Most utility services
|
|
|
|
### Heavy (6+ Core, 16GB+ RAM)
|
|
- All services
|
|
- GPU transcoding
|
|
- Multiple concurrent users
|
|
|
|
## Quick Deploy Checklist
|
|
|
|
**Before deploying a service:**
|
|
- ✅ Core infrastructure is running
|
|
- ✅ `.env` file configured with secrets
|
|
- ✅ DNS record created
|
|
- ✅ Understand what the service does
|
|
- ✅ Know how to configure it
|
|
|
|
**After deploying:**
|
|
- ✅ Check container is running: `docker ps`
|
|
- ✅ Check logs: `docker compose logs`
|
|
- ✅ Access web UI and complete setup
|
|
- ✅ Test SSO if applicable
|
|
- ✅ Add to Homarr dashboard
|
|
|
|
## Service Dependencies
|
|
|
|
```
|
|
Traefik (required for all)
|
|
├── LLDAP
|
|
│ └── Tinyauth
|
|
│ └── All SSO-protected services
|
|
├── Jellyfin
|
|
│ └── Jellyseerr
|
|
│ ├── Sonarr
|
|
│ └── Radarr
|
|
│ ├── SABnzbd
|
|
│ └── qBittorrent
|
|
├── Immich
|
|
│ └── Backrest (for backups)
|
|
└── All other services
|
|
```
|
|
|
|
## When to Use Each Service
|
|
|
|
### Use Jellyfin if:
|
|
- You have a movie/TV collection
|
|
- Want to stream from anywhere
|
|
- Have family/friends who want access
|
|
- Want apps on all devices
|
|
|
|
### Use Immich if:
|
|
- You want Google Photos alternative
|
|
- Have lots of photos to manage
|
|
- Want ML features (face recognition)
|
|
- Have mobile devices
|
|
|
|
### Use Sonarr/Radarr if:
|
|
- You watch a lot of TV/movies
|
|
- Want automatic downloads
|
|
- Don't want to manually search
|
|
- Want quality control
|
|
|
|
### Use Backrest if:
|
|
- You care about your data (you should!)
|
|
- Want encrypted cloud backups
|
|
- Have important photos/documents
|
|
- Want easy restore process
|
|
|
|
### Use Linkwarden if:
|
|
- You save lots of bookmarks
|
|
- Want full-text search
|
|
- Share links with team
|
|
- Want offline archives
|
|
|
|
### Use Vikunja if:
|
|
- You need task management
|
|
- Work with teams
|
|
- Want Kanban boards
|
|
- Need CalDAV for calendar integration
|
|
|
|
## Next Steps
|
|
|
|
1. Review which services you actually need
|
|
2. Start with core + 2-3 services
|
|
3. Deploy and configure each fully
|
|
4. Add more services gradually
|
|
5. Monitor resource usage
|
|
|
|
---
|
|
|
|
**Remember**: You don't need all services. Start small and add what you actually use!
|