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:
@@ -1,6 +1,6 @@
|
||||
# Getting Started Guide
|
||||
|
||||
Welcome to your AI-powered homelab! This guide will walk you through setting up your production-ready infrastructure with Dockge, Traefik, Authelia, and 40+ services.
|
||||
Welcome to your AI-powered homelab! This guide will walk you through setting up your production-ready infrastructure with Dockge, Traefik, Authelia, and 60+ services.
|
||||
|
||||
## Quick Setup (Recommended)
|
||||
|
||||
@@ -36,7 +36,7 @@ For most users, the automated setup script handles everything:
|
||||
- `ACME_EMAIL` - Your email for Let's Encrypt certificates
|
||||
- `SURFSHARK_USERNAME` and `SURFSHARK_PASSWORD` - If using VPN
|
||||
|
||||
**Note:** The `.env` file stays in the repository folder (`~/AI-Homelab/.env`). The deploy script copies it to stack directories automatically. Authelia secrets are generated by the setup script.
|
||||
**Note:** The `.env` file stays in the repository folder (`~/AI-Homelab/.env`). The deploy script copies it to stack directories automatically. Authelia secrets (JWT, session, encryption key) are auto-generated by the setup script - leave them with default values for now.
|
||||
|
||||
5. **Run the setup script:**
|
||||
```bash
|
||||
@@ -56,8 +56,6 @@ For most users, the automated setup script handles everything:
|
||||
- Set up Docker networks (homelab, traefik, dockerproxy, media)
|
||||
- Detect NVIDIA GPU and offer driver installation
|
||||
|
||||
**Important:** The script generates a secure admin password hash that will be used during deployment. Credentials are displayed at the end and saved to a temporary file.
|
||||
|
||||
6. **Log out and back in** (or run `newgrp docker`)
|
||||
> Don't skip this step! Required for Docker group permissions.
|
||||
|
||||
@@ -76,8 +74,8 @@ For most users, the automated setup script handles everything:
|
||||
- Opens Dockge in your browser
|
||||
|
||||
**Login credentials:**
|
||||
- Username: `admin`
|
||||
- Password: Check `/opt/stacks/core/authelia/ADMIN_PASSWORD.txt` or see script output
|
||||
- Username: `admin` (default username - or the custom username you specified during setup)
|
||||
- Password: The secure password you created when prompted by the setup script
|
||||
|
||||
**That's it!** Your homelab is ready. Access Dockge at `https://dockge.yourdomain.duckdns.org`
|
||||
|
||||
@@ -116,97 +114,30 @@ The `setup-homelab.sh` script is a comprehensive first-run configuration tool:
|
||||
|
||||
## Manual Setup (Alternative)
|
||||
|
||||
If you prefer manual control or the script fails, follow these steps:
|
||||
If you prefer manual control or the automated script fails, see the [Manual Setup Guide](manual-setup.md) for step-by-step instructions on installing Docker, configuring services, and deploying the homelab manually.
|
||||
|
||||
### Step 1: System Preparation
|
||||
```bash
|
||||
# Update system
|
||||
sudo apt update && sudo apt upgrade -y
|
||||
|
||||
# Install required packages
|
||||
sudo apt install -y curl wget git ufw openssh-server
|
||||
|
||||
# Enable firewall
|
||||
sudo ufw allow ssh
|
||||
sudo ufw allow 80/tcp
|
||||
sudo ufw allow 443/tcp
|
||||
sudo ufw --force enable
|
||||
```
|
||||
|
||||
### Step 2: Install Docker
|
||||
```bash
|
||||
# Install Docker
|
||||
curl -fsSL https://get.docker.com -o get-docker.sh
|
||||
sudo sh get-docker.sh
|
||||
|
||||
# Add user to docker group
|
||||
sudo usermod -aG docker $USER
|
||||
sudo usermod -aG sudo $USER
|
||||
|
||||
# Log out and back in, or run: newgrp docker
|
||||
```
|
||||
|
||||
### Step 3: Clone Repository
|
||||
```bash
|
||||
cd ~
|
||||
git clone https://github.com/kelinfoxy/AI-Homelab.git
|
||||
cd AI-Homelab
|
||||
```
|
||||
|
||||
### Step 4: Configure Environment
|
||||
```bash
|
||||
cp .env.example .env
|
||||
nano .env # Edit all required variables
|
||||
```
|
||||
|
||||
### Step 5: Create Infrastructure
|
||||
```bash
|
||||
# Create directories
|
||||
sudo mkdir -p /opt/stacks /mnt/{media,database,downloads,backups}
|
||||
sudo chown -R $USER:$USER /opt/stacks /mnt
|
||||
|
||||
# Create networks
|
||||
docker network create traefik-network
|
||||
docker network create homelab-network
|
||||
docker network create media-network
|
||||
```
|
||||
|
||||
### Step 6: Deploy Services
|
||||
```bash
|
||||
# Deploy core infrastructure
|
||||
sudo mkdir -p /opt/stacks/core
|
||||
cp docker-compose/core.yml /opt/stacks/core/
|
||||
cp -r config-templates/traefik /opt/stacks/core/
|
||||
cp -r config-templates/authelia /opt/stacks/core/
|
||||
cp .env /opt/stacks/core/
|
||||
cd /opt/stacks/core
|
||||
docker compose up -d
|
||||
|
||||
# Deploy infrastructure stack
|
||||
sudo mkdir -p /opt/stacks/infrastructure
|
||||
cp ../docker-compose/infrastructure.yml /opt/stacks/infrastructure/
|
||||
cp ../.env /opt/stacks/infrastructure/
|
||||
cd /opt/stacks/infrastructure
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Post-Setup Configuration
|
||||
## Post-Setup Next Steps
|
||||
|
||||
### Access Your Services
|
||||
- **Dockge**: `https://dockge.yourdomain.duckdns.org`
|
||||
- **Authelia**: `https://auth.yourdomain.duckdns.org`
|
||||
- **Traefik**: `https://traefik.yourdomain.duckdns.org`
|
||||
|
||||
### Configure Authelia
|
||||
### Set Up 2FA with Authelia
|
||||
1. Access `https://auth.yourdomain.duckdns.org`
|
||||
2. Set up your admin user
|
||||
3. Configure 2FA for security
|
||||
|
||||
### Deploy Additional Stacks
|
||||
Use Dockge to deploy stacks like:
|
||||
- `dashboards.yml` - Homepage and Homarr
|
||||
- `media.yml` - Plex, Jellyfin, Sonarr, Radarr
|
||||
- `productivity.yml` - Nextcloud, Gitea, wikis
|
||||
- `arr-apps.yml` - Media management (Radarr, Sonarr, Prowlarr, etc.)
|
||||
- `media-servers.yml` - Plex and Jellyfin
|
||||
- `downloaders.yml` - qBittorrent, Transmission, etc.
|
||||
- `monitoring.yml` - Uptime Kuma and metrics
|
||||
- `system-tools.yml` - Utility services
|
||||
- `automation.yml` - Automated workflows
|
||||
|
||||
**Note:** The dashboards stack (Homepage and Homarr) is already deployed during initial setup.
|
||||
|
||||
### Set Up Homepage Widgets
|
||||
1. Access Homepage dashboard
|
||||
@@ -236,6 +167,7 @@ Use Dockge to deploy stacks like:
|
||||
- View logs: `docker exec traefik tail -50 /var/log/traefik/traefik.log | grep certificate`
|
||||
- **Authelia login fails**: Check user database configuration at `/opt/stacks/core/authelia/users_database.yml`
|
||||
- **"Not secure" warnings**: Clear browser cache or wait for DNS propagation (up to 5 minutes)
|
||||
- **Check logs**: Use Dozzle web interface at `https://dozzle.yourdomain.duckdns.org` or run `docker logs <container-name>`
|
||||
|
||||
### Common Fixes
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user