- HANKO_API_KEY and NEXT_PUBLIC_HANKO_TENANT_ID are required at build time
(module throws hard error if unset during page data collection)
- QSTASH_TOKEN, NEXT_PRIVATE_DOCUMENT_PASSWORD_KEY, NEXT_PRIVATE_VERIFICATION_SECRET
added as placeholders/random values
- NODE_OPTIONS=--max-old-space-size=3584 for npm run build (Next.js OOM fix)
- RAM raised from 2048 to 4096 (Next.js build requires ~3.5GB heap)
- matomo: move creds to /root/matomo.creds (out of webroot), keep tests/ dir,
block dotfiles in Caddy (@blocked /.* pattern)
- papermark: add NEXT_PUBLIC_APP_BASE_HOST and NEXT_PUBLIC_WEBHOOK_BASE_HOST
placeholder env vars to prevent undefined 'value' in has:host routes
causing Next.js build failure
- slink: replace doctrine:database:create with touch for SQLite (getCreateDatabaseSQL
not supported by SQLitePlatform)
Stop removing /opt/matomo/node_modules in Matomo install/upgrade scripts (leave tests removal intact). For SolidTime, set SESSION_SECURE_COOKIE=false and APP_FORCE_HTTPS=false in the generated .env (and append them if missing) to ease non-HTTPS/local installs. Also add a warning message in the SolidTime UI JSON instructing admins to verify new accounts via: php /opt/solidtime/artisan admin:user:verify YOUR@EMAIL.
Increase SolidTime defaults in ct/solidtime.sh (CPU from 2 to 4, RAM from 2048 to 4096) to provide more capacity by default. In install/matomo-install.sh, invoke setup_mariadb before creating the Matomo DB to ensure the MariaDB service is installed/configured prior to running MARIADB_DB_NAME/MARIADB_DB_USER setup.
Delete container templates and installer scripts for BentoPDF and YOURLS. Removed ct/bentopdf.sh, ct/yourls.sh, install/bentopdf-install.sh, and install/yourls-install.sh which contained container build/install logic (nginx, Node/PNPM steps for BentoPDF and PHP/MariaDB/nginx setup for YOURLS). This cleans up deprecated or duplicated setup scripts.
Introduce an optional ClickStack observability install (HyperDX UI + OTel Collector + MongoDB). Adds a Whiptail prompt to enable ClickStack and adjusts default resource suggestions when selected. Updates ct/clickhouse.sh to include observability tag, author, update logic to auto-update HyperDX and the OTel Collector, and prints appropriate access URLs. Extends install/clickhouse-install.sh to install dependencies, initialize ClickHouse schemas for logs/traces/sessions, deploy the OTel Collector with a ClickHouse exporter, clone/build HyperDX, create systemd services (clickstack-otel, clickstack-api, clickstack-app), and enable them. Updates json/clickhouse.json to include an informational note about the optional ClickStack requirements and usage.
Introduce ClickHouse support by adding a container template (ct/clickhouse.sh), an installer script (install/clickhouse-install.sh) and app metadata (json/clickhouse.json). The installer configures ClickHouse to listen on 0.0.0.0, restarts the service, and performs OS update, networking checks, MOTD/customization and cleanup. Metadata declares default resources (2 CPU, 4GB RAM, 10GB disk), interface port 8123, documentation/website links, and a warning about the default user having no password.
node-sass requires node-gyp which needs python3, and has no
prebuilt binaries for Node 22. Downgrade to Node 20 and add
python3 dependency to fix npm install failure.
Migrated all 80 app JSON files to place config_path inside each
install_methods object instead of at the root level. This allows
different install methods (e.g. Debian vs Alpine) to have distinct
config paths.
Also updated AGENTS.md JSON structure example to reflect the change.
Update PocketBase bot and import workflow to use direct `notes` and `install_methods` fields instead of the older `notes_json`/`install_methods_json` relations. Adjust parsing, PATCH/POST payloads and error messages accordingly, remove project_url handling, and drop the separate resolution/creation of related note/install_method records in the import script. Also update docs to reflect the new field names and clean up some formatting and allowed-field lists.