# =============================================================================
# .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:
  ram: "~500MB"
  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: 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
