silverbullet-notes/docs/servers/main/README.md
2026-01-25 00:20:24 +00:00

245 lines
7.8 KiB
Markdown

# 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