Repository navigation
Media server refresh
Available in 2026.10.19. These optional integrations ask a media server to scan after a download is finalized in the media library. They do not copy files to the server or create its libraries.
Configure the media server to read the downloaded files through its own library paths and mounts. Its paths need not match Pinchflat-ngx's container paths, but must point to the same underlying files. Choose a server URL reachable from the Pinchflat-ngx container; localhost normally means that container itself.
Use a base HTTP(S) URL without embedded credentials, a query string or a fragment. Put credentials in the separate token/key field. Use the final address: redirects are refused rather than forwarding credentials to another location.
- Open Settings > Media Servers.
- Enter the URL and credential for the server, plus any fields below.
- Enable its refresh toggle and save the Settings form.
- Choose Test Connection. The test reads saved settings, not unsaved edits.
- Complete a download and check that the server discovers the finalized file.
| Server | Settings and scan scope |
|---|---|
| Plex |
Plex Server URL, Plex Token (X-Plex-Token) and Library Section ID. Use one numeric section ID or all; all refreshes all library sections. Enable Enable Plex Refresh. |
| Jellyfin | Jellyfin Server URL and Jellyfin API Key. Enable Enable Jellyfin Refresh. It requests a full library refresh, not an exact-file scan. |
| Emby | Emby Server URL and Emby API Key. Enable Enable Emby Refresh and explicitly enable Confirm Full Library Scan. The refresh is server-wide and requires sufficient administrator privileges. |
Use a valid Plex server token or an API key created in the respective Jellyfin/Emby administration interface. Labels for creating keys can differ between server versions. Saved tokens/keys are stored in the application database and masked in the form, so protect database backups too.
- A finalized download schedules a background refresh for each enabled server.
- Pending requests coalesce. A download that finishes during an active refresh can retain a follow-up job.
- A refresh failure does not mark the completed media download as failed.
- A successful connection test establishes connectivity/authentication; it does not prove that the media server can see the downloads mount or finish a scan.
If the test fails, save the configuration first, then check the URL, token/key, container network, TLS configuration and server availability. A Plex test uses protected library access, so an invalid token should fail even if the public server identity page is reachable.
If the test succeeds but media does not appear, verify the media server's library paths, file permissions and scan logs. Check refresh jobs in Diagnostics. Full scans can be expensive on large libraries; disable automatic refresh if that scope does not fit your server, or select a specific Plex section.
These connections use bounded timeouts. A request accepted by the server does not mean its asynchronous scan has finished. Disabling a refresh toggle and saving prevents future automatic refreshes; it does not remove downloaded files.
Pinchflat-ngx
Use the app
- Browse and add videos
- Import subscriptions
- Manage sources in bulk
- Latest across sources
- Retention and protection
- Download recovery
- Sharing and bookmarklets
- Media-server refresh
- Notifications
- Channel Discovery
Configure and operate
- Source settings
- Download settings
- API access
- Installation
- Environment variables
- OIDC single sign-on
- Upgrading and rollback
- Backups and restore
- Diagnostics
- Database timeout
- Indexing health
- YouTube show URLs
Migrate and import files
- Migrating from Pinchflat
- Backing up config before migration
- SQLite to PostgreSQL migration
- Import existing downloads