nextcloud / all-in-one

📦 The official Nextcloud installation method. Provides easy deployment and maintenance with most features included in this one Nextcloud instance.
https://hub.docker.com/r/nextcloud/all-in-one
GNU Affero General Public License v3.0
5.64k stars 654 forks source link

Enable local testability #5568

Open apparle opened 1 week ago

apparle commented 1 week ago

This PR enables the ability to build and test images locally. It does 2 things:

  1. Updates the Dockerfile for mastercontainer to separate out the cloning step into its own stage, such that it can be overridden by user input to pick changes from local path with below command. This follows the principle described in https://www.docker.com/blog/dockerfiles-now-support-multiple-build-contexts/
    cd Containers/mastercontainer
    docker buildx build --build-context aio_root=../../ -t nextcloud/all-in-one:latest .
  2. Since the hash of a locally built image will never match the latest image, mandating "Update mastercontainer" makes local testing impossible. This PR adds ability to skip the mastercontainer update. This also addresses https://github.com/nextcloud/all-in-one/discussions/5468
szaimen commented 1 week ago

Hi @apparle thanks a lot for so many useful contributions! 😊

I just invited you to the repo to make collaboration easier :)

szaimen commented 1 week ago

btw this PR has some conflicts...

apparle commented 1 week ago

btw this PR has some conflicts...

Merged main and resolved conflicts. Also resolved lint issues.