Files
app-catalog-felhom.eu/templates/crafty-controller/.felhom.yml
T
admin e1f0179d7a
gates / gates (push) Successful in 2s
crafty-controller: 4.10.7 -> 4.11.0, its first ladder step, both venues proven (R-462)
A new front-door fixture: crafty's own API v2 (login as admin, a role created and read back, a
wrong-token control), reached over its own HTTPS port on the bench as traefik reaches it on a box.
Bench 9401 (harness v4, swap 0): proven, 10-min watch 0 kills (anon peak 2.7 % of 2048M); the abort
starts and serves. Box 9202: done in 51.3 s, the role read back. Written by upgrade-test.py --write-ladder.

Evidence: felhom.eu/documentation/audits/more-night-apps-2026-09-30/

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-09-30 18:41:02 +02:00

132 lines
7.0 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# =============================================================================
# .felhom.yml - App metadata for felhom-controller
# =============================================================================
# --- Display info (shown on dashboard) ---
display_name: "Crafty Controller"
description: "Minecraft szerver kezelő webes felülettel"
category: "games"
subdomain: "minecraft"
slug: "crafty-controller"
# 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-30"
# --- Resource hints (displayed on deploy screen) ---
resources:
mem_request: "256M"
mem_limit: "2048M"
pi_compatible: false
needs_hdd: false
# --- 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: "minecraft"
required: true
locked_after_deploy: true
description: "Az alkalmazás aldomainje"
- env_var: CRAFTY_PASSWORD
label: "Admin jelszó"
type: password
generate: password:24
locked_after_deploy: true
description: "A Crafty admin felhasználó (admin) kezdeti jelszava — ezzel tudsz belépni a kezelőfelületre"
# --- App info (info page content) ---
app_info:
tagline: "Minecraft szerver kezelő - hozd létre a saját világodat"
docs_url: "https://docs.craftycontrol.com/"
use_cases:
- 'Minecraft szerver létrehozása és kezelése webes felületen'
- 'Több szerver párhuzamos futtatása (Java és Bedrock)'
- 'Automatikus mentések és ütemezett újraindítás'
- 'Játékos menedzsment és konzol hozzáférés'
- 'Szerver fájlok kezelése böngészőből'
first_steps:
- 'Nyisd meg a minecraft.DOMAIN címet a böngészőben'
- 'A kezdeti belépési adatokat ezen az oldalon (Kezdeti belépési adatok) találod'
- 'Hozz létre egy új Minecraft szervert a varázslóval'
- 'Állítsd be a szerver beállításokat (játékmód, nehézség, stb.)'
- 'Állítsd be a szerver portját a 25565–25575 tartományon belül (server.properties → server-port); az első szerver a 25565-öt használja, a továbbiak 25566–25575-öt'
- 'Helyi hálózaton csatlakozz a szerver helyi IP-címére és portjára (pl. 192.168.x.x:25565) — a Minecraft kliens „helyi hálózat keresése” nem listázza automatikusan, add meg kézzel a címet'
- 'Interneten keresztüli eléréshez port-továbbítás szükséges a választott port(ok)ra — egyeztess az üzemeltetővel'
prerequisites:
- 'Legalább 2 GB szabad RAM ajánlott (Minecraft szerver + Crafty)'
- 'x86 processzor szükséges (nem fut Raspberry Pi-n)'
- 'A Minecraft szerverek a 25565–25575 porttartományt használhatják (egyszerre legfeljebb 11 szerver)'
# --- Controller-side health probe ---
healthcheck:
checks:
- type: tcp
port: 8443
# --- Initial login (felhom-seeded) ---
# The admin password is seeded into default.json by the compose entrypoint (CRAFTY_PASSWORD deploy
# field). The controller reads it back from default.json and shows it on the app page under "Kezdeti
# belépési adatok" — same value the customer set at deploy time.
initial_credentials:
file: /crafty/app/config/default.json
format: json
username_key: username
password_key: password
note: "Kezdeti admin jelszó (a telepítéskor beállított). Az első belépés után változtasd meg a Crafty felületén — ez a kártya továbbra is a kezdeti jelszót mutatja."
# --- 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 Minecraft server manager with a web interface'
app_info:
tagline: 'A Minecraft server manager - build your own world'
use_cases:
- 'Create and run a Minecraft server from a web page'
- 'Run several servers side by side (Java and Bedrock)'
- 'Backups and scheduled restarts happen on their own'
- 'Manage players and reach the console'
- 'Handle the server files from your browser'
first_steps:
- 'Open minecraft.DOMAIN in your browser'
- 'The first sign-in details are on this page, under Initial sign-in details'
- 'Create a new Minecraft server with the wizard'
- 'Set the server options (game mode, difficulty and the rest)'
- 'Set the server port inside the range 25565-25575 (server.properties -> server-port); the first server uses 25565 and the rest 25566-25575'
- 'On your home network, connect to the server''s local IP address and port (192.168.x.x:25565, for example) - the Minecraft client''s local network search does not list it on its own, so type the address in by hand'
- 'Reaching it over the internet needs port forwarding to the port or ports you chose - ask whoever runs the network'
prerequisites:
- 'At least 2 GB of free RAM is recommended (the Minecraft server + Crafty)'
- 'An x86 processor is needed (it does not run on a Raspberry Pi)'
- 'Minecraft servers may use the port range 25565-25575 (at most 11 servers at once)'
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: CRAFTY_PASSWORD
label: 'Admin password'
description: 'The first password of Crafty''s admin user (admin) - this is what signs you in'
initial_credentials:
note: 'The first admin password (the one set at install time). Change it in Crafty after your first sign-in - this card keeps showing the first password.'
# 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": {"crafty-controller": "registry.gitlab.com/crafty-controller/crafty-4:4.10.7"}, "to": {"crafty-controller": "registry.gitlab.com/crafty-controller/crafty-4:4.11.0"}, "digest": {"crafty-controller": "sha256:7b6e87514259549647e15ceeaf73d238792e6d77e2c79fc744d5badc8d6e997c"}, "verdict": "proven", "tested_at": "2026-09-30T16:37:55Z", "harness_version": 4, "evidence": "felhom.eu/documentation/audits/more-night-apps-2026-09-30/bench/apps/crafty-controller/bench/evidence/MV-crafty-controller/verdict.json", "box_evidence": "felhom.eu/documentation/audits/more-night-apps-2026-09-30/box/crafty-controller/step.txt", "memory_peak_pct": 2.7, "marks": {"files_may_change": false, "needs_person": null, "memory_tight": false}, "memory_basis": "anon", "memory_cgroup_peak_pct": 8.0}