meta-core claims model: pin meta-core 2.0.1, meta-read 1.4.1, meta-watch 1.1.0, meta-search 1.3.2, meta-share 2.7.0, gateway 1.1.1, meta-sort 1.1.1, plugins 1.1.0; signing keys + db-cache backup exclude

This commit is contained in:
Worph
2026-10-27 19:08:14 +00:00
parent 26929835d3
commit fcd0a9703b
26 changed files with 415 additions and 70 deletions
+24 -11
View File
@@ -5,7 +5,7 @@ services:
# Public ingress goes through the `metacore` hash-lock proxy below — this
# service has no public Caddy labels and no exposed host ports.
metacore-app:
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-core:1.2.0
image: ipcr-watch.nsl.sh/ipns/metadec.eth/metadec.eth/meta-core:2.0.1
container_name: metacore-app
# Hard RAM cap, swap disabled (memswap_limit == mem_limit) → OOM
# instead of swap. Both values must move together or swap comes back.
@@ -29,7 +29,9 @@ services:
volumes:
# Shared infrastructure state: the metadata store (db/meta-core.db, SQLite),
# the leader lock, identity and mounts.
# the leader lock, identity and mounts. Since meta-core 2.0.0 also
# db-cache/cache.db: every index/derived table, rebuilt from db/ on
# demand — so it is excluded from backups (see x-compose-app.backup).
# Lives inside /DATA/AppData/metacore/ so CasaOS archives it on uninstall.
- ${DATA_ROOT:-/DATA}/AppData/metacore/meta-core:/meta-core:rw
@@ -99,7 +101,7 @@ services:
BACKEND_HOST: "metacore-app"
BACKEND_PORT: "80"
LISTEN_PORT: "80"
REDIRECT_HOST_SUFFIXES: "${APP_DOMAIN},${APP_PUBLIC_IP_DASH}.${APP_IP_ZONE},${APP_PUBLIC_IP_DASH}.sslip.io"
REDIRECT_HOST_SUFFIXES: "${APP_HOST_SUFFIXES:-${APP_DOMAIN},${APP_PUBLIC_IP_DASH}.${APP_IP_ZONE},${APP_PUBLIC_IP_DASH}.sslip.io}"
depends_on:
- metacore-app
@@ -153,15 +155,15 @@ x-casaos:
en_us: |
**The infrastructure foundation for the MetaMesh media management ecosystem.**
MetaCore provides the shared services that power all MetaMesh applications: distributed leader election, Redis database, WebDAV file serving, remote mount management, and service discovery.
MetaCore provides the shared services that power all MetaMesh applications: distributed leader election, embedded SQLite database, WebDAV file serving, remote mount management, and service discovery.
**Key Features:**
- **Leader Election** - Automatic flock-based leader election with failover support
- **Redis Database** - Centralized metadata storage for all MetaMesh services
- **SQLite Database** - Centralized metadata storage for all MetaMesh services: a backed-up truth file plus a rebuildable index cache
- **WebDAV File Serving** - Cached file access for all services via HTTP
- **Mount Management** - Add NFS, SMB, and rclone remote mounts from the dashboard
- **File Watcher** - Monitors folders and notifies services of new files
- **Metadata Editor** - Browse and edit file metadata stored in Redis
- **Metadata Editor** - Browse and edit file metadata stored in SQLite
- **Service Discovery** - Automatic registration and discovery of MetaMesh services
- **OIDC Single Sign-On** - Dashboard protected by Yundera's built-in Authelia (auto-registered, no secrets to configure)
@@ -172,23 +174,23 @@ x-casaos:
fr_fr: |
**La fondation d'infrastructure pour l'ecosysteme de gestion de medias MetaMesh.**
MetaCore fournit les services partages qui alimentent toutes les applications MetaMesh : election de leader distribuee, base de donnees Redis, service de fichiers WebDAV, gestion de montages distants et decouverte de services.
MetaCore fournit les services partages qui alimentent toutes les applications MetaMesh : election de leader distribuee, base de donnees SQLite embarquee, service de fichiers WebDAV, gestion de montages distants et decouverte de services.
**Fonctionnalites Cles:**
- **Election de Leader** - Election automatique basee sur flock avec support de basculement
- **Base de Donnees Redis** - Stockage centralise des metadonnees pour tous les services
- **Base de Donnees SQLite** - Stockage centralise des metadonnees pour tous les services : un fichier de verite sauvegarde et un cache d'index reconstructible
- **Service de Fichiers WebDAV** - Acces aux fichiers en cache via HTTP
- **Gestion des Montages** - Ajout de montages NFS, SMB et rclone depuis le tableau de bord
- **Surveillance de Fichiers** - Surveille les dossiers et notifie les services des nouveaux fichiers
- **Editeur de Metadonnees** - Parcourir et editer les metadonnees stockees dans Redis
- **Editeur de Metadonnees** - Parcourir et editer les metadonnees stockees dans SQLite
- **Decouverte de Services** - Enregistrement et decouverte automatiques des services
- **SSO OIDC** - Tableau de bord protege par l'Authelia integre de Yundera (auto-enregistre, aucun secret a configurer)
**Installez ceci EN PREMIER** avant MetaSort, MetaFuse ou MetaStremio.
tagline:
en_us: MetaMesh infrastructure - Leader election, Redis, WebDAV, and service discovery
fr_fr: Infrastructure MetaMesh - Election de leader, Redis, WebDAV et decouverte de services
en_us: MetaMesh infrastructure - Leader election, SQLite, WebDAV, and service discovery
fr_fr: Infrastructure MetaMesh - Election de leader, SQLite, WebDAV et decouverte de services
title:
en_us: MetaCore
@@ -237,6 +239,11 @@ x-compose-app:
- path: /DATA/AppData/metacore/meta-core
user: $PUID
group: $PGID
# meta-core 2.0.0 rebuildable index cache (META_CORE_CACHE_PATH default
# /meta-core/db-cache/cache.db). Excluded from backups below.
- path: /DATA/AppData/metacore/meta-core/db-cache
user: $PUID
group: $PGID
- path: /DATA/AppData/metacore/cache
user: $PUID
group: $PGID
@@ -246,6 +253,12 @@ x-compose-app:
- path: /DATA/AppData/metacore/plugin/share
user: $PUID
group: $PGID
# The index cache is derived data: meta-core rebuilds it from db/meta-core.db
# (the truth file, which IS backed up) when it is missing or stale. Never
# back it up — a restore brings it back empty and it repopulates on boot.
backup:
exclude:
- meta-core/db-cache/
# Same string as the caddy_0 label, so the tile link and the route agree.
webui-host: metacore-${domain}
webui-path: "/"