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!**
92 lines
3.6 KiB
Markdown
92 lines
3.6 KiB
Markdown
# Homelab Documentation
|
|
|
|
Welcome to the homelab documentation! This folder contains comprehensive guides for setting up, configuring, and maintaining your self-hosted services.
|
|
|
|
## 📚 Documentation Structure
|
|
|
|
### Quick Start
|
|
- [Getting Started](./getting-started.md) - First-time setup walkthrough
|
|
- [Quick Reference](./quick-reference.md) - Common commands and URLs
|
|
|
|
### Configuration
|
|
- [Environment Variables & Secrets](./guides/secrets-management.md) - How to configure secure secrets
|
|
- [DNS Configuration](./guides/dns-setup.md) - Setting up domain names
|
|
- [SSL/TLS Certificates](./guides/ssl-certificates.md) - Let's Encrypt configuration
|
|
- [GPU Acceleration](./guides/gpu-setup.md) - NVIDIA GPU setup for Jellyfin and Immich
|
|
|
|
### Services
|
|
- [Service Overview](./services/README.md) - All available services
|
|
- [SSO Configuration](./services/sso-setup.md) - Single Sign-On with LLDAP and Tinyauth
|
|
- [Media Stack](./services/media-stack.md) - Jellyfin, Sonarr, Radarr setup
|
|
- [Backup Solutions](./services/backup.md) - Backrest configuration
|
|
|
|
### Troubleshooting
|
|
- [Common Issues](./troubleshooting/common-issues.md) - Frequent problems and solutions
|
|
- [FAQ](./troubleshooting/faq.md) - Frequently asked questions
|
|
- [Debugging Guide](./troubleshooting/debugging.md) - How to diagnose problems
|
|
|
|
### Operations
|
|
- [Maintenance](./operations/maintenance.md) - Regular maintenance tasks
|
|
- [Updates](./operations/updates.md) - Updating services
|
|
- [Backups](./operations/backups.md) - Backup and restore procedures
|
|
- [Monitoring](./operations/monitoring.md) - Service monitoring
|
|
|
|
## 🚀 Quick Links
|
|
|
|
### First Time Setup
|
|
1. [Prerequisites](./getting-started.md#prerequisites)
|
|
2. [Configure Secrets](./guides/secrets-management.md)
|
|
3. [Setup DNS](./guides/dns-setup.md)
|
|
4. [Deploy Services](./getting-started.md#deployment)
|
|
|
|
### Common Tasks
|
|
- [Add a new service](./guides/adding-services.md)
|
|
- [Generate secure passwords](./guides/secrets-management.md#generating-secrets)
|
|
- [Enable GPU acceleration](./guides/gpu-setup.md)
|
|
- [Backup configuration](./operations/backups.md)
|
|
- [Update a service](./operations/updates.md)
|
|
|
|
### Troubleshooting
|
|
- [Service won't start](./troubleshooting/common-issues.md#service-wont-start)
|
|
- [SSL certificate errors](./troubleshooting/common-issues.md#ssl-errors)
|
|
- [SSO not working](./troubleshooting/common-issues.md#sso-issues)
|
|
- [Can't access service](./troubleshooting/common-issues.md#access-issues)
|
|
|
|
## 📖 Documentation Conventions
|
|
|
|
Throughout this documentation:
|
|
- `command` - Commands to run in terminal
|
|
- **Bold** - Important concepts or UI elements
|
|
- `https://service.fig.systems` - Example URLs
|
|
- ⚠️ - Warning or important note
|
|
- 💡 - Tip or helpful information
|
|
- ✅ - Verified working configuration
|
|
|
|
## 🔐 Security Notes
|
|
|
|
Before deploying to production:
|
|
1. ✅ Change all passwords in `.env` files
|
|
2. ✅ Configure DNS records
|
|
3. ✅ Verify SSL certificates are working
|
|
4. ✅ Enable backups
|
|
5. ✅ Review security settings
|
|
|
|
## 🆘 Getting Help
|
|
|
|
If you encounter issues:
|
|
1. Check [Common Issues](./troubleshooting/common-issues.md)
|
|
2. Review [FAQ](./troubleshooting/faq.md)
|
|
3. Check service logs: `docker compose logs servicename`
|
|
4. Review the [Debugging Guide](./troubleshooting/debugging.md)
|
|
|
|
## 📝 Contributing to Documentation
|
|
|
|
Found an error or have a suggestion? Documentation improvements are welcome!
|
|
- Keep guides clear and concise
|
|
- Include examples and code snippets
|
|
- Test all commands before documenting
|
|
- Update the table of contents when adding new files
|
|
|
|
## 🔄 Last Updated
|
|
|
|
This documentation is automatically maintained and reflects the current state of the homelab repository.
|