secubox-openwrt/docs/embedded/lyrion-docker.md

2.6 KiB
Raw Blame History

Lyrion Media Server on SecuBox

Version: 1.0.0
Last Updated: 2025-12-28
Status: Active

This guide explains how to run Lyrion Media Server (formerly Jellyfin fork) inside Docker via the new secubox-app-lyrion package and SecuBox App Store manifest.


Installation Steps

opkg update
opkg install secubox-app-lyrion luci-app-vhost-manager
lyrionctl install     # checks Docker, prepares /srv/lyrion, pulls container
/etc/init.d/lyrion start

Then open SecuBox → Wizard → App Wizards → Lyrion to configure data/media paths and HTTP port. The manifest is stored in /usr/share/secubox/plugins/lyrion/manifest.json so secubox-app list will show it.


UCI Configuration (/etc/config/lyrion)

config lyrion 'main'
    option enabled '1'
    option image 'ghcr.io/lyrion/lyrion:latest'
    option data_path '/srv/lyrion'
    option media_path '/srv/media'
    option port '8096'
    option timezone 'UTC'

Apply changes via LuCI wizard or CLI:

uci set lyrion.main.media_path='/srv/media'
uci commit lyrion
/etc/init.d/lyrion restart

CLI Helper (/usr/sbin/lyrionctl)

  • lyrionctl install ensures Docker packages, prepares data dir, pulls image, enables service.
  • lyrionctl check rerun prerequisite checks.
  • lyrionctl update pull latest image and restart if enabled.
  • lyrionctl status / lyrionctl logs [-f].
  • lyrionctl service-run invoked by procd; do not call manually.

The Docker container exposes http://<router>:<port> (default 8096). Bind it via luci-app-vhost-manager to a public hostname if needed.


VHost Exposure

After Lyrion is running, publish it through the VHost manager (or scripts/vhostctl.sh):

scripts/vhostctl.sh add \
  --domain media.secubox.local \
  --upstream http://127.0.0.1:8096 \
  --tls acme --websocket
scripts/vhostctl.sh reload

Combine with the Gateway + DMZ profile to place Lyrion inside a DMZ VLAN while still proxying the UI via HTTPS.


Troubleshooting

Symptom Fix
lyrionctl install warns about /srv/media Create/mount your media directory and rerun lyrionctl install.
Docker fails to start Ensure dockerd is enabled; run /etc/init.d/dockerd restart.
Cannot reach UI Check that port 8096 is free or adjust option port.
Media directory permissions Bind-mount path with read permissions (chmod -R 755).

The manifest + wizard approach makes it easy to rebuild the container (via secubox-app install lyrion) while keeping UCI-driven defaults consistent across profiles.