This commit is contained in:
2026-01-21 16:45:00 +00:00
parent f394bf3b0e
commit 0a5ef19ef9
+47 -41
View File
@@ -1,62 +1,68 @@
MILES' HOME SERVER STACK README
# Miles' Home Server Stack
This repository contains a fully automated, containerized home server stack. It uses Docker for containerization, Caddy for reverse proxying, and is optimized for access via Tailscale.
QUICK START (NEW SYSTEM)
## Quick Start (New System)
If you are setting this up on a fresh install, follow these three steps:
Step 1: Prepare the Script Run: chmod +x setup.sh
1. **Prepare the Script**: Run `chmod +x setup.sh`
2. **Run the Setup**: Execute `./setup.sh` (This will install Docker if missing, create all required folders in `/home/miles/`, and set correct permissions.)
3. **Launch**: Choose "Option 1" from the script menu to pull the images and start the services.
Step 2: Run the Setup Run: ./setup.sh (This will install Docker if missing, create all required folders in /home/miles/, and set correct permissions.)
## Service Map & Navigation
Step 3: Launch Choose "Option 1" from the script menu to pull the images and start the services.
All services are accessible via: `http://raspberrypi.tail46eacb.ts.net:4533` (or your local IP)
SERVICE MAP & NAVIGATION
| Service | Path | Function |
|--------------|---------|---------------------------|
| Homarr | / | Central Dashboard (Landing Page) |
| Code-Server | /edit | VS Code Web IDE |
| Gitea | /git | Private Git Server |
| Navidrome | /music | Music Streaming |
| RomM | /roms | Retro Game Manager |
| Trilium | /notes | Knowledge Base / Notes |
| Excalidraw | /draw | Digital Whiteboard |
| qBittorrent | /tr | Download Manager |
| ntfy | /ntfy | Push Notifications |
All services are accessible via: your local IP or your tunnel of chese
## Directory Structure
SERVICE | PATH | FUNCTION ---------------|---------|---------------------------------- Homarr | / | Central Dashboard (Landing Page) Code-Server | /edit | VS Code Web IDE Gitea | /git | Private Git Server Navidrome | /music | Music Streaming RomM | /roms | Retro Game Manager Trilium | /notes | Knowledge Base / Notes Excalidraw | /draw | Digital Whiteboard qBittorrent | /tr | Download Manager ntfy | /ntfy | Push Notifications
The `setup.sh` script automatically manages these paths:
DIRECTORY STRUCTURE
- **Configs**: `/home/miles/code-config`, `/home/miles/qbittorrent-config`
- **Data**: `/home/miles/gitea-data`, `/home/miles/trilium-data`, `/home/miles/homarr-data`
- **Media**: `/home/miles/navidrome-music`, `/home/miles/roms`, `/home/miles/downloads`
The setup.sh script automatically manages these paths:
## Maintenance via setup.sh
CONFIGS: /home/miles/code-config, /home/miles/qbittorrent-config
Run `./setup.sh` at any time to access the management menu:
DATA: /home/miles/gitea-data, /home/miles/trilium-data, /home/miles/homarr-data
- **Update Apps**: Option 4 pulls the latest versions and restarts.
- **Check Status**: Option 5 shows which containers are running.
- **Logs**: Option 3 is vital for debugging startup issues.
MEDIA: /home/miles/navidrome-music, /home/miles/roms, /home/miles/downloads
## Troubleshooting Guide
MAINTENANCE VIA SETUP.SH
### [A] Permissions Issues
If a container won't start or says "Access Denied":
- Fix: `sudo chown -R 1000:1000 /home/miles/`
Run ./setup.sh at any time to access the management menu:
### [B] Caddy Routing Problems
If you see a "404" or "Blank Page" on a sub-path:
- Ensure container names in `Caddyfile` match `docker-compose.yml`.
- Run: `docker exec -it caddy caddy validate --config /etc/caddy/Caddyfile`
Update Apps: Option 4 pulls the latest versions and restarts.
### [C] Database Locks
If an app hangs (Gitea/Trilium), it may have a database lock.
- Fix: `docker compose restart [service-name]`
Check Status: Option 5 shows which containers are running.
### [D] Networking Conflicts
If port 4533 is in use, Caddy will fail.
- Check: `sudo netstat -tulpn | grep 4533`
Logs: Option 3 is vital for debugging startup issues.
## Important Notes
TROUBLESHOOTING GUIDE
[A] Permissions Issues If a container won't start or says "Access Denied": Fix: sudo chown -R 1000:1000 /home/miles/
[B] Caddy Routing Problems If you see a "404" or "Blank Page" on a sub-path:
Ensure container names in Caddyfile match docker-compose.yml.
Run: docker exec -it caddy caddy validate --config /etc/caddy/Caddyfile
[C] Database Locks If an app hangs (Gitea/Trilium), it may have a database lock. Fix: docker compose restart [service-name]
[D] Networking Conflicts If port 4533 is in use, Caddy will fail. Check: sudo netstat -tulpn | grep 4533
IMPORTANT NOTES
WATCHTOWER: Runs in the background to auto-update apps.
SECURITY: Change the code-server password in docker-compose.yml.
TAILSCALE: Must be "Connected" for the Gitea URL to work.
============================================================
- **Watchtower**: Runs in the background to auto-update apps.
- **Security**: Change the code-server password in `docker-compose.yml`.
- **Tailscale**: Must be "Connected" for the Gitea URL to work.