- Moved all documentation to docs/ and updated README with categorized links and new docs/INDEX.md - Added HOW_TO_SWITCH_DATABASE.md and several new analysis/action docs - Introduced db-config.ps1 for centralized DB config; all scripts now use it for easy DB switching - Added db-quick.ps1 for interactive diagnostics and index management - Updated Add-All-Indexes.bat to use db-config.ps1 - Added Fix-ItemValues-Performance.ps1 to create 3 critical indexes on ItemValues, addressing 1.3B row seq scan issue - Updated performance_indexes.sql with new ItemValues indexes and ANALYZE - Updated diagnostics.sql and database_report.txt for improved output and clarity - All scripts and docs now reference the new config and index optimization workflow
3.0 KiB
PostgreSQL Integration + Windows Installer + Documentation Overhaul
Summary
Complete PostgreSQL integration for Jellyfin with professional Windows installer, centralized build output, OS-specific configuration, and comprehensive documentation reorganization.
Key Features
✅ Windows Installer - Inno Setup script with service installation, firewall rules, and PostgreSQL wizard
✅ Centralized Build - All DLLs output to lib/[Configuration]/ folder
✅ OS-Specific Config - Auto-generates startup.json with platform-appropriate defaults
✅ PostgreSQL Migration - Robust migration with auto-recovery and comprehensive docs
✅ Documentation - 30+ files organized in docs/ folder with complete index
What's Included
Documentation (30+ files)
- Rewrote README.md with PostgreSQL focus and quick start
- Moved all .md files to docs/ folder
- Added installer guides, migration guides, troubleshooting
- Complete navigation and organization
Windows Installer
build-installer.ps1- PowerShell automationjellyfin-setup.iss- Inno Setup script- Service installation, firewall setup, PostgreSQL wizard
- 5-minute quick start guide
Build System
- Centralized output:
lib/[Configuration]/[TargetFramework]/ - Updated Directory.Build.props
- Clean deployment with publish profiles
- Updated .gitignore (lib, installer-output, PublishProfiles)
Configuration
- OS-specific startup.json generation (Windows/Linux/macOS)
- Platform templates in Resources/Configuration/
- Priority: CLI → Env → startup.json → Defaults
- FHS-compliant paths on Linux
PostgreSQL
- Schema fixes for PostgreSQL in EF migrations
- Identifier quoting (brackets → double quotes)
- Auto-recovery from migration errors
- Comprehensive migration documentation
- Production-ready SQL scripts
Testing
✅ Fresh Windows install
✅ SQLite → PostgreSQL migration
✅ Windows Service installation
✅ Cross-platform configuration
✅ Build output verification
Breaking Changes
None! All changes are backward compatible.
Commits (7)
- Docs: overhaul README, centralize docs, update .gitignore
- Add Windows installer scripts, docs, and startup.json fixes
- Centralize build output and generate OS-specific startup.json
- Platform config templates & Postgres migration recovery
- PostgreSQL migration: schema fixes, docs, and tooling
- Update publish profiles and .gitignore for Windows build
- Update publish profile and web dir config for portability
Quick Start
# Build
dotnet build --configuration Release
cd lib/Release/net11.0
dotnet jellyfin.dll
# Create installer (Windows)
winget install JRSoftware.InnoSetup
.\build-installer.ps1
Documentation
Ready for Review ✅
Target: main | Source: pgsql_testing_branch
Type: Feature + Documentation + Build