June 18Jun 18 ShipLogRead the log before you set sail. What is this?ShipLog is a read-only update advisor that lives right inside Unraid's native Docker tab. Unraid already tells you that an update is available and lets you apply it — ShipLog tells you what actually changes and how risky it is first. Next to each container it adds a small changelog bubble: the version jump, a deterministic risk badge, the release notes, and a DEPRECATED badge when the upstream project is archived.It is a plugin (not a container): a tiny daemon on the host plus the bubble in the Docker tab. It never pulls, recreates, or stops anything — the Docker socket is read-only. Updating stays Unraid's own job.HighlightsChangelog where you need it — a per-container bubble in the native Docker tab, no separate dashboard to openWhat changes, not just “an update exists” — the release notes between your running image and the newest oneDeterministic risk badge — patch / minor / major / digest, computed from the version jump (no guessing)Remembers the running version — even a rolling :latest image shows a real 1.7 → 1.8 jump once ShipLog has seen one update under its watchDEPRECATED badge when the upstream repository is archived (end-of-life)Read-only by construction — the Docker socket is mounted read-only; ShipLog cannot start, stop, recreate or pull anythingOptional AI summaries via a local Ollama — a short, plain-language “what changed” per update (off by default)Optional Matrix notifications when a new update is first seen (off by default)Follows your Unraid light/dark theme and language (English + German, English fallback)Runs as a lightweight host daemon — no extra containerRequirementsUnraid 6.10+Outbound HTTPS to image registries and GitHub (to fetch changelogs). A free GitHub token (no scopes) in the settings raises the anonymous API limit — useful if you watch many GitHub-sourced imagesOptional: a reachable Ollama instance for AI summaries, and/or a Matrix account for notificationsInstall / updateInstall from Community Applications (search for ShipLog), or add the plugin by URL under Plugins → Install Plugin:https://raw.githubusercontent.com/junkerderprovinz/shiplog/main/plugin/shiplog.plgOpen the Docker tab to see the bubble, or Settings → ShipLog for the options (poll interval, GitHub token, Ollama, Matrix). If you ever tested an early date-versioned build, remove the plugin and reinstall it once from the URL above.Posting a bug reportPlease post:Unraid version (Settings → System Information)ShipLog version (Plugins page) — currently v1.0.4Daemon state and log: /usr/local/emhttp/plugins/shiplog/scripts/rc.shiplog status and tail -200 /var/log/shiplog.logBrowser + OS (the bubble is rendered in your browser)Whether you set a GitHub token, Ollama, or Matrix — and, for a specific container, its image reference (e.g. ghcr.io/owner/app:latest)GitHub issues with the same info are equally welcome: github.com/junkerderprovinz/shiplog/issuesCreditsBuilt in Go (engine) + a thin Unraid plugin for the Docker-tab bubble. Changelogs come from each image's org.opencontainers.image.source label and GitHub releases; optional summaries run on your own Ollama. If ShipLog saves you from a surprise update, you can buy me a coffee.Self-hosted, MIT-licensed, read-only by design — it advises, you decide. Edited July 14Jul 14 by Junker der Provinz
July 14Jul 14 Container logs are inconsistentSome of them have a spot on changelog from github (dockhnad, Dozzle, abs, qui)Some of them only lsio changelog (plex, radarr, sonarr, which is not ideal tbh, as most of the time it contains only info about updated dependency, not actual capp hangelog.Some of them completely missing (seerr from hotio, media-preview-generar)Some of them have completely wrong link to repository:media-preview-generator link takes me to https://github.com/linuxserver/docker-ffmpegWondering if we can have option to override links in shiplog UI - IP:8484Unraid 7.2.3ShipLog 2.0.2Daemon state and log: /usr/local/emhttp/plugins/shiplog/scripts/rc.shiplog status and tail -200 /var/log/shiplog.logChrome 150.0.7871.115Win 10 LTSC IoTGitHub token
July 14Jul 14 Author 9 hours ago, btTeddy said:Container logs are inconsistentSome of them have a spot on changelog from github (dockhnad, Dozzle, abs, qui)Some of them only lsio changelog (plex, radarr, sonarr, which is not ideal tbh, as most of the time it contains only info about updated dependency, not actual capp hangelog.Some of them completely missing (seerr from hotio, media-preview-generar)Some of them have completely wrong link to repository:media-preview-generator link takes me to https://github.com/linuxserver/docker-ffmpegWondering if we can have option to override links in shiplog UI - IP:8484Unraid 7.2.3ShipLog 2.0.2Daemon state and log: /usr/local/emhttp/plugins/shiplog/scripts/rc.shiplog status and tail -200 /var/log/shiplog.logChrome 150.0.7871.115Win 10 LTSC IoTGitHub tokenThanks for the really precise report, @btTeddy. That per-symptom breakdown made the root cause obvious. All of it traces back to one thing: ShipLog took the changelog repo straight from the image's OCI source label (org.opencontainers.image.source), which for a lot of images is the packaging wrapper (the LinuxServer docker-* repo), inherited wrong from a base image (that's your media-preview-generator pointing at linuxserver/docker-ffmpeg), or simply missing (hotio/seerr).Fixed in v2.1.0, pretty much exactly as you suggested:- Per-image source override, right on the status page at IP:8484. Click "source" on any row and point it at the correct GitHub repo (owner/repo or a full github.com URL). The engine then mines the changelog and the link from there for that image, and it sticks to the image so it survives container recreation. That covers the wrong-link and missing-changelog cases.- Common LinuxServer apps now resolve to their upstream project out of the box (Radarr, Sonarr, Lidarr, Prowlarr, Readarr, Whisparr, Bazarr) instead of the wrapper's dependency-bump log. A manual override always wins over that.Precedence is: override > curated default > OCI source label > version-delta fallback.Update the plugin (or reinstall from the .plg URL below) and it's there. If you find an image where the override or a curated default is off, tell me the image and the repo it should point at and I'll sort it..plg: https://raw.githubusercontent.com/junkerderprovinz/shiplog/main/plugin/shiplog.plg
July 15Jul 15 EDIT: I've Reinstalled Ship og and some issues are fixed. Added REINSTALL notesThanks for quick fix. Shiplog is getting better, but still a few flaws here and there.Observations after the update:Some of them have a spot on changelog from github (dockhnad, Dozzle, abs, qui)Some of them only lsio changelog (plex, radarr, sonarr)Some of them completely missing (seerr from hotio, media-preview-generar)Crossed off those that are correct now.Issues:media-preview-generator - still ffmpeg changelog https://github.com/linuxserver/docker-ffmpegplex - no changelog at all REINSTALL: lsio changelog. Could be correct as the update it's only to lsio image, not plex itselfPlex Labels:build_version = Linuxserver.io version:- 1.43.2.10687-563d026ea-ls313 Build-date:- 2026-07-13T12:12:29+00:00maintainer = thelamernet.unraid.docker.icon = https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/plex-logo.pngnet.unraid.docker.managed = dockermannet.unraid.docker.webui = http://[IP]:[PORT:32400]/web/index.htmlorg.opencontainers.image.authors = linuxserver.ioorg.opencontainers.image.created = 2026-07-13T12:12:29+00:00org.opencontainers.image.description = [Plex](https://plex.tv) organizes video, music and photos from personal media libraries and streams them to smart TVs, streaming boxes and mobile devices. This container is packaged as a standalone Plex Media Server. Straightforward design and bulk actions mean getting things done faster.org.opencontainers.image.documentation = https://docs.linuxserver.io/images/docker-plexorg.opencontainers.image.licenses = GPL-3.0-onlyorg.opencontainers.image.ref.name = 6ccc773971c4256022d98a036c24d9a15ea88565org.opencontainers.image.revision = 6ccc773971c4256022d98a036c24d9a15ea88565org.opencontainers.image.source = https://github.com/linuxserver/docker-plexorg.opencontainers.image.title = Plexorg.opencontainers.image.url = https://github.com/linuxserver/docker-plex/packagesorg.opencontainers.image.vendor = linuxserver.ioorg.opencontainers.image.version = 1.43.2.10687-563d026ea-ls313Wondering if assigning top priority to what shown in unraid docker ui as Project Page wouldn't be the best options, as most containers have a proper link to the github repo in thereIn the unraid template.xml this is stored under <Project>https://github.com/owner/repo</Project>Precedence could be: override in UI > curated default > Project Page > OCI source label > version-delta fallback.I'm guessing curated default going to be hardcoded in shiplog?====================================================================================REINSTALL: Appears that it's fixed afterI noticed that some containers have plenty duplicate entries in shiplog uithelounge have 6 of them, another container have 8 of them in total.TBH Shiplog page is about as long as a toilet roll :)====================================================================================I believe we need some basic markdown support (or whatever is needed) as some of the changelogs are barely readableshiplog:Github: Edited July 15Jul 15 by btTeddy
July 15Jul 15 When uninstalling I noticed that removing Shiplog plugin blindly deletes /mnt/user/cache/shiplog folder.It kind of contradicts with this statement.Shouldn't at least prompt user to confirm directory deletion?
July 15Jul 15 Author Thanks for the thorough second round, @btTeddy, and for marking what the reinstall already fixed. That kind of testing is gold.ShipLog 2.3.0 is out with the rest of your list:Readable changelogs. Release notes are now rendered properly (headings, bold, code, links, bullet lists), and stray HTML entities like the literal from your screenshot are cleaned up. Everything gets escaped before rendering, so no upstream HTML ever runs in the page.Your precedence idea is in, exactly as proposed. The chain is now: manual override, then curated default, then the template's Project page (when it points at GitHub), then the OCI source label. And yes, the curated defaults are a small hardcoded map in the engine, currently the common LinuxServer apps with real GitHub releases; a manual override always beats everything. With the Project page in the chain, media-preview-generator should now pick up its own repo instead of the ffmpeg base label, and seerr from hotio gets a source at all. Plex staying on the LinuxServer changelog is correct, as you guessed: those updates really are image rebuilds.Uninstall no longer touches your data. You are right that a read-only advisor should not delete a user-visible folder on its own. Removing the plugin now keeps /mnt/user/appdata/shiplog, so a reinstall resumes with the full version history, and the removal message tells you where it lives if you want it gone.One small ask: bug reports and ideas like these are very welcome on GitHub too (https://github.com/junkerderprovinz/shiplog/issues). They are much easier to track and work through there, and you can see exactly when something ships. The thread stays open for everything else, of course.Thanks again, this round made ShipLog noticeably better.
July 15Jul 15 1 hour ago, Junker der Provinz said:Thanks again, this round made ShipLog noticeably better.Indeed those changes are amazing.I'll stick to the github in the future.An idea for another safety switch.Some apps introduce breaking changes even with minor version upgrade (e.g. immich v1). Probably some even with patch. You never know..What about implementing =exclusion words in auto updater functionality?e..g If the recent changelog contains the a word from the list, e.g. breaking, major, Pre-release, Beta etc -> don't update. Edited July 15Jul 15 by btTeddy
July 15Jul 15 Author 1 hour ago, btTeddy said:Indeed those changes are amazing.I'll stick to the github in the future.An idea for another safety switch.Some apps introduce breaking changes even with minor version upgrade (e.g. immich v1). Probably some even with patch. You never know..What about implementing =exclusion words in auto updater functionality?e..g If the recent changelog contains the word "breaking" -> don't update.Great idea, and a smart one — you're right that SemVer level alone isn't enough. It's live in v2.4.0.New setting in the Updates tab: "Never if changelog mentions" — a comma-separated word list (e.g. breaking, migration required). If the pending update's own release notes contain any of those words, ShipLog blocks it — never applies it — no matter what your level policy would otherwise allow. So "breaking" catches exactly the immich-v1 case: a minor or patch bump that calls out a breaking change in its own notes.Blocked updates aren't silent — they show up in the run summary (ShipLog log + Matrix, if you use it), including in Dry run, so you can watch the safety switch actually catch something before you trust it on a real schedule. It's off by default (empty list = no effect on anyone who hasn't opted in).Thanks again for pushing on this — this is exactly the kind of feature that's better for having a real use case behind it. Looking forward to see your feature requests on GitHub. 😉
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.