# Changelog > **Purpose**: Historical record of all significant infrastructure changes ## 2025-12-07 ### Service Additions - **Vaultwarden**: Created new password manager LXC - LXC 125 on pm4 - IP: 10.4.2.212 - Domain: vtw.kavcorp.com - Traefik config: `/etc/traefik/conf.d/vaultwarden.yaml` - Tagged: community-script, password-manager - **Immich**: Migrated from Docker (dockge LXC 107 on pm3) to native LXC - LXC 126 on pm4 - IP: 10.4.2.24:2283 - Domain: immich.kavcorp.com - Traefik config: `/etc/traefik/conf.d/immich.yaml` - Library storage: NFS mount from elantris (`/el-pool/downloads/immich/`) - 38GB photo library transferred via rsync - Fresh database (version incompatibility: old v1.129.0 → new v2.3.1) - Services: immich-web.service, immich-ml.service - Tagged: community-script, photos ### Infrastructure Maintenance - **Traefik (LXC 104)**: Fixed disk full issue - Truncated 895MB access log that filled 2GB rootfs - Added logrotate config to prevent recurrence (50MB max, 7 day rotation) - Cleaned apt cache and journal logs ## 2025-11-20 ### Service Changes - **AMP**: Added to Traefik reverse proxy - LXC 124 on elantris (10.4.2.26:8080) - Domain: amp.kavcorp.com - Traefik config: `/etc/traefik/conf.d/amp.yaml` - Purpose: Game server management via CubeCoders AMP ## 2025-11-19 ### Service Changes - **LXC 123 (elantris)**: Migrated from Ollama to llama.cpp - Removed Ollama installation and service - Built llama.cpp from source with CURL support - Downloaded TinyLlama 1.1B Q4_K_M model (~667MB) - Created systemd service for llama.cpp server - Server running on port 11434 (OpenAI-compatible API) - Model path: `/opt/llama.cpp/models/tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf` - Service: `llama-cpp.service` - Domain remains: ollama.kavcorp.com (pointing to llama.cpp now) - **LXC 124 (elantris)**: Created new AMP (Application Management Panel) container - IP: 10.4.2.26 - Resources: 4 CPU cores, 4GB RAM, 16GB storage - Storage: local-lvm on elantris - OS: Ubuntu 24.04 LTS - Purpose: Game server management via CubeCoders AMP - Tagged: gaming, amp ## 2025-11-17 ### Service Additions - **Ollama**: Added to Traefik reverse proxy - LXC 123 on elantris - IP: 10.4.2.224:11434 - Domain: ollama.kavcorp.com - Traefik config: `/etc/traefik/conf.d/ollama.yaml` - Downloaded Qwen 3 Coder 30B model - **Frigate**: Added to Traefik reverse proxy - LXC 111 on pm3 - IP: 10.4.2.215:5000 - Domain: frigate.kavcorp.com - Traefik config: `/etc/traefik/conf.d/frigate.yaml` - **Foundry VTT**: Added to Traefik reverse proxy - LXC 112 on pm3 - IP: 10.4.2.37:30000 - Domain: vtt.kavcorp.com - Traefik config: `/etc/traefik/conf.d/foundry.yaml` ### Infrastructure Changes - **SSH Access**: Regenerated SSH keys on pm2 and distributed to all cluster nodes - pm3 SSH service was down, enabled and configured - All nodes (pm1, pm2, pm3, pm4, elantris) now accessible from pm2 via Proxmox web UI ### Service Configuration - **NZBGet**: Fixed file permissions - Set `UMask=0000` in nzbget.conf to create files with 777 permissions - Fixed permission issues causing Sonarr import failures - **Sonarr**: Enabled automatic permission setting - Media Management → Set Permissions → chmod 777 - Ensures imported files are accessible by Jellyfin - **Jellyseerr**: Fixed Traefik routing - Corrected IP from 10.4.2.20 to 10.4.2.18 in media-services.yaml - **Jellyfin**: Fixed LXC mount issues - Restarted LXC 121 to activate media mounts - Media now visible in `/media/tv`, `/media/movies`, `/media/anime` ### Documentation - **Major Reorganization**: Consolidated scattered docs into structured system - Created `README.md` - Documentation index and guide - Created `INFRASTRUCTURE.md` - All infrastructure details - Created `CONFIGURATIONS.md` - Service configurations - Created `DECISIONS.md` - Architecture decisions and patterns - Created `TASKS.md` - Current and pending tasks - Created `CHANGELOG.md` - This file - Updated `CLAUDE.md` - Added documentation policy ## 2025-11-16 ### Service Deployments - **Home Assistant**: Added to Traefik reverse proxy - Domain: hass.kavcorp.com - Configured trusted proxies in Home Assistant - **Frigate**: Added to Traefik reverse proxy - Domain: frigate.kavcorp.com - **Proxmox**: Added to Traefik reverse proxy - Domain: pm.kavcorp.com - Backend: pm2 (10.4.2.6:8006) - **Recyclarr**: Configured TRaSH Guides automation - Sonarr and Radarr quality profiles synced - Dolby Vision blocking implemented - Daily sync schedule via cron ### Configuration Changes - **Traefik**: Removed Authelia from *arr services - Services now use only built-in authentication - Simplified access for Sonarr, Radarr, Prowlarr, Bazarr, Whisparr, NZBGet ### Issues Encountered - Media organization script moved files incorrectly - Sonarr database corruption (lost TV series tracking) - Permission issues with NZBGet downloads - Jellyfin LXC mount not active after deployment ### Lessons Learned - Always verify file permissions (777 required for NFS media) - Backup service databases before running automation scripts - LXC mounts may need container restart to activate - Traefik auto-reloads configs, no restart needed ## Earlier History *To be documented from previous sessions if needed*