Skip to content

v0.2.20.

Complete release notes · 2026-08-20. Read upgrade instructions and runtime limits before deploying.

Fixed

  • Honest One-Click Catalog: Removed 47 stack components and unsupported containers that cannot run under NineDeploy's current single-application plus optional single-database contract. The remaining 88 images all pass live OCI registry inspection.
  • Real Database Template Wiring: Templates persist application-specific connection mappings, so WordPress receives WORDPRESS_DB_*, Directus receives DB_*, and other supported database apps receive the fields their images actually consume instead of an unusable generic URL.
  • Working MySQL Initialization: Managed MySQL and MariaDB instances create and persist the app database during first boot; connection strings now target that real database.
  • CLI Database Provisioning: ninedeploy templates deploy now provisions, starts, records, and attaches the required managed database before queuing the application deployment.
  • Trusted Template Runtime Settings: Web Hub deploys send only a template ID; server-side registry data supplies protected commands, Docker socket access, and database mappings so MinIO and Docker-management templates no longer lose required runtime settings.
  • Corrected Upstream Images: Memos uses neosmemo/memos:stable, Forgejo uses the supported v16 image, and Kavita uses jvmilazz0/kavita:latest.
  • Independent Template Data: Multiple installations of the same database-backed template derive database names from the actual service slug and no longer share one database accidentally.

Added

  • Live Image Contract Gate: pnpm templates:verify-images checks every bundled template against its OCI registry and exits non-zero for missing repositories or tags.

Source CHANGELOG.md at 6046cfe8