Files
pgsql-jellyfin/docs/LINUX_PACKAGE_BUILD_QUICK_REFERENCE.md
T
wjones 8914f4dce9 Add SQL query patterns documentation and Linux package build scripts
- Created `TV_SHOWS_SQL_QUERY_PATTERNS.md` to document SQL query patterns for TV shows, including performance issues and missing indexes.
- Added `README.md` for Linux package building, detailing steps for creating Debian and Red Hat packages.
- Implemented build scripts for Debian and Red Hat, including service files and post-installation hooks.
- Added necessary scripts for managing Jellyfin service lifecycle on both Debian and Red Hat systems.
- Included package specifications and installation instructions for both distributions.
2026-07-14 10:32:56 -04:00

117 lines
2.6 KiB
Markdown

# 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