User Tools

Site Tools


tech:newsblur_install

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
tech:newsblur_install [2026/10/07 15:29] – Update Procedure Update - saving the YouTube modification katsimbristech:newsblur_install [2026/10/07 15:46] (current) – Updating Procedures again katsimbris
Line 313: Line 313:
  
 Because this installation uses the NewsBlur source repository directly, remember that local source modifications can appear in Git. Because this installation uses the NewsBlur source repository directly, remember that local source modifications can appear in Git.
 +
 +This installation currently has important local modifications to:
 +
 +<code>
 +docker-compose.yml
 +utils/feed_fetcher.py
 +</code>
 +
 +The ''docker-compose.yml'' changes are part of this server's local Docker, networking, port-binding, and storage configuration.
 +
 +The ''utils/feed_fetcher.py'' change is the local YouTube RSS workaround described below.
  
 Before updating, check for local changes: Before updating, check for local changes:
Line 321: Line 332:
 git diff git diff
 </code> </code>
 +
 +If ''git diff'' opens in a pager and displays ''(END)'', press:
 +
 +<code>
 +q
 +</code>
 +
 +to return to the command prompt.
  
 A ''git pull'' may refuse to proceed or create a conflict if upstream NewsBlur modifies a file that has also been modified locally. A ''git pull'' may refuse to proceed or create a conflict if upstream NewsBlur modifies a file that has also been modified locally.
Line 335: Line 354:
 ''git fetch'' checks for upstream changes without modifying the local NewsBlur files. ''git fetch'' checks for upstream changes without modifying the local NewsBlur files.
  
-==== Check the Local YouTube RSS Modification ====+If Git reports:
  
-This NewsBlur installation currently includes a local modification to:+<code> 
 +Your branch is up to date with 'origin/main'. 
 +</code> 
 + 
 +there is no NewsBlur source update to install and the source-update procedure can stop here. 
 + 
 +==== Check Local Files Against Upstream ==== 
 + 
 +Before pulling an upstream update, check whether NewsBlur has changed either of the files that are modified locally: 
 + 
 +<code bash> 
 +git diff HEAD..origin/main -- docker-compose.yml 
 +git diff HEAD..origin/main -- utils/feed_fetcher.py 
 +</code> 
 + 
 +If either command produces output, upstream has changed that file since the currently installed version. 
 + 
 +Review those changes before proceeding. 
 + 
 +Even if no upstream changes are shown for these files, save copies of the local modifications before updating. 
 + 
 +==== Save the Local Docker Configuration ==== 
 + 
 +Save the local ''docker-compose.yml'' changes as a patch: 
 + 
 +<code bash> 
 +git diff -- docker-compose.yml > ~/newsblur-docker-compose-local.patch 
 +</code> 
 + 
 +Also save a complete copy of the current local Compose file: 
 + 
 +<code bash> 
 +cp docker-compose.yml ~/newsblur-docker-compose.yml.backup 
 +</code> 
 + 
 +The complete backup is useful because the Compose file contains important server-specific settings such as local port bindings and database/storage locations. 
 + 
 +Optionally review the saved patch: 
 + 
 +<code bash> 
 +cat ~/newsblur-docker-compose-local.patch 
 +</code> 
 + 
 +==== Check and Save the Local YouTube RSS Modification ==== 
 + 
 +This NewsBlur installation includes a local modification to:
  
 <code> <code>
Line 351: Line 415:
 to bypass NewsBlur's normal YouTube API-based fetcher and instead be handled as regular RSS feeds. to bypass NewsBlur's normal YouTube API-based fetcher and instead be handled as regular RSS feeds.
  
-Before pulling an upstream NewsBlur update, check whether upstream has changed the same file: +Inspect the current upstream YouTube handling:
- +
-<code bash> +
-git diff HEAD..origin/main -- utils/feed_fetcher.py +
-</code> +
- +
-Also inspect the current upstream YouTube handling directly:+
  
 <code bash> <code bash>
Line 372: Line 430:
 and does not otherwise provide equivalent handling for direct ''/feeds/videos.xml'' URLs, the local workaround is still needed. and does not otherwise provide equivalent handling for direct ''/feeds/videos.xml'' URLs, the local workaround is still needed.
  
-Before updating, save a copy of the local modification:+Save a copy of the local modification:
  
 <code bash> <code bash>
 git diff -- utils/feed_fetcher.py > ~/newsblur-youtube-rss-fix.patch git diff -- utils/feed_fetcher.py > ~/newsblur-youtube-rss-fix.patch
 +</code>
 +
 +Optionally review it:
 +
 +<code bash>
 cat ~/newsblur-youtube-rss-fix.patch cat ~/newsblur-youtube-rss-fix.patch
 </code> </code>
