- Added Gitea (LXC 127) to service map - Added changelog entry for Gitea setup - Traefik routing configured for git.kavcorp.com 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
164 lines
5.6 KiB
Markdown
164 lines
5.6 KiB
Markdown
# 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
|
|
|
|
- **Gitea**: Added self-hosted Git server
|
|
- LXC 127 on pm4
|
|
- IP: 10.4.2.7:3000
|
|
- Domain: git.kavcorp.com
|
|
- Traefik config: `/etc/traefik/conf.d/gitea.yaml`
|
|
- Config: `/etc/gitea/app.ini`
|
|
- Push-to-create enabled for users and orgs
|
|
- Initial repo: `proxmox-infra` (infrastructure documentation)
|
|
- Tagged: community-script, git
|
|
|
|
### 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*
|