78c8d4256c
- 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
95 lines
3.0 KiB
Markdown
95 lines
3.0 KiB
Markdown
# 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 automation
|
|
- `jellyfin-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)
|
|
|
|
1. Docs: overhaul README, centralize docs, update .gitignore
|
|
2. Add Windows installer scripts, docs, and startup.json fixes
|
|
3. Centralize build output and generate OS-specific startup.json
|
|
4. Platform config templates & Postgres migration recovery
|
|
5. PostgreSQL migration: schema fixes, docs, and tooling
|
|
6. Update publish profiles and .gitignore for Windows build
|
|
7. Update publish profile and web dir config for portability
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# Build
|
|
dotnet build --configuration Release
|
|
cd lib/Release/net11.0
|
|
dotnet jellyfin.dll
|
|
|
|
# Create installer (Windows)
|
|
winget install JRSoftware.InnoSetup
|
|
.\build-installer.ps1
|
|
```
|
|
|
|
## Documentation
|
|
|
|
- [Quick Start](./docs/QUICKSTART_POSTGRESQL.md)
|
|
- [Installer Guide](./docs/INSTALLER_QUICK_START.md)
|
|
- [Migration Guide](./docs/POSTGRESQL_MIGRATION_COMPLETE.md)
|
|
- [All Docs](./docs/)
|
|
|
|
---
|
|
|
|
**Ready for Review** ✅
|
|
Target: main | Source: pgsql_testing_branch
|
|
Type: Feature + Documentation + Build
|