a04882e296
Each app template now declares a healthcheck: section in .felhom.yml with appropriate probe type (http, api, or tcp) and endpoint based on the app's known health endpoints. The controller uses these to verify services are actually responding, not just that containers are running. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
102 lines
3.1 KiB
YAML
102 lines
3.1 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"
|
|
|
|
# --- Resource hints (displayed on deploy screen) ---
|
|
resources:
|
|
mem_request: "256M"
|
|
mem_limit: "1024M"
|
|
pi_compatible: false
|
|
needs_hdd: true
|
|
|
|
# --- 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/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"
|