Line 386: Line 449:
 </code> </code>
  
-Then temporarily stash the local YouTube modification:+==== Temporarily Stash the Local Changes ==== 
 + 
 +Before pulling the update, temporarily stash both locally modified files:
  
 <code bash> <code bash>
-git stash push -m "Local YouTube RSS fix" -- utils/feed_fetcher.py+git stash push -m "Local NewsBlur server modifications" -- docker-compose.yml utils/feed_fetcher.py
 git status git status
 </code> </code>
  
-If Git reports that the local branch is behind the upstream branch and the remaining local modifications are understood and safe, update the source with:+Confirm that neither ''docker-compose.yml'' nor ''utils/feed_fetcher.py'' is still listed as modified. 
 + 
 +The existing untracked backup files, such as: 
 + 
 +<code> 
 +docker-compose.yml.original 
 +utils/feed_fetcher.py.bak 
 +</code> 
 + 
 +may still appear under ''Untracked files''. This is normal and does not prevent the update. 
 + 
 +==== Update the NewsBlur Source ==== 
 + 
 +If Git reports that the local branch is behind the upstream branch and the local modifications have been safely backed up and stashed, update the source with:
  
 <code bash> <code bash>
Line 401: Line 479:
 ''--ff-only'' prevents Git from automatically creating a merge commit if the local and upstream histories have unexpectedly diverged. ''--ff-only'' prevents Git from automatically creating a merge commit if the local and upstream histories have unexpectedly diverged.
  
-After the pull completes, inspect the updated YouTube handling **before restoring the local modification**:+==== Review the Updated Files Before Restoring Local Changes ==== 
 + 
 +After the pull completes, inspect the updated Compose file: 
 + 
 +<code bash> 
 +git diff HEAD@{1}..HEAD -- docker-compose.yml 
 +</code> 
 + 
 +If upstream has substantially changed the Compose configuration, review those changes before restoring the old local version. 
 + 
 +Also inspect the updated YouTube handling:
  
 <code bash> <code bash>
Line 407: Line 495:
 </code> </code>
  
-If NewsBlur still sends direct YouTube RSS URLs through its YouTube fetcher, restore the local modification:+If NewsBlur still sends direct YouTube RSS URLs through its YouTube fetcher, the local YouTube workaround is still needed. 
 + 
 +If upstream NewsBlur appears to have fixed the underlying YouTube RSS issue, **do not blindly restore the old YouTube modification**. Review and test the new upstream behavior first. 
 + 
 +==== Restore the Local Modifications ==== 
 + 
 +If the upstream changes do not make the local modifications obsolete or incompatible, restore them with:
  
 <code bash> <code bash>
 git stash pop git stash pop
-git diff -- utils/feed_fetcher.py 
 </code> </code>
  
-Verify that the local change is again present:+Then inspect the result: 
 + 
 +<code bash> 
 +git status 
 +git diff 
 +</code> 
 + 
 +Confirm that the local ''docker-compose.yml'' settings are still correct and that the YouTube change is present:
  
 <code diff> <code diff>
Line 421: Line 521:
 </code> </code>
  
-If upstream NewsBlur has changed this section substantially, or appears to have fixed the underlying YouTube RSS issue, **do not blindly restore the old patch**. Review the new upstream code first and determine whether the workaround is still necessary.+If ''git stash pop'' reports a conflict, **do not discard either version**. Review the conflict and reconcile the upstream changes with the local server configuration before continuing.
  
-The separately saved copy remains available at:+The separately saved backup files remain available at:
  
 <code> <code>
 +~/newsblur-docker-compose-local.patch
 +~/newsblur-docker-compose.yml.backup
 ~/newsblur-youtube-rss-fix.patch ~/newsblur-youtube-rss-fix.patch
 </code> </code>
  
-After the NewsBlur source and local modification are in the desired state, update the Docker images and containers:+==== Update Docker Images and Containers ==== 
 + 
 +After the NewsBlur source and local modifications are in the desired state, update the Docker images and containers:
  
 <code bash> <code bash>
Line 436: Line 540:
 docker compose ps docker compose ps
 </code> </code>
 +
 +Confirm that the expected NewsBlur containers are running normally.
  
 Only prune unused Docker images when desired: Only prune unused Docker images when desired:
tech/newsblur_install.1791401382.txt.gz · Last modified: by katsimbris