Commit Graph

13 Commits

Author SHA1 Message Date
d583015d2b Revert "perf: use local volume for Pinchflat downloads instead of WebDAV"
This reverts commit 5f2fb12436.
2025-11-20 15:34:11 +01:00
5f2fb12436 perf: use local volume for Pinchflat downloads instead of WebDAV
The HiDrive WebDAV mount was causing severe performance issues:
- High latency for directory listings and file checks
- Slow UI page loads (multi-second delays)
- Database query idle times of 600-1600ms

Changed to use local Docker volume for /downloads, which provides:
- Fast filesystem operations
- Responsive UI
- No database connection delays

Note: Downloads are now stored locally. Set up rsync/rclone
to sync to HiDrive if remote storage is needed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 15:33:24 +01:00
92c3125773 fix: add JOURNAL_MODE=delete for Pinchflat SQLite on network share
SQLite was experiencing connection timeouts and errors because the
downloads folder is on a HiDrive network mount. Setting JOURNAL_MODE
to delete fixes SQLite locking issues on network filesystems.

Fixes: database connection timeouts and "Sqlite3 was invoked incorrectly" errors

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 15:26:33 +01:00
f2f85ae236 feat: add Pinchflat YouTube download manager to media stack
- Add Pinchflat service with Authelia SSO protection
- Configure download folder at /mnt/hidrive/users/valknar/Downloads/pinchflat
- Expose on pinchflat.media.pivoine.art
- Port 8945 with WebSocket support
- Protected by net-authelia middleware for secure access

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 15:06:15 +01:00
f25856a44b feat: remove Navidrome, use Jellyfin for all media
- Remove Navidrome service from media stack
- Remove Navidrome configuration from arty.yml
- Remove media/scan command (Navidrome-specific)
- Jellyfin now handles all media: images, videos, and music
2025-11-15 09:43:00 +01:00
f9d716c80a feat: add Music support to Jellyfin, remove music_files service
- Add /mnt/hidrive/users/valknar/Music mount to Jellyfin
- Remove standalone nginx music_files service
- Jellyfin now serves images, videos, and music
- Supports transcoding, download tracking, and direct URLs via API
2025-11-15 08:57:31 +01:00
0f21392113 feat: add static file server for direct MP3 links
- Add nginx service to serve music files at music.media.pivoine.art
- Enables direct MP3 file URLs for website embedding
- Serves files from /mnt/hidrive/users/valknar/Music read-only
2025-11-15 08:51:29 +01:00
b49ae07b44 feat: enable sharing and downloads in Navidrome
- Add ND_ENABLESHARING=true
- Add ND_ENABLEDOWNLOADS=true
- Add ND_DEFAULTDOWNLOADABLESHARE=true
- Enables public music sharing via share links
2025-11-15 07:50:24 +01:00
c07add5c11 feat: replace Koel and Ampache with Navidrome music streaming server
- Remove Koel and koel_init services from media stack
- Remove Ampache service from media stack
- Add Navidrome service at navidrome.media.pivoine.art
- Remove koel and ampache databases from postgres init script
- Update arty.yml with Navidrome configuration
- Navidrome uses SQLite (no PostgreSQL required)
- Supports public sharing and Subsonic API compatibility
2025-11-15 07:44:31 +01:00
3267c6dbd8 feat: add Ampache music streaming server to media stack
- Add ampache service to media/compose.yaml with PostgreSQL backend
- Create ampache database in postgres init script
- Configure Ampache environment variables in arty.yml
- Mount Music directory read-only
- Expose at ampache.media.pivoine.art via Traefik
2025-11-15 07:21:15 +01:00
6fc51b6a51 fix: run koel_init container as www-data user
- Add user: "33:33" (www-data) to koel_init container
- Prevents permission issues when init container creates cache files
- Fixes album cover upload and metadata editing errors

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-15 06:59:36 +01:00
49a97755bc feat: add persistent Koel configuration via environment variables
- Add MEDIA_PATH, STORAGE_DRIVER, TRUSTED_PROXIES, and FORCE_HTTPS to environment
- Apply settings to both koel and koel_init containers
- Ensures configuration persists across container restarts without manual intervention

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-15 06:44:32 +01:00
fd059dbbb5 feat: consolidate media services into unified media stack
- Combine Jellyfin, Filestash, and Koel into single media/ compose stack
- Remove standalone jelly/ and stash/ compose files
- Add Koel music streaming with PostgreSQL backend
- Update core PostgreSQL init script to create koel database
- Add media stack to root compose.yaml include
- Configure media services with subdomain routing (jellyfin.media, filestash.media, koel.media)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-14 20:40:53 +01:00