fix(oci): clarify Rclone dry runs and preserve HedgeDoc description

This commit is contained in:
martino
2026-09-28 16:15:59 +02:00
parent 8aade0e55c
commit 3e7ebc4be0
8 changed files with 263 additions and 7 deletions
+2 -2
View File
@@ -8,10 +8,10 @@
"en_US": "Hedgedoc"
},
"tagline": {
"en_US": "HedgeDoc gives you access to all your files wherever you are."
"en_US": "HedgeDoc is a self-hosted collaborative Markdown editor for notes."
},
"description": {
"en_US": "HedgeDoc gives you access to all your files wherever you are."
"en_US": "HedgeDoc is a self-hosted collaborative Markdown editor for notes."
},
"category": "documents",
"category_label": "Documents & Notes",
+1 -1
View File
@@ -3995,7 +3995,7 @@
"title": "Hedgedoc",
"repository_name": "docker-hedgedoc",
"repository": "https://github.com/linuxserver/docker-hedgedoc",
"description": "HedgeDoc gives you access to all your files wherever you are.",
"description": "HedgeDoc is a self-hosted collaborative Markdown editor for notes.",
"website": "https://hedgedoc.org/",
"icon": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/hedgedoc.webp",
"architectures": [
+7 -1
View File
@@ -1,6 +1,12 @@
{
"catalog_ui": {
"hidden": true,
"hidden_reason": "Needs MariaDB or PostgreSQL in its own container; planned as a multi-container application"
"hidden_reason": "Needs MariaDB or PostgreSQL in its own container; planned as a multi-container application",
"tagline": {
"en_US": "HedgeDoc is a self-hosted collaborative Markdown editor for notes."
},
"description": {
"en_US": "HedgeDoc is a self-hosted collaborative Markdown editor for notes."
}
}
}
+5 -1
View File
@@ -98,7 +98,11 @@ grep -Fxq "${REMOTE_NAME}:" <<<"$REMOTES" \
msg_ok "$(translate "Remote verified:") ${REMOTE_NAME}:"
if [[ $DRY_RUN == 1 ]]; then
msg_ok "$(translate "Dry run completed; the container and the mounts were not changed.")"
if [[ $STATUS == running ]]; then
msg_ok "$(translate "Dry run completed; mount configuration was not applied. The CT was already running.")"
else
msg_ok "$(translate "Dry run completed; mount configuration was not applied. The CT was started for the remote check.")"
fi
exit 0
fi
+4
View File
@@ -402,6 +402,10 @@ class Catalog:
overlay_path = self.overlays_dir / f"{item['id']}.json"
overlay_ui = json.loads(overlay_path.read_text(encoding="utf-8")).get("catalog_ui", {}) if overlay_path.exists() else {}
item["hidden"] = overlay_ui.get("hidden", False)
# The index is rebuilt from upstream README summaries; preserve a
# locally curated English description from the existing overlay.
item["description"] = overlay_ui.get("description", {}).get(
"en_US", item.get("description"))
path = self.apps_dir / f"{item['id']}.json"
if not path.exists():
item["architectures"] = supported_architectures(
+3 -2
View File
@@ -621,8 +621,9 @@ def build_rclone_mount_deployment(
) -> dict[str, Any]:
ui = ui or TerminalUI()
schema = template["proxmox"]["laboratory_contract"]["configuration_schema"]
ui.message(translate("The remote must already be created and authorized in the Rclone web UI. This "
"operation restarts the CT and publishes two FUSE views on the host."))
ui.message(translate("Configure the remote in the Rclone Web UI first. Checking its name may start a "
"stopped CT, even in a dry run. Applying the mount restarts the CT and attempts "
"to publish two FUSE views on the host; a dry run does not publish them."))
vmid = int(ui.ask(translate("VMID of the Rclone OCI container")))
remote_name = ui.ask(translate("Exact name of the remote"))
if not re.fullmatch(r"[A-Za-z0-9._-]{1,64}", remote_name):