36 lines
1.2 KiB
Markdown
36 lines
1.2 KiB
Markdown
# Jellyfin plugins
|
||
|
||
Custom Jellyfin plugins for this monorepo.
|
||
|
||
## Catalog URL
|
||
|
||
Add this raw URL in Jellyfin → Plugins → Repositories:
|
||
|
||
```text
|
||
https://<your-gitea>/<owner>/<repo>/raw/branch/<default>/Jellyfin/manifest.json
|
||
```
|
||
|
||
## Layout
|
||
|
||
| Path | Purpose |
|
||
|---|---|
|
||
| `manifest.json` | Aggregated plugin catalog for Jellyfin |
|
||
| `_template/` | Scaffold source for new plugins |
|
||
| `jellyfin-plugin-*/` | Individual plugin projects |
|
||
|
||
## Workflows
|
||
|
||
- **Scaffold:** `.gitea/workflows/scaffold_jellyfin_plugin.yml` (`workflow_dispatch`)
|
||
- **Release:** `.gitea/workflows/release_jellyfin_plugin.yml` — on push to `Jellyfin/**`, builds each changed plugin that has `build.yaml` + `version`
|
||
|
||
Bump `Jellyfin/<slug>/version` before pushing when you want a new release. Re-pushing the same version skips (release already exists). Tags look like `<slug>-vX.Y.Z` (no slashes; Gitea-safe).
|
||
|
||
### Required secret
|
||
|
||
| Secret | Example | Used for |
|
||
|---|---|---|
|
||
| `PUBLIC_GITEA_URL` | `https://gitea.example.com` | `sourceUrl` in `manifest.json` (no trailing slash) |
|
||
|
||
Jellyfin verifies package **MD5** checksums (not SHA256). The release workflow writes `md5sum` into the catalog.
|
||
|
||
API calls still use the runner’s internal Gitea URL; only catalog download links use this secret. |