'Marketplace' read as a place to buy things; this is a free, self-hosted app
catalog, so rename the app to LibrePortal Catalog. Slug is libreportal_catalog
(underscore — the slug becomes a CFG_<SLUG>_ prefix and a bash identifier via
declare "${app_name}=i"; a dash would break install). Docker-facing names use
dashes (libreportal-catalog-service / hostname libreportal-catalog), declared
explicitly in the PORT config + compose, not derived from the slug.
- containers/marketplace/ -> containers/libreportal_catalog/ (+ .config, .svg, hook file)
- CFG_MARKETPLACE_* -> CFG_LIBREPORTAL_CATALOG_*, APP_NAME + TITLE + PORT_1 updated
- install hook fn marketplace_install_post_setup -> libreportal_catalog_install_post_setup
- served browse site reworded Marketplace -> Catalog, icon refs updated
- regenerated function_manifest.sh (autoload stub now points at the new file)
Not installed yet, so there is no live config/container/volume to migrate — the
cheapest moment to rename. The client-side registry ('View full page on the
marketplace') wording is a separate subsystem and left unchanged for now.
Signed-off-by: librelad <librelad@digitalangels.vip>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
39 lines
1.5 KiB
Nginx Configuration File
39 lines
1.5 KiB
Nginx Configuration File
server {
|
|
listen 80;
|
|
server_name _;
|
|
root /usr/share/nginx/html;
|
|
index index.html;
|
|
|
|
# The bootstrap installer: served as a shell script, never cached, so
|
|
# `curl … | sudo bash` always gets the current one.
|
|
location = /install.sh {
|
|
default_type text/x-shellscript;
|
|
add_header Cache-Control "no-cache, must-revalidate";
|
|
}
|
|
|
|
# The signed catalog + channel manifests move on every publish — no cache.
|
|
location ~ /index\.json(\.minisig)?$ {
|
|
default_type application/json;
|
|
add_header Cache-Control "no-cache, must-revalidate";
|
|
}
|
|
location ~ /latest\.json$ {
|
|
default_type application/json;
|
|
add_header Cache-Control "no-cache, must-revalidate";
|
|
}
|
|
|
|
# Payloads keep their name across re-publishes (same-id upsert), so they
|
|
# are NOT immutable — short revalidating cache; boxes verify the sha256
|
|
# pinned in the fresh index anyway.
|
|
location ~ /payloads/ {
|
|
add_header Cache-Control "public, max-age=300, must-revalidate";
|
|
}
|
|
|
|
# Version-pinned release artifacts never change — cache hard.
|
|
location ~ \.tar\.gz$ { default_type application/gzip; add_header Cache-Control "public, max-age=31536000, immutable"; }
|
|
location ~ \.sha256$ { default_type text/plain; add_header Cache-Control "public, max-age=31536000, immutable"; }
|
|
location ~ \.minisig$ { default_type text/plain; add_header Cache-Control "public, max-age=31536000, immutable"; }
|
|
|
|
# The browse UI.
|
|
location / { try_files $uri $uri/ =404; }
|
|
}
|