5fe70d1f8a
gates / gates (push) Failing after 2s
audiobookshelf, code-server, crafty-controller, glance, gokapi, gramps-web, jellyfin, mealie, navidrome, plex, sonarr, tandoor, termix, uptime-kuma, vikunja, wger, wishlist. EN_MISSING_CEILING 624 -> 307. Two lines needed judgement rather than translation, and both are written up in the CHANGELOG so a later reader does not take them for slips. Jellyfin's setup step tells the reader to pick Hungarian in the wizard — wrong advice for an English household, so the English says "choose your language". Mealie's "Hungarian is available too" becomes "English and Hungarian among them". Neither adds a promise the Hungarian does not make; the Hungarian is untouched in both. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
122 lines
4.6 KiB
YAML
122 lines
4.6 KiB
YAML
# =============================================================================
|
|
# .felhom.yml - App metadata for felhom-controller
|
|
# =============================================================================
|
|
|
|
# --- Display info (shown on dashboard) ---
|
|
display_name: "Audiobookshelf"
|
|
description: "Hangoskönyv és podcast kezelő szerver"
|
|
category: "media"
|
|
subdomain: "audiobooks"
|
|
slug: "audiobookshelf"
|
|
# catalog_since: the date THIS repo last changed this app's pinned images. Any commit that
|
|
# changes an image: line must set this to the same day (see CLAUDE.md).
|
|
catalog_since: "2026-07-18"
|
|
|
|
# --- Resource hints (displayed on deploy screen) ---
|
|
resources:
|
|
mem_request: "100M"
|
|
mem_limit: "512M"
|
|
pi_compatible: true
|
|
needs_hdd: true
|
|
|
|
# --- Backup classification (referential coupling; see felhom.eu documentation/audits/SPIKE-backup-classification-2026-07-14.md) ---
|
|
backup:
|
|
userdata:
|
|
- path: media/audiobooks
|
|
class: optional # PENDING-VETO: spike chose excluded; ruled optional for consistency
|
|
# with komga/romm (curated, often personally ripped — precious).
|
|
# If Viktor rules excluded, flip THIS LINE ONLY before committing.
|
|
- path: media/podcasts
|
|
class: excluded # re-downloadable by definition
|
|
|
|
# --- Deploy fields (first deployment only) ---
|
|
deploy_fields:
|
|
- env_var: DOMAIN
|
|
label: "Domain"
|
|
type: domain
|
|
description: "A szerver domain neve"
|
|
locked_after_deploy: true
|
|
|
|
- env_var: SUBDOMAIN
|
|
label: "Aldomain"
|
|
type: subdomain
|
|
default: "audiobooks"
|
|
required: true
|
|
locked_after_deploy: true
|
|
description: "Az alkalmazás aldomainje"
|
|
|
|
- env_var: HDD_PATH
|
|
label: "Hangoskönyv tár útvonal"
|
|
type: path
|
|
required: true
|
|
placeholder: "/mnt/felhom-drives/hdd_1"
|
|
description: "A külső merevlemez elérési útja"
|
|
locked_after_deploy: true
|
|
|
|
# --- App info (info page content) ---
|
|
app_info:
|
|
tagline: "Hangoskönyv és podcast kezelő, lejátszó és szinkronizáló"
|
|
docs_url: "https://www.audiobookshelf.org/docs"
|
|
|
|
use_cases:
|
|
- 'Hangoskönyvek és podcastok rendszerezése és lejátszása'
|
|
- 'Automatikus metaadat letöltés - borítók, leírások, fejezetek'
|
|
- 'Folytatás ott, ahol abbahagytad (szinkron eszközök között)'
|
|
- 'Podcast feliratkozás és automatikus letöltés'
|
|
- 'Dedikált mobil alkalmazások (Android, iOS)'
|
|
|
|
first_steps:
|
|
- 'Nyisd meg az audiobooks.DOMAIN címet a böngészőben'
|
|
- 'Hozd létre az admin fiókot az első megnyitáskor'
|
|
- 'Add hozzá a könyvtárakat (/audiobooks és/vagy /podcasts)'
|
|
- 'Várd meg az automatikus szkennelést'
|
|
- 'Telepítsd az Audiobookshelf alkalmazást a telefonodra'
|
|
|
|
prerequisites:
|
|
- 'Külső HDD szükséges a hangoskönyvek tárolásához'
|
|
- 'Hangoskönyvek mappákba rendezve (pl. Szerző/Könyv/)'
|
|
|
|
# --- Controller-side health probe ---
|
|
healthcheck:
|
|
checks:
|
|
- type: api
|
|
port: 80
|
|
path: "/healthcheck"
|
|
expect:
|
|
status: 200
|
|
|
|
# --- English copy (localisation slice 5, R-560) --------------------------------------------
|
|
# The Hungarian above is UNCHANGED. A box on English reads this block field by field; a missing
|
|
# field shows the Hungarian one; a controller older than 0.257.0 ignores the block entirely.
|
|
i18n:
|
|
en:
|
|
description: 'An audiobook and podcast server'
|
|
app_info:
|
|
tagline: 'An audiobook and podcast library, player and sync'
|
|
use_cases:
|
|
- 'Sort and play your audiobooks and podcasts'
|
|
- 'Details arrive on their own - covers, descriptions, chapters'
|
|
- 'Carry on where you stopped (it syncs between devices)'
|
|
- 'Subscribe to a podcast and let it download itself'
|
|
- 'Apps of its own for phones (Android, iOS)'
|
|
first_steps:
|
|
- 'Open audiobooks.DOMAIN in your browser'
|
|
- 'Create the admin account the first time you open it'
|
|
- 'Add your libraries (/audiobooks and/or /podcasts)'
|
|
- 'Wait for the first scan to finish'
|
|
- 'Install the Audiobookshelf app on your phone'
|
|
prerequisites:
|
|
- 'An external hard drive is needed to keep the audiobooks on'
|
|
- 'Audiobooks sorted into folders (Author/Book/, for example)'
|
|
deploy_fields:
|
|
- env_var: DOMAIN
|
|
label: 'Domain'
|
|
description: 'The server domain name'
|
|
- env_var: SUBDOMAIN
|
|
label: 'Subdomain'
|
|
description: 'The subdomain this app answers on'
|
|
- env_var: HDD_PATH
|
|
label: 'Audiobook library path'
|
|
description: 'The path to the external hard drive'
|
|
placeholder: '/mnt/felhom-drives/hdd_1'
|