Files
script/README.md
T
2026-01-21 16:02:53 +00:00

2.5 KiB

                  MILES' HOME SERVER STACK README

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)

If you are setting this up on a fresh install, follow these three steps:

Step 1: Prepare the Script Run: chmod +x setup.sh

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.)

Step 3: Launch Choose "Option 1" from the script menu to pull the images and start the services.

SERVICE MAP & NAVIGATION

All services are accessible via: your local IP or your tunnel of chese

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

DIRECTORY STRUCTURE

The setup.sh script automatically manages these paths:

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

MAINTENANCE VIA SETUP.SH

Run ./setup.sh at any time to access the management menu:

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.

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.

============================================================