Skip to content

All-In-One Docker Image#542

Merged
MichaelTimbert merged 6 commits into
zonemaster:developfrom
MichaelTimbert:docker
Jun 1, 2026
Merged

All-In-One Docker Image#542
MichaelTimbert merged 6 commits into
zonemaster:developfrom
MichaelTimbert:docker

Conversation

@MichaelTimbert

@MichaelTimbert MichaelTimbert commented Apr 9, 2026

Copy link
Copy Markdown
Contributor

Purpose

This pull request provides a simplified, all-in-one Docker image for users who want to run zonemaster-gui from a single command line.

This is not a production-ready image; it uses SQLite as its database and offers no configuration options.

Also see documentation in zonemaster/zonemaster#1487

Context

Related to zonemaster/zonemaster#1283

Changes

To be consistent with other zonemaster repositories, I created a Makefile to generate the docker image.

How to test this PR

You must be able to build a Docker image with make docker-build (you need zonemaster/backend docker image for this).

docker run --rm -d --name zm -p 8080:80 zonemaster/gui:local gui

Go to http://localhost:8080, and Perform some tests and check if everything is working (history, FAQ, language, etc.).

Finally, you can stop the image with:
docker stop zm

@matsduf matsduf added this to the v2026.1 milestone Apr 16, 2026
@matsduf matsduf requested a review from tolvmannen April 16, 2026 09:09
@matsduf matsduf added V-Minor Versioning: The change gives an update of minor in version. RC-Features Release category: Features. T-Feature Type: New feature in software or test case description labels Apr 16, 2026
@MichaelTimbert MichaelTimbert added V-Minor Versioning: The change gives an update of minor in version. and removed T-Feature Type: New feature in software or test case description V-Minor Versioning: The change gives an update of minor in version. labels Apr 16, 2026
Comment thread docker/Dockerfile Outdated
Comment on lines +18 to +21
RUN install -vd /var/www/html/zonemaster-web-gui
RUN install -vd /var/log/zonemaster
RUN unzip -d /var/www/html/zonemaster-web-gui zonemaster_web_gui_${version}.zip
RUN rm -f zonemaster_web_gui_${version}.zip

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Each individual RUN command will create an intermediate layer, so it’s better to combine these four RUN commands into one, with && stringing together each individual operation, like so:

Suggested change
RUN install -vd /var/www/html/zonemaster-web-gui
RUN install -vd /var/log/zonemaster
RUN unzip -d /var/www/html/zonemaster-web-gui zonemaster_web_gui_${version}.zip
RUN rm -f zonemaster_web_gui_${version}.zip
RUN install -vd /var/www/html/zonemaster-web-gui /var/log/zonemaster && \
unzip -d /var/www/html/zonemaster-web-gui zonemaster_web_gui_${version}.zip && \
rm -f zonemaster_web_gui_${version}.zip

@matsduf

matsduf commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

Looks good to me, but is Docker/Dockerfile sensitive to trailing space after backslash?

@matsduf

matsduf commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

Please rebase on updated develop.

S6 is now installed in zonemaster/backend image
Some cleanup and mode Docker related file to docker folder
@matsduf

matsduf commented May 20, 2026

Copy link
Copy Markdown
Contributor

@MichaelTimbert Can you create a PR that adds documentation in both "docs/public/using" and in https://github.com/zonemaster/zonemaster/blob/develop/docs/internal/maintenance/ReleaseProcess-create-docker-image.md?

@matsduf

matsduf commented May 20, 2026

Copy link
Copy Markdown
Contributor

I want to test to create an image on one server and running it on another.

Comment thread Makefile Outdated
in the next release we will introduce the 'gui' image
that containt only the frontend.
Renaming now to avoid conflict and misunderstood later.

@matsduf matsduf left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I have succeeded to make it run on Linux, och there I created an image file that I took to a Macbook, but there I could start but not connect. I cannot even see that it is listening to the port.

I guess this is good enough for now. Has it been tested on Windows?

@matsduf

matsduf commented May 29, 2026

Copy link
Copy Markdown
Contributor

I can confirm that zonemaster-all-in-one runs on Docker (Docker Desktop) on (updated) Windows 10. There is still no support for IPv6 when using Docker Desktop. As far as I understand a limitation sits in WSL (Windows sub-system for Linux).

@MichaelTimbert MichaelTimbert merged commit fde21a9 into zonemaster:develop Jun 1, 2026
1 check passed
@tgreenx

tgreenx commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

I can confirm that zonemaster-all-in-one runs on Docker (Docker Desktop) on (updated) Windows 10. There is still no support for IPv6 when using Docker Desktop. As far as I understand a limitation sits in WSL (Windows sub-system for Linux).

Apparently there is, you need to change a configuration file though: see official documentation https://docs.docker.com/engine/daemon/ipv6/#use-ipv6-for-the-default-bridge-network and also e.g. https://github.com/nextcloud/all-in-one/blob/main/docker-ipv6-support.md#docker-desktop-windows-and-macos

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

RC-Features Release category: Features. V-Minor Versioning: The change gives an update of minor in version.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants