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>
146 lines
4.9 KiB
YAML
146 lines
4.9 KiB
YAML
# =============================================================================
|
|
# .felhom.yml — App metadata for felhom-controller
|
|
# =============================================================================
|
|
# Place alongside docker-compose.yml in each stack directory:
|
|
# /opt/docker/stacks/paperless-ngx/.felhom.yml
|
|
#
|
|
# This file defines:
|
|
# 1. Display info (name, description, icon)
|
|
# 2. Deploy fields (what the user fills in during first deployment)
|
|
# 3. Asset references (logos, screenshots loaded from felhom.eu)
|
|
# 4. Resource hints (RAM, Pi compatibility)
|
|
# =============================================================================
|
|
|
|
# --- Display info (shown on dashboard) ---
|
|
display_name: "Paperless-ngx"
|
|
description: "Dokumentumok digitalizálása és rendszerezése"
|
|
category: "productivity" # productivity, media, finance, security, tools
|
|
subdomain: "paperless" # -> paperless.<domain>
|
|
|
|
# --- Asset slug ---
|
|
# Used to construct URLs for logo and screenshots from felhom.eu:
|
|
# Logo: {assets.base_url}/assets/{slug}-logo.webp
|
|
# Screenshot: {assets.base_url}/assets/{slug}-screenshot-{n}.webp
|
|
# App page: {assets.base_url}/alkalmazasok#{slug}
|
|
# Falls back to directory name if not set.
|
|
slug: "paperless-ngx"
|
|
|
|
# --- Resource hints (displayed on deploy screen) ---
|
|
resources:
|
|
mem_request: "500M" # Expected memory usage (display hint)
|
|
mem_limit: "1152M" # Total enforced limit across all containers (768+256+128)
|
|
pi_compatible: true # Runs on Raspberry Pi 3B+
|
|
needs_hdd: true # Needs external storage for user data
|
|
|
|
# --- Deploy fields ---
|
|
# Shown to the user during first deployment.
|
|
# After deployment, values are saved to app.yaml in the stack directory.
|
|
#
|
|
# Field types:
|
|
# domain - Auto-filled from controller config, read-only
|
|
# secret - Auto-generated, hidden (user sees "Generated ✓")
|
|
# password - Auto-generated but shown, user can override
|
|
# path - Filesystem path (validated for existence)
|
|
# text - Free text input
|
|
# select - Dropdown with predefined options
|
|
# boolean - Toggle switch
|
|
#
|
|
# Generator types (for secret/password):
|
|
# password:N - N chars alphanumeric
|
|
# hex:N - N bytes hex-encoded
|
|
# static:VAL - Fixed value
|
|
|
|
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: "paperless"
|
|
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: PAPERLESS_SECRET_KEY
|
|
label: "Titkosítási kulcs"
|
|
type: secret
|
|
generate: "hex:32"
|
|
locked_after_deploy: true
|
|
|
|
- env_var: PAPERLESS_ADMIN_USER
|
|
label: "Admin felhasználónév"
|
|
type: text
|
|
default: "admin"
|
|
locked_after_deploy: false
|
|
|
|
- env_var: PAPERLESS_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, ahol a dokumentumok tárolódnak"
|
|
locked_after_deploy: true
|
|
|
|
- env_var: PAPERLESS_OCR_LANGUAGE
|
|
label: "OCR nyelv"
|
|
type: select
|
|
default: "hun+eng"
|
|
options:
|
|
- value: "hun"
|
|
label: "Magyar"
|
|
- value: "eng"
|
|
label: "Angol"
|
|
- value: "hun+eng"
|
|
label: "Magyar + Angol"
|
|
- value: "deu+eng"
|
|
label: "Német + Angol"
|
|
description: "Dokumentum felismerés nyelve"
|
|
locked_after_deploy: false
|
|
|
|
# --- App info (info page content) ---
|
|
app_info:
|
|
tagline: 'Digitális irattár - szkennelés, OCR és automatikus rendszerezés'
|
|
default_creds: 'admin / admin'
|
|
docs_url: 'https://docs.paperless-ngx.com/'
|
|
|
|
use_cases:
|
|
- 'Papír dokumentumok digitalizálása és rendszerezése'
|
|
- 'Automatikus OCR szövegfelismerés szkennelt dokumentumokon'
|
|
- 'Intelligens automatikus kategorizálás és címkézés'
|
|
- 'Teljes szöveges keresés az összes dokumentumban'
|
|
- 'Email-ből érkező dokumentumok automatikus feldolgozása'
|
|
|
|
first_steps:
|
|
- 'Nyisd meg a paperless.DOMAIN címet a böngészőben'
|
|
- 'Jelentkezz be: admin / admin'
|
|
- 'Változtasd meg azonnal a jelszót'
|
|
- 'Tölts fel egy dokumentumot (PDF, kép) és várd meg az OCR feldolgozást'
|
|
- 'Hozz létre címkéket és levelezőket az automatikus rendszerezéshez'
|
|
|
|
prerequisites:
|
|
- 'Külső HDD ajánlott a dokumentumok tárolásához'
|
|
- 'Legalább 1 GB szabad RAM (OCR feldolgozáshoz)'
|
|
|
|
# --- Controller-side health probe ---
|
|
healthcheck:
|
|
checks:
|
|
- type: http
|
|
port: 8000
|