Commit graph

11 commits

Author SHA1 Message Date
b1dadbc952 chore: release 26.11-alpha
All checks were successful
CI / validate (push) Successful in 5s
CI / shellcheck (push) Successful in 13s
Release / release (push) Successful in 5s
Catalog 26.11-alpha rolls up the Jellyfin compose default-substitution
fix (already on main as 2a31a79) into a tagged release so the
validator CI goes green on every post-Jellyfin commit.

No app additions or schema changes — core 26.11-alpha (auth) is the
substantive release this cycle, catalog just clears its CI red X.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 13:01:55 +02:00
57593d98a7 chore: retrigger CI
All checks were successful
CI / validate (push) Successful in 15s
CI / shellcheck (push) Successful in 36s
Forgejo Actions did not pick up the push of 2a31a79 (fix(jellyfin)
default-substitution) — no ci.yml task registered 10+ min after the
push landed. Empty commit forces a fresh webhook trigger so the
validator fix can go green. Same Forgejo hiccup also dropped
ci.yml for core 577c246 earlier.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 12:26:15 +02:00
2a31a7927c fix(jellyfin): use compose default-substitution so validator passes
Some checks are pending
CI / validate (push) Waiting to run
CI / shellcheck (push) Waiting to run
Without a .env in the jellyfin app dir, validate-catalog.py's
\`docker compose config\` step substituted \${MEDIA_PATH} → empty →
\`:/media:ro\` which compose rejects ("empty section between colons"),
failing CI on every post-Jellyfin commit. Local runs skipped the
check because the validator gates it on \`which docker\` and my dev
box has none.

Fix: use the default-substitution form \${MEDIA_PATH:-/nonexistent}.
Empty/unset MEDIA_PATH now expands to /nonexistent — valid volume
spec, CI green. Real install flow (form fill → .env with real path)
substitutes the user value as before. /nonexistent is obviously
wrong, so if a broken install path ever reaches \`docker compose up\`
the mount fails loudly rather than silently mounting something
random.

Doesn't affect the already-published 26.10-alpha catalog tarball —
that one works end-to-end for the Web UI install flow. This fix is
purely to un-red CI on subsequent pushes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 12:18:57 +02:00
1dac7b810a chore: release 26.10-alpha
Some checks failed
CI / validate (push) Failing after 11s
CI / shellcheck (push) Successful in 22s
Release / release (push) Successful in 6s
Catalog 26.10-alpha adds Jellyfin (first app to use the core-26.10
path-type setting for host-bind-mounted media libraries) and bumps
the vendored manifest schema to match core. Requires boxes to be on
core 26.10-alpha or newer — the 26.9 manifest parser rejects the
path type.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 11:48:33 +02:00
cf623d46bc docs(apps): document the new path setting type
Some checks failed
CI / validate (push) Failing after 11s
CI / shellcheck (push) Successful in 17s
Mirror of the core repo's apps/README.md update. Keeps the two copies
in lockstep since app authors may land on either one.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 11:43:16 +02:00
fcf2f22a47 feat(jellyfin): add media-server app using new path-type setting
Some checks are pending
CI / validate (push) Waiting to run
CI / shellcheck (push) Waiting to run
First app to use the core-26.10-alpha `path` setting type. User picks
their existing media folder (MEDIA_PATH=/mnt/media) in the install
form; core installer validates the path server-side; compose mounts
it read-only at /media. Docker-managed volumes hold /config and
/cache; admin account is created from the first browser visit to
:8096. No HW transcoding yet — that's a later schema extension.

Also bumps the vendored manifest schema in scripts/vendor/ to match
core 26.10-alpha — catches up both the missing `open_url` field (gap
since 26.6-alpha) and the new `path` setting type. No changes needed
to validate-catalog.py itself.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 11:40:29 +02:00
a2e47c2c0c chore: release 26.9-alpha
All checks were successful
CI / validate (push) Successful in 11s
CI / shellcheck (push) Successful in 20s
Release / release (push) Successful in 13s
Catalog 26.9-alpha cuts the IT-Tools addition from b2b4793 into a
tagged release so boxes pick it up via on-box sync.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 11:18:14 +02:00
b2b47938e6 feat(it-tools): add browser-toolbox app to the catalog
All checks were successful
CI / validate (push) Successful in 7s
CI / shellcheck (push) Successful in 32s
Client-side utility collection (password/UUID/QR generators, hashes,
Base64/JWT, JSON/YAML formatter, regex tester, cron parser, etc.) from
corentinth/it-tools. No state, no volumes, no settings — runs fully in
the browser and serves on port 8080. Good smoke-test target for the
catalog-sync path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 11:16:59 +02:00
436ce11f52 feat(catalog): 26.8-alpha — add open_url to fileshare + uptime-kuma
All checks were successful
CI / validate (push) Successful in 29s
CI / shellcheck (push) Successful in 56s
Release / release (push) Successful in 25s
Both apps grow an `open_url` manifest field so the core UI can render
an Open button that deep-links into the app. fileshare uses smb:// to
trigger the OS file manager; uptime-kuma uses http://{host}:3001/ for
the browser. No image or compose changes.

- fileshare 0.1.1 → 0.1.2
- uptime-kuma 1.0.0 → 1.0.1
2026-04-20 17:47:19 +02:00
f377a5a387 feat(uptime-kuma): add status-monitor app to the catalog
All checks were successful
CI / validate (push) Successful in 20s
CI / shellcheck (push) Successful in 31s
Release / release (push) Successful in 37s
louislam/uptime-kuma:1 with one data volume and port 3001. Admin
account bootstrapped from the first browser visit to :3001 — no
Furtka settings form needed. Catalog release 26.7-alpha.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 15:34:28 +02:00
8cd9e3bcf4 chore: bootstrap furtka-apps catalog repo
All checks were successful
CI / validate (push) Successful in 36s
CI / shellcheck (push) Successful in 1m1s
Release / release (push) Successful in 38s
Initial layout: apps/fileshare/ (seeded from daniel/furtka apps/), CI
(JSON + manifest validator + shellcheck), release pipeline (tag-driven,
mirrors core repo), vendored manifest schema for offline validation.

The core repo (daniel/furtka) at 26.6-alpha keeps apps/fileshare as a
seed so offline first-boot still has an installable app; this catalog
becomes authoritative once a box has synced at least once.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 14:14:50 +02:00