# Linux Package Build Quick Reference ## One-Command Build ```bash cd ~/projects/pgsql-jellyfin && chmod +x build-linux-packages.sh && ./build-linux-packages.sh ``` ## Prerequisites ```bash # Debian/Ubuntu sudo apt-get install ruby-dev && sudo gem install fpm # Red Hat/CentOS/Fedora sudo dnf install ruby-devel && sudo gem install fpm ``` ## Build Variations ```bash # Both Debian and Red Hat ./build-linux-packages.sh # Debian only ./build-linux-packages.sh --deb-only # Red Hat only ./build-linux-packages.sh --rpm-only # Custom version ./build-linux-packages.sh --version 12.0.0 ``` ## Installation ```bash # Debian sudo dpkg -i build/packages/jellyfin-11.0.0-amd64.deb sudo apt-get install -f # Fix deps if needed # Red Hat sudo dnf install build/packages/jellyfin-11.0.0-1.x86_64.rpm ``` ## Verification ```bash # Check status sudo systemctl status jellyfin # View logs sudo journalctl -u jellyfin -f # List files in package dpkg -L jellyfin # Debian rpm -ql jellyfin # Red Hat ``` ## Key Directories | Purpose | Location | |---------|----------| | Application | `/opt/jellyfin` | | Configuration | `/etc/jellyfin` | | Data/Library | `/var/lib/jellyfin` | | Logs | `/var/log/jellyfin` | | Cache | `/var/cache/jellyfin` | ## Publishing Parameters - Runtime: `linux-x64` (64-bit) - Configuration: `Release` (optimized) - Self-contained: `true` (.NET included) - Both Debian and Red Hat use identical parameters ## Systemd Commands ```bash sudo systemctl start jellyfin # Start service sudo systemctl stop jellyfin # Stop service sudo systemctl status jellyfin # Check status sudo systemctl restart jellyfin # Restart service sudo systemctl enable jellyfin # Auto-start on boot sudo systemctl disable jellyfin # Disable auto-start ``` ## Troubleshooting | Issue | Solution | |-------|----------| | Permission denied | `chmod +x build-linux-packages.sh` | | FPM not found | Install ruby-dev/ruby-devel and gem install fpm | | Missing dependencies | `sudo apt-get install -f` (Debian) or dnf resolves automatically | | Service won't start | Check logs: `sudo journalctl -u jellyfin -n 50` | ## Output Packages created in: `./build/packages/` - `jellyfin-VERSION-amd64.deb` (Debian) - `jellyfin-VERSION-1.x86_64.rpm` (Red Hat) ## Scripts Location ``` scripts/ ├── build-linux-packages.sh # Main build script ├── jellyfin.spec # Red Hat SPEC template ├── debian/ # Debian hooks └── redhat/ # Red Hat hooks ``` ## Full Documentation See [LINUX_PACKAGE_BUILD_GUIDE.md](LINUX_PACKAGE_BUILD_GUIDE.md) for complete details