6db08a5eb3
gates / gates (push) Successful in 1s
update_ladder: in .felhom.yml, one JSON entry per line (spiked live on controller v0.266.0 and v0.267.0 first). Two gates: check-test-record.py (static, CI too) and check-test-record-move.py (history + registry for moved refs only). 16 decoys, 3 red-proofs. The ONLY writer is upgrade-test.py --write-ladder (bench AND box proven, digests resolved). Harness v3: box fixtures on the bench, files_may_change. Backfill: the 21 moves of 2026-09-22, 21 proven from their records. No image: line moved. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
122 lines
5.2 KiB
YAML
122 lines
5.2 KiB
YAML
# =============================================================================
|
|
# .felhom.yml — App metadata for felhom-controller
|
|
# =============================================================================
|
|
# Place alongside docker-compose.yml in each stack directory:
|
|
# /opt/docker/stacks/docmost/.felhom.yml
|
|
# =============================================================================
|
|
|
|
# --- Display info (shown on dashboard) ---
|
|
display_name: "Docmost"
|
|
description: "Modern wiki és dokumentáció platform (Notion-szerű)"
|
|
category: "productivity"
|
|
subdomain: "docs"
|
|
|
|
# --- Asset slug ---
|
|
slug: "docmost"
|
|
# 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-09-22"
|
|
|
|
# --- Resource hints (displayed on deploy screen) ---
|
|
resources:
|
|
mem_request: "200M"
|
|
mem_limit: "768M"
|
|
pi_compatible: false
|
|
needs_hdd: false
|
|
|
|
# --- Deploy fields ---
|
|
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: "docs"
|
|
required: true
|
|
locked_after_deploy: true
|
|
description: "Az alkalmazás aldomainje"
|
|
|
|
- env_var: APP_SECRET
|
|
label: "Alkalmazás titkosítási kulcs"
|
|
type: secret
|
|
generate: "hex:32"
|
|
locked_after_deploy: true
|
|
|
|
- env_var: DB_PASSWORD
|
|
label: "Adatbázis jelszó"
|
|
type: secret
|
|
generate: "password:24"
|
|
locked_after_deploy: true
|
|
|
|
# --- App info (info page content) ---
|
|
app_info:
|
|
tagline: 'Modern wiki és dokumentáció platform Notion-szerű szerkesztővel'
|
|
docs_url: 'https://docmost.com/docs/'
|
|
|
|
use_cases:
|
|
- 'Csapat tudásbázis és belső dokumentáció'
|
|
- 'Notion-szerű blokk szerkesztő valós idejű együttműködéssel'
|
|
- 'Terek és oldalak hierarchikus szervezése'
|
|
- 'Képek, táblázatok és kód blokkok beágyazása'
|
|
- 'Keresés a teljes dokumentációban'
|
|
|
|
first_steps:
|
|
- 'Nyisd meg a docs.DOMAIN címet a böngészőben'
|
|
- 'Az első regisztrált felhasználó automatikusan admin lesz'
|
|
- 'Hozd létre az első teret (Space) a dokumentumoknak'
|
|
- 'Kezdj el írni a Notion-szerű szerkesztőben'
|
|
|
|
prerequisites:
|
|
- 'x86 processzor szükséges'
|
|
- 'Legalább 768 MB szabad RAM (Docmost + PostgreSQL + Redis)'
|
|
|
|
# --- Controller-side health probe ---
|
|
healthcheck:
|
|
checks:
|
|
- type: http
|
|
port: 3000
|
|
|
|
# --- 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: 'A modern wiki and documentation platform (Notion-like)'
|
|
app_info:
|
|
tagline: 'A modern wiki and documentation platform with a Notion-like editor'
|
|
use_cases:
|
|
- 'A knowledge base and internal documentation for a team'
|
|
- 'A Notion-like block editor several people can use at once'
|
|
- 'Spaces and pages, arranged in a tree'
|
|
- 'Embed images, tables and code blocks'
|
|
- 'Search across all of it'
|
|
first_steps:
|
|
- 'Open docs.DOMAIN in your browser'
|
|
- 'The first person to sign up becomes the admin'
|
|
- 'Create your first Space for the documents'
|
|
- 'Start writing in the Notion-like editor'
|
|
prerequisites:
|
|
- 'An x86 processor is needed'
|
|
- 'At least 768 MB of free RAM (Docmost + PostgreSQL + Redis)'
|
|
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: APP_SECRET
|
|
label: 'Application encryption key'
|
|
|
|
# update_ladder — the test record: one tested step per line, oldest first (JSON flow mappings,
|
|
# `09-update-architecture.md` §6.4 part 4). WRITTEN BY scripts/upgrade-test.py, never by hand;
|
|
# gated by scripts/check-test-record.py. An image: move without a proven entry here is refused.
|
|
update_ladder:
|
|
- {"from": {"docmost": "docmost/docmost:0.95.0", "docmost-postgres": "postgres:16-alpine", "docmost-redis": "redis:7-alpine"}, "to": {"docmost": "docmost/docmost:0.96.0", "docmost-postgres": "postgres:16-alpine", "docmost-redis": "redis:7-alpine"}, "digest": {"docmost": "sha256:b56947fcfd08aab8fae12a377e1792784786adbf8b96e4281f14ef4fc072685a", "docmost-postgres": "sha256:721873c34ceb9f8d8fc265984940dc982404c105f19ad51be9fdc5970a6080ea", "docmost-redis": "sha256:858f009f9709ce576febc734aa78b8f6d624b82571f9ddb6bda4377c833b3499"}, "verdict": "proven", "tested_at": "2026-09-21T18:21:18.018992+00:00", "harness_version": 1, "evidence": "felhom.eu/documentation/audits/update-night-2026-09-21/apps/docmost/verdict.json", "memory_peak_pct": null, "marks": {"files_may_change": false, "needs_person": null, "memory_tight": false}, "backfilled": "2026-09-23", "note": "backfilled from catalog commit 6d8cd87; box walk only (harness v1, no memory watch); digest = what the registry served on 2026-09-23, not a measurement of the tested image"}
|