# Main Server (192.168.1.252) Documentation _Last updated: 2026-01-05_ --- ## Server Overview This is the **primary Docker infrastructure server** running at **192.168.1.252**. It hosts the majority of media services, custom applications, and core infrastructure components. **Primary Role:** Main Docker host for media management, productivity apps, and custom applications **Key Functions:** - **Media Management:** Complete Arr stack (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr) - **Media Servers:** Emby, Jellyfin, Audiobookshelf, Channels DVR, Navidrome - **Custom Applications:** Books V2, SpeedRacer, Store Matching, Mixarr - **Infrastructure:** Traefik reverse proxy, Homepage dashboard, Watchtower, Autoscan - **Productivity:** Mealie, Immich, Silverbullet - **Monitoring:** Karakeep, Web-Check - **Utilities:** Subgen, Vert, Termix --- ## Server Specifications - **IP Address:** 192.168.1.252 - **Working Directory:** /mnt/docker-storage/appdata - **Additional Directory:** /home/maddox/docker/appdata - **Operating System:** Linux 6.8.0-90-generic - **Container Runtime:** Docker with Docker Compose - **Reverse Proxy:** Traefik (configured on 192.168.12.3, routes to this server) - **Total Services:** 60+ containerized services --- ## Documentation Structure All detailed documentation for this server is located in the parent `docs/` directory: ### Core Documentation - **[Service Inventory](../00-service-inventory.md)**: Complete inventory of all Docker services running on this server - **[Network Architecture](../01-network-architecture.md)**: Networking setup, Docker networks, Traefik, and DNS - **[Database Documentation](../02-databases.md)**: All databases including external MariaDB and containerized databases - **[Traefik Routing Reference](../03-traefik-routes.md)**: Quick reference for all Traefik routes - **[Environment Variables Reference](../04-environment-variables.md)**: Environment variables used by services - **[Backup and Restore Procedures](../05-backup-restore.md)**: Backup and restore instructions - **[Troubleshooting Guide](../06-troubleshooting.md)**: Common issues and solutions - **[Development Quick Reference](../07-dev-quick-reference.md)**: Development tasks cheat sheet - **[Security and Secrets](../08-security.md)**: Security mechanisms and secrets management ### Application Documentation - **[Books V2](../apps/books-v2.md)**: Full-stack book library manager - **[Mixarr](../apps/mixarr.md)**: AI-powered music discovery for Lidarr --- ## Key Service Categories ### Media Automation (Arr Stack) - **Sonarr** - TV show automation - **Radarr** - Movie automation - **Lidarr** - Music automation - **Readarr** - Book automation - **Prowlarr** - Indexer management - **Bazarr** - Subtitle automation - **Mixarr** - AI-powered music discovery ### Media Servers - **Emby** - Primary media server (TV, movies, music) - **Jellyfin** - Alternative media server - **Audiobookshelf** - Audiobook and podcast server - **Channels DVR** - Live TV and DVR - **Navidrome** - Music streaming server ### Custom Applications - **Books V2** - React + FastAPI book library manager - **SpeedRacer** - Running performance tracker - **Store Matching** - Store list matching application - **Mixarr** - Music discovery with LLM integration ### Infrastructure - **Traefik** - Reverse proxy with SSL/TLS (runs on 192.168.12.3) - **Homepage** - Service dashboard - **Watchtower** - Automatic container updates - **Autoscan** - Automated media library scanning - **Tailscale** - Mesh VPN ### Productivity - **Mealie** - Recipe management - **Immich** - Photo management and backup - **Silverbullet** - Personal knowledge base (this documentation!) ### Monitoring & Utilities - **Karakeep** - Bookmark manager - **Web-Check** - Website analysis tool - **Subgen** - AI subtitle generation (Whisper) - **Vert** - File conversion utility - **Termix** - Terminal sharing --- ## Database Infrastructure ### External MariaDB (192.168.1.251:3306) - **node** - Store matching application database - **books_v2** - Books V2 application database **Important:** As of January 2026, database replication to the secondary server (192.168.12.3) has been **disabled**. All applications connect directly to the primary server. ### Containerized Databases - **Mixarr MySQL** - MySQL 8.0 for Mixarr music discovery data - **Immich PostgreSQL** - PostgreSQL with vector support for photo search - **Mealie PostgreSQL** - PostgreSQL for recipe data - **Various Redis** - Session and cache storage for multiple services ### SQLite Databases Many services use SQLite for local storage: - Audiobookshelf, Bazarr, Lidarr, Prowlarr, Radarr, Readarr, Sonarr, Jellyseerr, Watchstate, Karakeep, ArchiveForge See [Database Documentation](../02-databases.md) for complete details. --- ## Network Configuration ### Docker Networks - **traefik_proxy** - External network shared with Traefik (on 192.168.12.3) - Multiple service-specific internal networks for isolation ### Traefik Configuration Traefik runs on the **Hetzner server (192.168.12.3)** and routes traffic to services on this server. Configuration managed via: - Central Traefik config file: `~/dyno.yml` (on 192.168.12.3) - Web interface: Traefik Configuration Manager (tm.3ddbrewery.com) Services are accessed via: - `*.3ddbrewery.com` - Primary domain - `*.fails.me` - Secondary domain --- ## Access & Domains All services are accessed through Traefik reverse proxy with automatic HTTPS: **Examples:** - Books: `books.3ddbrewery.com` - Mixarr: `mixarr.3ddbrewery.com` (web), `api.mixarr.3ddbrewery.com` (API) - Emby: `m.3ddbrewery.com`, `tv.3ddbrewery.com` - Sonarr: `sonarr.3ddbrewery.com` - Homepage: `h.3ddbrewery.com` Authentication handled by **Authentik** (running on 192.168.12.3) for most services. --- ## Important Notes ### Storage Volumes - **/mnt/docker-storage/appdata** - Primary application data directory - **/home/maddox/docker/appdata** - Additional application directory - **/volume1/Media** - Media files (NAS mount) - **/volume1/Downloads** - Download staging area - **/volume1/archive** - Archive storage ### Container Management - **Watchtower** handles automatic updates for most containers - Some containers have updates disabled (books_webv2, store-matching, speedracer) - Use `docker-compose` commands within service directories for manual management ### Port Conflicts Port 3000 is used by Books V2 frontend, which is why Mixarr web uses port 3006. --- ## Multi-Server Infrastructure This server works in conjunction with the **Hetzner Server (192.168.12.3)**: - **Hetzner Server** runs: Traefik, Authentik SSO, MariaDB replica, Firefly III, Node-RED - **This Server** runs: All media services, custom apps, productivity tools - Both servers connected via **Tailscale mesh VPN** - Traefik on Hetzner routes to services on this server See [Hetzner Server Documentation](../servers/hetzner/README.md) for the companion server. --- ## Quick Reference ### Common Commands ```bash # Navigate to service directory cd /mnt/docker-storage/appdata/[service-name] # Start service docker-compose up -d # View logs docker-compose logs -f # Restart service docker-compose restart # Stop service docker-compose down ``` ### Key Files - `/mnt/docker-storage/appdata/CLAUDE.md` - Main project documentation - `/mnt/docker-storage/appdata/all_containers.txt` - List of all containers - Individual service directories contain `docker-compose.yml` files ### Getting Help - Check the [Troubleshooting Guide](../06-troubleshooting.md) - Review service-specific CLAUDE.md files in service directories - Examine container logs: `docker-compose logs -f [service]` --- ## See Also - [Hetzner Server (192.168.12.3)](../servers/hetzner/README.md) - Companion server documentation - [Application Documentation](../apps/) - Detailed docs for custom applications - [Service Inventory](../00-service-inventory.md) - Complete service listing