Files
app-catalog-felhom.eu/templates/nextcloud/.felhom.yml
T
admin 0695d8eeda
gates / gates (push) Failing after 2s
English copy — BATCH 1 of 3: 17 apps, 319 strings (R-560 slice 5)
adventurelog, bentopdf, bookstack, calcom, calibre-web, ghost, grafana,
home-assistant, homebox, homepage, n8n, nextcloud, outline, papra, radarr,
sparkyfitness, wanderer. EN_MISSING_CEILING 943 -> 624.

No Hungarian byte moved; no image, pin, catalog_since or compose line changed.

The blocks are GENERATED from a flat {path: english} map rather than hand-written:
fifty nested blocks whose keys must match the Hungarian exactly is fifty chances to
mistype an env_var, and a mistyped key is INERT on the box rather than an error, so
nobody would learn. The generator builds from the same flat paths the freeze uses,
derived from the Hungarian file itself, so an invented key cannot be written.

One string is deliberately untranslated: papra's AUTH_SECRET description is a
Hungarian DEFECT (it describes a session-signing key as "the app's subdomain").
Translating it faithfully would ship the error in a second language; changing the
Hungarian is forbidden in a localisation release. It falls back, papra stands at
13/14, and the ceiling's floor is 1 until R-593 is fixed — stated in the ceiling's
own comment so a later batch does not "fix" it by editing Hungarian.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-09-20 16:29:37 +02:00

172 lines
6.5 KiB
YAML

# =============================================================================
# .felhom.yml - App metadata for felhom-controller
# =============================================================================
# --- Display info (shown on dashboard) ---
display_name: "Nextcloud"
description: "Saját felhő tárhely - Google Drive/Dropbox alternatíva"
category: "files"
subdomain: "cloud"
slug: "nextcloud"
# 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: "256M"
mem_limit: "1024M"
pi_compatible: false
needs_hdd: true
# --- Backup classification (referential coupling; see felhom.eu documentation/audits/SPIKE-backup-classification-2026-07-14.md) ---
backup:
hdd:
- path: appdata/nextcloud
class: mandatory # THE user files — oc_filecache/shares reference them
# --- 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: "cloud"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: DB_PASSWORD
label: "Adatbázis jelszó"
type: secret
generate: "password:24"
locked_after_deploy: true
- env_var: MYSQL_ROOT_PASSWORD
label: "MariaDB root jelszó"
type: secret
generate: "password:24"
locked_after_deploy: true
- env_var: NEXTCLOUD_ADMIN_USER
label: "Admin felhasználónév"
type: text
default: "admin"
locked_after_deploy: true
- env_var: NEXTCLOUD_ADMIN_PASSWORD
label: "Admin jelszó"
type: password
generate: "password:16"
description: "Első bejelentkezéshez. Utána a webes felületen módosítható."
locked_after_deploy: false
- env_var: HDD_PATH
label: "Adattárolási ú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: "A saját Google Drive-od - fájlok, naptár, névjegyek egy helyen"
default_creds: "Az admin fiók adatait a telepítéskor adod meg"
docs_url: "https://docs.nextcloud.com/server/latest/user_manual/"
use_cases:
- 'Fájlok szinkronizálása és megosztása eszközök között'
- 'Naptár és névjegyek szinkronizálás (CalDAV/CardDAV)'
- 'Dokumentumok közös szerkesztése (OnlyOffice integrációval)'
- 'Fotó és videó automatikus feltöltés telefonról'
- 'Alkalmazásbolt - kibővíthető funkciók (Notes, Tasks, Forms, stb.)'
first_steps:
- 'Nyisd meg a cloud.DOMAIN címet a böngészőben'
- 'Jelentkezz be a telepítéskor megadott admin fiókkal'
- 'Telepítsd a Nextcloud asztali alkalmazást a számítógépedre'
- 'Telepítsd a Nextcloud mobil alkalmazást a telefonodra'
- 'Hívd meg a családtagokat felhasználói fiókok létrehozásával'
prerequisites:
- 'Külső HDD szükséges a fájlok tárolásához'
- 'Legalább 1 GB szabad RAM (Nextcloud + MariaDB + Redis)'
- 'x86 processzor ajánlott a legjobb teljesítményhez'
# --- Controller-side health probe ---
healthcheck:
checks:
- type: api
port: 80
path: "/status.php"
expect:
status: 200
body_contains: "installed"
# --- App-email mapping (apps → in-controller shim → hub → Resend) ---
# Nextcloud (Symfony Mailer) has no env to skip TLS cert verification and opportunistically STARTTLS-upgrades,
# so it can't use the self-signed :2525 listener → tls_mode=plaintext points it at :2526 (STARTTLS NOT
# advertised → no upgrade attempted; plaintext on the single-tenant app bridge — accepted posture).
# Nextcloud SPLITS the From into local-part + domain, so from_var=MAIL_FROM_ADDRESS (local) +
# from_domain_var=MAIL_DOMAIN → nextcloud@felhom.eu. No security_var (SMTP_SECURE stays empty = no TLS);
# SMTP_NAME/PASSWORD unset (no auth). The official image reads these via getenv() on every boot.
smtp_mapping:
tls_mode: plaintext
host_var: SMTP_HOST
port_var: SMTP_PORT
from_var: MAIL_FROM_ADDRESS
from_domain_var: MAIL_DOMAIN
from_local: nextcloud
# --- 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: 'Your own cloud storage - a Google Drive/Dropbox alternative'
app_info:
tagline: 'Your own Google Drive - files, calendar and contacts in one place'
default_creds: 'You set the admin account details at install time'
use_cases:
- 'Sync and share files between your devices'
- 'Calendar and contact sync (CalDAV/CardDAV)'
- 'Work on a document together (with the OnlyOffice integration)'
- 'Photos and videos upload themselves from your phone'
- 'An app store - more features when you want them (Notes, Tasks, Forms and more)'
first_steps:
- 'Open cloud.DOMAIN in your browser'
- 'Sign in with the admin account you set at install time'
- 'Install the Nextcloud desktop app on your computer'
- 'Install the Nextcloud mobile app on your phone'
- 'Invite the household by creating an account for each of them'
prerequisites:
- 'An external hard drive is needed to keep the files on'
- 'At least 1 GB of free RAM (Nextcloud + MariaDB + Redis)'
- 'An x86 processor is recommended for the best speed'
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: DB_PASSWORD
label: 'Database password'
- env_var: HDD_PATH
label: 'Data storage path'
description: 'The path to the external hard drive'
placeholder: '/mnt/felhom-drives/hdd_1'
- env_var: MYSQL_ROOT_PASSWORD
label: 'MariaDB root password'
- env_var: NEXTCLOUD_ADMIN_USER
label: 'Admin user name'
- env_var: NEXTCLOUD_ADMIN_PASSWORD
label: 'Admin password'
description: 'For the first sign-in. You can change it in the app afterwards.'