nextcloud-docker-dev icon indicating copy to clipboard operation
nextcloud-docker-dev copied to clipboard

📝 Changelog

Open juliusknorr opened this issue 3 years ago • 9 comments

This issue will keep getting updates about changes that are relevant for developers using this setup or the images.

You can subscribe to it to get updates.

Updating to the latest version

  • git pull to get the latest changes
  • make pull-installed to pull the latest versions of all images that are already downloaded
  • make pull-all to pull the latest versions of all images
  • After pulling make sure to either recreate the containers manually or recreate the full development environment through docker compose down -v and docker compose up -d proxy nextcloud ... for the containers in use

juliusknorr avatar Nov 27 '22 10:11 juliusknorr

Added

  • 📦 The sysvsem PHP module is now included in the images as it was introduced as a recommendation in https://github.com/nextcloud/server/pull/18210
  • 🐘 PHP 8.2.0 RC6 is available as a new image: nextcloud-dev-php82
    • The blackfire module is still missing as it is not available yet

Breaking changes

  • 🧩 Xdebug and Blackfire are disabled by default now. A script has been added to seamlessly switch between the different modes. The first argument represents the container name from docker-compose.yml:
    • Enable xdebug for step debugging: ./scripts/php-mod-config nextcloud xdebug.mode debug
    • Enable xdebug for profiling: ./scripts/php-mod-config nextcloud xdebug.mode profile
    • Enable xdebug for tracing: ./scripts/php-mod-config nextcloud xdebug.mode trace
    • Disable xdebug: ./scripts/php-mod-config nextcloud xdebug.mode of
    • Enable blackfire ./scripts/php-mod-config nextcloud blackfire on
    • Disable blackfire ./scripts/php-mod-config nextcloud blackfire off

juliusknorr avatar Nov 27 '22 10:11 juliusknorr

  • 🚚 The nextcloud-dev-php images are now also able to run in standalone mode. This allows to spin up small development setups without the need for using the full docker-compose setup. If no volume mounts are provided the server source code will be fetched from master or a provided git tag through SERVER_BRANCH
    • Run a container for app development with the server master branch:
      docker run --rm -p 8080:80 ghcr.io/juliushaertl/nextcloud-dev-php80:latest
      
    • Run a container for app development with the server stable version 24.0.1 branch:
      docker run --rm -p 8080:80 -e SERVER_BRANCH=v24.0.1 ghcr.io/juliushaertl/nextcloud-dev-php80:latest
      
    • Develop an app with a local source code:
      docker run --rm -p 8080:80 -v ~/path/to/app:/var/www/html/apps-extra/app ghcr.io/juliushaertl/nextcloud-dev-php80:latest
      
    • For easier debugging you can also mount a local path for the server code (either an empty one or the path to your already checked out server codebase):
      docker run --rm -p 8080:80 -v ~/path/to/server:/var/www/html ghcr.io/juliushaertl/nextcloud-dev-php80:latest
      
  • 📦 The following tools have been added to the php images to ease development for users that don't have those installed locally:
    • composer in the latest release available during image build
    • PHPUnit is available in two versions: phpunit8 and phpunit9
    • nvm for managing Node.js versions with the following preinstalled ones:
      • Node.js 14 and npm 7
      • Node.js 16 and npm 8

juliusknorr avatar Dec 01 '22 20:12 juliusknorr

  • 🔧 Fresh development environment setups will automatically install and enable the hmr_enabler app to ease frontend development with hot module reloading. (thanks to @christianlupus for the contribution)
    • Existing installations can make use of this by cloning the app manually to their workspace app directory and make sure the app id is listed in the .env file in the list of NEXTCLOUD_AUTOINSTALL_APPS

juliusknorr avatar Dec 29 '22 22:12 juliusknorr

  • 📦 The gmp extension has been added to the php images (thanks to @st3iny for the contribution)

juliusknorr avatar Jan 01 '23 11:01 juliusknorr

  • 📦 The ADDITIONAL_APPS_PATH is now providing a shared mount to all Nextcloud containers. It can be used to have one git checkout of apps that support multiple Nextcloud releases. The default location is data/apps-extra.
    • ⚠️ For existing installations: Make sure that ADDITIONAL_APPS_PATH is properly set to a path that only contains app checkouts that should be shared across multiple stable versions or remove it from your existing .env file to use the default location.

juliusknorr avatar Jan 04 '23 10:01 juliusknorr

  • ✨ New stable27 container has been added for the Nextcloud 27 stable branch
  • 🚚 The standalone container are now able to work with GitHub code spaces. An example to integrate this into an app repository for easier contribution can be found at https://github.com/nextcloud/deck/pull/4683
  • 🐛 Apps that are not possible to be enabled during installation will no longer block the setup forever #189

juliusknorr avatar May 19 '23 16:05 juliusknorr

  • 🐛 The environment variable for changing the XDebug mode has been changed to PHP_XDEBUG_MODE to make sure that the configuration can be changed dynamically again using the script ./scripts/php-mod-config nextcloud xdebug.mode debug. Make sure to adjust your .env file accordingly. (#136)
  • 🐘 PostgreSQL auto installation works again for stable26 and up (#161)

juliusknorr avatar Jun 20 '23 20:06 juliusknorr

  • 📶 Talk signaling server and janus are available as a dedicated container now. Setup details can be found in the README. (#204, thanks a lot to @SystemKeeper for the contribution)

juliusknorr avatar Sep 12 '23 09:09 juliusknorr

  • 🔒 PROTOCOL environment variable was added to more easily check and autoconfigure if https is used or not. Make sure to update your .env file to include PROTOCOL=https if you are using SSL/TLS on your dev setup (#214)

juliusknorr avatar Nov 07 '23 12:11 juliusknorr