Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable local testability #5568

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

apparle
Copy link
Collaborator

@apparle apparle commented Nov 10, 2024

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 .
  1. 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 allow to restart containers without updating mastercontainer, if a mastercontainer update is available #5468

@szaimen
Copy link
Collaborator

szaimen commented Nov 11, 2024

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

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

@szaimen
Copy link
Collaborator

szaimen commented Nov 11, 2024

btw this PR has some conflicts...

@szaimen szaimen added 2. developing Work in progress enhancement New feature or request labels Nov 11, 2024
@szaimen szaimen added this to the next milestone Nov 11, 2024
@apparle
Copy link
Collaborator Author

apparle commented Nov 11, 2024

btw this PR has some conflicts...

Merged main and resolved conflicts. Also resolved lint issues.

@szaimen szaimen added 3. to review Waiting for reviews and removed 2. developing Work in progress labels Nov 11, 2024
@szaimen szaimen modified the milestones: v10.0.0, next Nov 12, 2024
Copy link
Collaborator

@docjyJ docjyJ left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be better to use an environment variable like SKIP_DOMAIN_VALIDATION=true

@apparle
Copy link
Collaborator Author

apparle commented Nov 26, 2024

I think it would be better to use an environment variable like SKIP_DOMAIN_VALIDATION=true

But then it doesn't solve #5468 easily. It would be better to be able to skip the update temporarily rather than take everything down and restart with different env variables. (And then take it down again to remove the env variables when the reason-to-skip is resolved.)

@szaimen
Copy link
Collaborator

szaimen commented Dec 17, 2024

Hi, I would also prefer a solution that overwrites the behaviour via env variable for example. Adding this to the aio interface means that we also need to support and maintain it... Also sorry for taking so long to answer.

@szaimen szaimen added 2. developing Work in progress and removed 3. to review Waiting for reviews labels Dec 17, 2024
@szaimen szaimen removed this from the next milestone Dec 17, 2024
@apparle
Copy link
Collaborator Author

apparle commented Dec 17, 2024

Hi, I would also prefer a solution that overwrites the behaviour via env variable for example. Adding this to the aio interface means that we also need to support and maintain it... Also sorry for taking so long to answer.

Are you suggesting removing the UI elements altogether and only using an environment variable?
Or are you suggesting to add environment variable in addition to the UI changes?

@docjyJ
Copy link
Collaborator

docjyJ commented Dec 18, 2024

Are you suggesting removing the UI elements altogether and only using an environment variable? Or are you suggesting to add environment variable in addition to the UI changes?

I think it's about not using the UI. It should be minimalistic.

According #5468: I think a simple way is to add a button "restart without updating".

@docjyJ
Copy link
Collaborator

docjyJ commented Dec 18, 2024

image

This is what it could look like. What do you think?

@@ -1,4 +1,14 @@
# syntax=docker/dockerfile:latest

# Create a minimal stage to just clone the repo
FROM alpine/git:2.45.2 AS aio_clone
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the official alpine image should be used to keep the packages updated

@szaimen
Copy link
Collaborator

szaimen commented Dec 18, 2024

image

This is what it could look like. What do you think?

I am not sure about adding such a button
to the UI honestly. I fear people will just always use that and refrain from updating and then run into update issues later on because they never updated 🙈

@docjyJ
Copy link
Collaborator

docjyJ commented Dec 19, 2024

I am not sure about adding such a button
to the UI honestly. I fear people will just always use that and refrain from updating and then run into update issues later on because they never updated 🙈

The problem is that the containers created by the AIO are on the lastest tag. (apache, nextcloud postgress...)

But the ideal would be that the AIO uses the same version. It is impossible to downgrade to V8 or V9 because the containers will be created in the latest version (V10).

So if the containers are not on the same version, there will be bugs...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2. developing Work in progress enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants