Skip to content

Release v0.9.6#18

Merged
weby-homelab merged 1 commit into
masterfrom
release/v0.9.6
May 21, 2026
Merged

Release v0.9.6#18
weby-homelab merged 1 commit into
masterfrom
release/v0.9.6

Conversation

@weby-homelab
Copy link
Copy Markdown
Owner

Release v0.9.6 preparation with updated README, SECURITY, workflows, and screenshots.

@weby-homelab weby-homelab merged commit 36fe949 into master May 21, 2026
3 checks passed
@weby-homelab weby-homelab deleted the release/v0.9.6 branch May 21, 2026 16:39
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the project documentation, including the addition of an interface preview, a legal disclaimer, and enhanced security audit descriptions. Key feedback points out that the referenced images and GitHub Action workflow files are missing from the repository. Additionally, concerns were raised regarding security risks in the dms-cert-dumper implementation and potential permission issues with the SnappyMail data persistence configuration.

Comment thread README.md
Comment on lines +75 to +80
<img src="docker-mailserver-gui-1.png" alt="Docker Mailserver GUI - Webmail Login Screen" width="48%">
<img src="docker-mailserver-gui-2.png" alt="Docker Mailserver GUI - Mailbox Inbox Interface" width="48%">
</p>
<p align="center">
<img src="docker-mailserver-gui-3.png" alt="Docker Mailserver GUI - Email Composition View" width="48%">
<img src="docker-mailserver-gui-4.png" alt="Docker Mailserver GUI - Settings and Account Configuration" width="48%">
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The README.md references four new image files (docker-mailserver-gui-1.png through docker-mailserver-gui-4.png) for the interface preview, but these files are not included in the pull request. This will result in broken images in the documentation. Please ensure the screenshot files are added to the repository.

Comment thread README.md
- **Docker 29+ Compatibility:** Explicitly configured Traefik with `DOCKER_API_VERSION=1.41` to support modern container engines.
- **No Hardcoded Passwords:** The Supervisor UNIX socket credentials have been removed to prevent local privilege escalation.
- **Automatic Sync:** SSL certificates are reloaded automatically by the dumper without stopping the mail server.
- **Automatic SSL Sync:** SSL certificates are monitored and reloaded automatically by the `dms-cert-dumper` sidecar using a highly robust `alpine:3.18`-based image equipped with `docker-cli`.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The description of the dms-cert-dumper sidecar as 'highly robust' and 'equipped with docker-cli' is inaccurate. The current implementation in docker-compose.yml (line 87) performs runtime installation of docker-cli and downloads a binary from GitHub without integrity checks, which is fragile and poses a security risk. Additionally, the sidecar requires mounting /var/run/docker.sock, which is a significant security concern that contradicts the 'Zero Trust' architecture mentioned in the project. It is recommended to use a custom Dockerfile to pre-install dependencies and to investigate more secure ways of reloading the mail server.

Comment thread README.md
- **No Hardcoded Passwords:** The Supervisor UNIX socket credentials have been removed to prevent local privilege escalation.
- **Automatic Sync:** SSL certificates are reloaded automatically by the dumper without stopping the mail server.
- **Automatic SSL Sync:** SSL certificates are monitored and reloaded automatically by the `dms-cert-dumper` sidecar using a highly robust `alpine:3.18`-based image equipped with `docker-cli`.
- **Persistent Webmail Config:** SnappyMail data is explicitly persisted to `./snappymail-data` on the host, preventing the loss of settings/accounts across restarts.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The persistence of SnappyMail data to ./snappymail-data may encounter permission issues. The setup-gui.sh script creates this directory (likely as root), but the webmail service in docker-compose.yml is configured to run with PUID=1000. This will result in 'Permission denied' errors when the container attempts to write to the volume. It is recommended to update the setup scripts to chown the created directories to the appropriate user.

Comment thread README.md
- **Automatic Sync:** SSL certificates are reloaded automatically by the dumper without stopping the mail server.
- **Automatic SSL Sync:** SSL certificates are monitored and reloaded automatically by the `dms-cert-dumper` sidecar using a highly robust `alpine:3.18`-based image equipped with `docker-cli`.
- **Persistent Webmail Config:** SnappyMail data is explicitly persisted to `./snappymail-data` on the host, preventing the loss of settings/accounts across restarts.
- **Dual Registry Publishing:** Automatic package deployment publishes container images to both GitHub Container Registry (GHCR) and Docker Hub (`webyhomelab/docker-mailserver-gui`).
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

This line mentions 'Dual Registry Publishing' and the PR description states that workflows were updated, but no GitHub Action workflow files are included in this PR. Without these files, the automated publishing and the security scanning mentioned in SECURITY.md (lines 36-37) cannot be verified or executed. Please include the missing workflow configurations.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant