docs: implement user feedback from tasks.txt
- README.md: Fixed .env step order, updated to 60+ services - getting-started.md: Service count updates, credential clarifications, moved Manual Setup to separate file - manual-setup.md: Created comprehensive manual setup guide - authelia-customization.md: Moved Authelia customization from services-overview - services-overview.md: Added clickable links to service docs, removed disabled section and Quick Deployment - quick-reference.md: Linked to scripts/README.md instead of duplicating content - Removed services-reference.md as requested
This commit is contained in:
46
README.md
46
README.md
@@ -4,7 +4,7 @@ Leverage Github Copilot in VS Code as a complete homelab management interface.
|
||||
|
||||
## Overview
|
||||
|
||||
This repository provides a comprehensive, production-ready homelab infrastructure using Docker Compose with Dockge, featuring 40+ pre-configured services. Integrated AI assistance through GitHub Copilot helps you create, modify, and manage Docker services while maintaining consistency across your entire server stack.
|
||||
This repository provides a comprehensive, production-ready homelab infrastructure using Docker Compose with Dockge, featuring 60+ pre-configured services. Integrated AI assistance through GitHub Copilot helps you create, modify, and manage Docker services while maintaining consistency across your entire server stack.
|
||||
|
||||
The infrastructure uses Traefik for reverse proxy with automatic SSL, Authelia for Single Sign-On, Gluetun for VPN routing, and DuckDNS for dynamic DNS - all managed through file-based configurations that the AI can manage.
|
||||
|
||||
@@ -23,7 +23,7 @@ The infrastructure uses Traefik for reverse proxy with automatic SSL, Authelia f
|
||||
- **AI-Powered Management**: GitHub Copilot integration with specialized instructions for Docker service management
|
||||
- **Automated Setup & Deployment**: Two-script installation process with intelligent error handling
|
||||
- **Dockge Structure**: All stacks organized in `/opt/stacks/` for easy management via Dockge web UI
|
||||
- **40+ Pre-configured Services**: Production-ready compose files across infrastructure, media, home automation, productivity, and monitoring
|
||||
- **60+ Pre-configured Services**: Production-ready compose files across infrastructure, media, home automation, productivity, and monitoring
|
||||
- **Traefik Reverse Proxy**: Automatic HTTPS with Let's Encrypt via file-based configuration (no web UI needed)
|
||||
- **Authelia SSO**: Single Sign-On protection for all admin interfaces with automated password generation
|
||||
- **Gluetun VPN**: Surfshark WireGuard integration for secure downloads
|
||||
@@ -63,7 +63,26 @@ The infrastructure uses Traefik for reverse proxy with automatic SSL, Authelia f
|
||||
cd AI-Homelab
|
||||
```
|
||||
|
||||
2. **Run first-run setup script:**
|
||||
2. **Create and configure environment file:**
|
||||
```bash
|
||||
cp .env.example .env
|
||||
nano .env # Edit with your domain, API keys, and passwords
|
||||
```
|
||||
> Alternatively you can ssh in from VS Code using the Remote-SSH plugin and edit in a nice editor
|
||||
|
||||
**IMPORTANT:** Keep your `.env` file in the repository folder (`~/AI-Homelab/.env`). The deploy script will automatically copy it where needed.
|
||||
|
||||
**Required variables:**
|
||||
- `DOMAIN` - Your DuckDNS domain (e.g., yourdomain.duckdns.org)
|
||||
- `DUCKDNS_TOKEN` - Your DuckDNS token from [duckdns.org](https://www.duckdns.org/)
|
||||
- `ACME_EMAIL` - Your email for Let's Encrypt certificates
|
||||
- `SURFSHARK_USERNAME` and `SURFSHARK_PASSWORD` - If using VPN features
|
||||
|
||||
**Note:** Authelia secrets (`AUTHELIA_JWT_SECRET`, `AUTHELIA_SESSION_SECRET`, `AUTHELIA_STORAGE_ENCRYPTION_KEY`) are automatically generated by the setup script, leave default values for now.
|
||||
|
||||
> See [Getting Started](docs/getting-started.md) for detailed instructions
|
||||
|
||||
3. **Run first-run setup script:**
|
||||
|
||||
This automated script handles system preparation and Authelia configuration. Safe to run on partially configured systems - it skips completed steps.
|
||||
|
||||
@@ -81,25 +100,6 @@ The infrastructure uses Traefik for reverse proxy with automatic SSL, Authelia f
|
||||
|
||||
**Important:** Log out and back in (or run `newgrp docker`) after setup completes.
|
||||
|
||||
3. **Create and configure environment file:**
|
||||
```bash
|
||||
cp .env.example .env
|
||||
nano .env # Edit with your domain, API keys, and passwords
|
||||
```
|
||||
> Alternatively you can ssh in from VS Code using the Remote-SSH plugin and edit in a nice editor
|
||||
|
||||
**IMPORTANT:** Keep your `.env` file in the repository folder (`~/AI-Homelab/.env`). The deploy script will automatically copy it where needed.
|
||||
|
||||
**Required variables:**
|
||||
- `DOMAIN` - Your DuckDNS domain (e.g., yourdomain.duckdns.org)
|
||||
- `DUCKDNS_TOKEN` - Your DuckDNS token from [duckdns.org](https://www.duckdns.org/)
|
||||
- `ACME_EMAIL` - Your email for Let's Encrypt certificates
|
||||
- `SURFSHARK_USERNAME` and `SURFSHARK_PASSWORD` - If using VPN features
|
||||
|
||||
**Note:** Authelia secrets (`AUTHELIA_JWT_SECRET`, `AUTHELIA_SESSION_SECRET`, `AUTHELIA_STORAGE_ENCRYPTION_KEY`) are automatically generated by the setup script. You can pre-generate them if desired using `openssl rand -hex 64`.
|
||||
|
||||
> See [Getting Started](docs/getting-started.md) for detailed instructions
|
||||
|
||||
4. **Run deployment script:**
|
||||
|
||||
This automated script will:
|
||||
@@ -116,8 +116,6 @@ The infrastructure uses Traefik for reverse proxy with automatic SSL, Authelia f
|
||||
./scripts/deploy-homelab.sh
|
||||
```
|
||||
|
||||
**Login credentials:** Check script output or `/opt/stacks/core/authelia/ADMIN_PASSWORD.txt`
|
||||
|
||||
**Note:** The script will prompt to optionally pre-pull images for additional stacks. This takes time but speeds up future deployments. Default is no.
|
||||
|
||||
5. **Deploy additional stacks through Dockge:**
|
||||
|
||||
Reference in New Issue
Block a user