Skip to content

Release 11.0.0 - Nextcloud 24.0.12

Compare
Choose a tag to compare
@GuyPaddock GuyPaddock released this 28 Mar 05:03
· 12 commits to develop since this release

Commits in this release: v10.2.2...v11.0.0

This release upgrades to Nextcloud 24, adds support for MySQL Flexible Server on Azure, and improves the DevOps user experience in a few ways.

Important Upgrade Notes

Take care when upgrading existing deployments. Major upgrades must be applied in sequence.

See Upgrading an Existing Nextcloud Deployment on AKS in the README for instructions on how to upgrade an existing deployment.

Changes Required to Overlays

  • If you use New Relic monitoring, the subscription key has moved from publish.profile into config-environment.yaml in the profile. See the appropriate part of config-environment.yaml in the sample overlay.
  • If you wish to use the new maintenance page feature, you must add settings for it in your config-environment.yaml file.

Full Changelog (since 10.2.2)

Deprecations

  • Dropped support for Postgres, since this kit is designed and tested only with MySQL and MariaDB. The deployment manifests are hardcoded to only support MySQL environment variables, so supporting other databases in the entry point didn't really make sense.

New Features

  • Introduced an ingress-level maintenance page feature, for use during scheduled downtime.

Enhancements

  • Upgraded to Nextcloud 24.0.12.
  • Enhanced the dump-db command:
    • Now, the default behavior is to write output to a file that is automatically named with the timestamp at the time export starts.
    • Adds --to-stdout option if output to standard out is desired.
    • Now exports with --disable-keys so that imports of a backup are faster.
    • Now exports with --single-transaction so that exports do not acquire table locks but are more consistent.
  • Added logic to configure the MySQL connection from environment variables even after installation: Nextcloud generates the config with database settings the first time that it is run, but from then on it does not automatically update the variables from the environment. This is a real pain if the password or hostname of the DB server needs to change, because an admin has to update the credentials in BOTH the environment AND the config volume, which is often mounted read-only. So, to support closer to a zero downtime deployment model for database connection string changes, this new config snippet should keep the database connection info in sync with the environment on a read-only config folder, even if what's in the config file is not in sync.
  • Moved configuration of New Relic from publishing time to run time so that the same Docker image can be used in multiple environments that report to different New Relic subscriptions and applications.
  • Cleaned up and enhanced the entry point script, incorporating some additional configuration options for Apache installations from upstream:
    • The initialization lock should now get released if the entry point script crashes.
    • Added support for the APACHE_DISABLE_REWRITE_IP environment variable.
    • Added support for the APACHE_RUN_USER and APACHE_RUN_GROUP environment variables (though a user who wants to use this would also require have to customize the storage mount configuration to ensure that storage mounts with the correct user ID).
    • Fixed up syncing process so that custom themes are synced the same way as custom apps.
    • DRYed-up several places in the code.
    • Added inline docs.
    • Renamed several functions for clarity of purpose.
  • Applied various dependabot security fixes to the sftp-ws-server component.