New apps 2026-10-10: Grocy and LubeLogger on the website; Monica stopped
gates / gates (push) Failing after 11m41s

The catalogue side is app-catalog-felhom.eu b7f0f7c. Here: the evidence, the
website, the register and the operator's view.

Website
- Two cards in the Otthon & Eletmod / Home & Lifestyle section of BOTH apps
  pages, with assets: grocy-logo.svg is grocy's own icon with its single fill
  made white like the other logos, lubelogger-logo.png is the app's own icon
  with its dark background dropped and the mark made white (the rule
  SparkyFitness's PNG follows), and six screenshots of each app's own UI with a
  household's own data, taken headless on the bench from the published template.
- The app count moved 56 -> 58 in 15 places per language set, both languages,
  and the open-source tile 49 -> 51. Checked by asking the same patterns for the
  new number afterwards. marketing/facebook/COPY.md still says 56 and is NOT
  changed: the post it carries is already scheduled.

Evidence
- documentation/audits/new-apps-2026-10-10/ — FIT.md (checklist group 0 for all
  three, with the Hungarian-UI column), the bench and box transcripts, the
  memory samples, the screenshots and the gate runs.

Register: 137 -> 139 rows, 2 opened, 0 closed.
- R-926 after a remove-keeping-backups and restore, nobody has checked what the
  app page shows for an after_install app's generated password. Measured here:
  LubeLogger is safe (its login is derived from the environment at every start,
  the new password signs in, the data is back); grocy's install password still
  signs in from the restored database but the deployed environment no longer
  carries ADMIN_PASSWORD at all. Seven apps are in the class.
- R-927 Monica, stopped at checklist 0.2 with the measurements, waiting on the
  operator.

Gate scripts: the same console trap in nineteen of them and in repo_gates.py
itself, where it ABORTED THE WHOLE RUNNER at the first gate — printing a
non-ASCII character on this workstation's cp1250 console raised
UnicodeEncodeError before the gate had decided anything, and reuse_refs_check.py
died while printing a NOTE. All now reconfigure their own streams. Red-proof
that the remaining script-test failures are not mine: test_due_checks_gate.py
fails the same 5 of 42 with the change reverted.
This commit is contained in:
2026-10-10 12:33:39 +02:00
parent e0be6e7cd6
commit 970616b72b
109 changed files with 5572 additions and 35 deletions
+44 -8
View File
@@ -3,8 +3,8 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Apps to install — 56 apps for a home server | Felhom.eu</title>
<meta name="description" content="Nextcloud, Immich, Jellyfin, Vaultwarden — 56 apps for your home server in Hungary, almost all of them open source. Alternatives to Google Drive, iCloud Photos and Spotify.">
<title>Apps to install — 58 apps for a home server | Felhom.eu</title>
<meta name="description" content="Nextcloud, Immich, Jellyfin, Vaultwarden — 58 apps for your home server in Hungary, almost all of them open source. Alternatives to Google Drive, iCloud Photos and Spotify.">
<meta name="keywords" content="Nextcloud, Immich, Jellyfin, Plex, Sonarr, Radarr, Vaultwarden, open-source apps, self-hosted apps, home server apps, Google Photos alternative, Dropbox alternative">
<meta name="robots" content="index, follow">
@@ -15,14 +15,14 @@
<meta property="og:type" content="website">
<meta property="og:url" content="https://felhom.eu/en/apps">
<meta property="og:title" content="56 apps for a home server">
<meta property="og:title" content="58 apps for a home server">
<meta property="og:description" content="Nextcloud, Immich, Jellyfin, Vaultwarden and many more. Files, photos, media, documents — all from your own server.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png">
<meta property="og:locale" content="en_GB">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="56 apps for a home server">
<meta name="twitter:title" content="58 apps for a home server">
<meta name="twitter:description" content="Nextcloud, Immich, Jellyfin and many more — from your own server.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image.png">
@@ -32,7 +32,7 @@
"@type": "ItemList",
"name": "Felhom.eu — Apps to install",
"description": "Self-hosted apps for a home server, almost all of them open source",
"numberOfItems": 56,
"numberOfItems": 58,
"itemListElement": [
{"@type": "ListItem", "position": 1, "name": "Nextcloud", "description": "Files and office suite"},
{"@type": "ListItem", "position": 2, "name": "Immich", "description": "Photos and videos (a Google Photos alternative)"},
@@ -78,7 +78,7 @@
<section class="page-header">
<div class="container">
<h1>Apps to <span>install</span></h1>
<p>Choose from 56 apps. Almost all of them are free, open-source software, and every one runs on your own server.</p>
<p>Choose from 58 apps. Almost all of them are free, open-source software, and every one runs on your own server.</p>
<div class="disclaimer-banner">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-info"/></svg> Good to know</h3>
<ul>
@@ -784,6 +784,42 @@
<span class="open-source-badge"><svg class="ico ico-yes" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-check"/></svg>Open Source</span>
</div>
</div>
<!-- LubeLogger -->
<div class="app-card">
<div class="app-card-header">
<img src="/assets/lubelogger-logo.png" alt="LubeLogger" class="app-logo">
<div class="app-title-area"><h3>LubeLogger</h3><span class="app-tagline">Vehicle records</span></div>
</div>
<div class="app-card-body">
<p class="app-description">The whole history of the family car in one place: services, repairs, fuel-ups and costs. Reminders for the oil change, the inspection and the insurance, with the invoices attached to the record they belong to.</p>
<div class="app-features"><span class="app-feature">Service log</span><span class="app-feature">Fuel</span><span class="app-feature">Reminders</span><span class="app-feature">Costs</span></div>
<a href="/assets/lubelogger-screenshot-1.webp" data-gallery="lubelogger" class="app-shot-link"><img src="/assets/lubelogger-screenshot-1.webp" alt="LubeLogger screenshot" class="app-screenshot"></a>
<a href="/assets/lubelogger-screenshot-2.webp" data-gallery="lubelogger" data-alt="LubeLogger screenshot 2" hidden></a>
<a href="/assets/lubelogger-screenshot-3.webp" data-gallery="lubelogger" data-alt="LubeLogger screenshot 3" hidden></a>
</div>
<div class="app-card-footer">
<a href="https://github.com/hargata/lubelog" target="_blank" rel="noopener" class="github-link"><img src="/assets/github.svg" alt="GitHub">Source code</a>
<span class="open-source-badge"><svg class="ico ico-yes" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-check"/></svg>Open Source</span>
</div>
</div>
<!-- Grocy -->
<div class="app-card">
<div class="app-card-header">
<img src="/assets/grocy-logo.svg" alt="Grocy" class="app-logo">
<div class="app-title-area"><h3>Grocy</h3><span class="app-tagline">Household management</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Keeps track of what is in the house and tells you when something has run out or is going off. A shopping list that fills itself, barcode scanning with your phone camera, recipes and a weekly meal plan, and the chores shared out.</p>
<div class="app-features"><span class="app-feature">Stock</span><span class="app-feature">Shopping list</span><span class="app-feature">Barcodes</span><span class="app-feature">Chores</span></div>
<a href="/assets/grocy-screenshot-1.webp" data-gallery="grocy" class="app-shot-link"><img src="/assets/grocy-screenshot-1.webp" alt="Grocy screenshot" class="app-screenshot"></a>
<a href="/assets/grocy-screenshot-2.webp" data-gallery="grocy" data-alt="Grocy screenshot 2" hidden></a>
<a href="/assets/grocy-screenshot-3.webp" data-gallery="grocy" data-alt="Grocy screenshot 3" hidden></a>
</div>
<div class="app-card-footer">
<a href="https://github.com/grocy/grocy" target="_blank" rel="noopener" class="github-link"><img src="/assets/github.svg" alt="GitHub">Source code</a>
<span class="open-source-badge"><svg class="ico ico-yes" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-check"/></svg>Open Source</span>
</div>
</div>
</div>
</div>
@@ -1203,7 +1239,7 @@
<div class="container">
<div class="stats-grid">
<div class="stat-item">
<h3>56</h3>
<h3>58</h3>
<p>Apps available</p>
</div>
<div class="stat-item">
@@ -1211,7 +1247,7 @@
<p>Categories</p>
</div>
<div class="stat-item">
<h3>49</h3>
<h3>51</h3>
<p>Open source</p>
</div>
<div class="stat-item">