Skip to content

Update all docker-compose files to use the same version and examples#2159

Merged
polarathene merged 7 commits intodocker-mailserver:masterfrom
williamdes:docs-fix
Sep 20, 2021
Merged

Update all docker-compose files to use the same version and examples#2159
polarathene merged 7 commits intodocker-mailserver:masterfrom
williamdes:docs-fix

Conversation

@williamdes
Copy link
Copy Markdown
Contributor

Description

Update all docker-compose files to use the same version and examples

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Improvement (non-breaking change that does improve existing functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation (README.md or the documentation under docs/)
  • If necessary I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

Comment thread docs/content/examples/tutorials/mailserver-behind-proxy.md
Comment thread docs/content/examples/tutorials/basic-installation.md
Comment thread docs/content/examples/tutorials/mailserver-behind-proxy.md Outdated
Copy link
Copy Markdown
Member

@wernerfred wernerfred left a comment

Choose a reason for hiding this comment

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

All in all thanks for syncing up all those examples.
But i really dislike inline comments (no benefit except for extra work when automating and scripting stuff)
So if we really need those comments at all then please put them in the line above. As most of the occurences are examples imho it is fine to keep mail and example.com . I think we can expect this level of knowledge transfer capacity of people that want to run their own mailserver.

@williamdes
Copy link
Copy Markdown
Contributor Author

So if we really need those comments at all then please put them in the line above. As most of the occurences are examples imho it is fine to keep mail and example.com . I think we can expect this level of knowledge transfer capacity of people that want to run their own mailserver.

Well, let me know what example if best so I can sync all of them
I would like to let some of the comments as users are not always aware values need to be changed even if it is obvious for us having the knowledge

@casperklein
Copy link
Copy Markdown
Member

casperklein commented Aug 29, 2021

I think this is fine (current README):

version: '3.8'

services:
  mailserver:
    image: docker.io/mailserver/docker-mailserver:latest
    hostname: mail
    domainname: example.com
    container_name: mailserver

@casperklein casperklein added area/documentation kind/improvement Improve an existing feature, configuration file or the documentation priority/low labels Aug 29, 2021
@casperklein casperklein modified the milestones: v10.1.2, v10.2.0 Aug 29, 2021
Copy link
Copy Markdown
Member

@georglauterbach georglauterbach left a comment

Choose a reason for hiding this comment

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

Two small changes I proposed. Other than that, LGTM 👍🏼

Comment thread README.md
Comment thread docs/content/config/security/ssl.md Outdated
casperklein
casperklein previously approved these changes Aug 29, 2021
@williamdes

This comment has been minimized.

casperklein
casperklein previously approved these changes Aug 29, 2021
Comment thread docs/content/examples/tutorials/basic-installation.md
- ONE_DIR=1
- DMS_DEBUG=0
- SPOOF_PROTECTION=0
- REPORT_RECIPIENT=1
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

By the way, this is deprecated, what should it be changed to ?
The docs are not clear about that

Copy link
Copy Markdown
Member

@casperklein casperklein Aug 29, 2021

Choose a reason for hiding this comment

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

What exactly is deprecated? ONE_DIR ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The space count seems wrong (4 instead of 2) for the ports, volumes and environment items.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I have already addressed indent issues in my commits. This file in particular gets it's own separate PR due to it's history and issues with it in general I've resolved, that will follow after my bulk changes PR.

@casperklein
Copy link
Copy Markdown
Member

I've aligned the volumes in docs/content/examples/tutorials/basic-installation.md with our default docker-compose.yml.

casperklein
casperklein previously approved these changes Aug 29, 2021
Comment thread docs/content/config/setup.sh.md Outdated
- ONE_DIR=1
- DMS_DEBUG=0
- SPOOF_PROTECTION=0
- REPORT_RECIPIENT=1
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Comment thread docs/content/config/setup.sh.md Outdated
Copy link
Copy Markdown
Member

@polarathene polarathene left a comment

Choose a reason for hiding this comment

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

This looks great @williamdes ! Thanks for addressing this 😀


An observation that I couldn't easily add a review comment on, was some inconsistencies in volumes. The main concern with that being older data volumes mapping vs newer bind mount volumes that we changed to by default this year.

Any of these mappings should take precedence over the previous data volumes usage I think?:

    volumes:
      - ./data/maildata:/var/mail
      - ./data/mailstate:/var/mail-state
      - ./data/maillogs:/var/log/mail
      - /etc/localtime:/etc/localtime:ro
      - ./config/:/tmp/docker-mailserver/

May be easiest to search based on the the internal mapped location, there is bind mount examples using ./data/ prefix followed by mail,state,logs` as a variant too. Perhaps we should make that consistent?

./data/mail* seems redundant vs ./data/* for the prefix, alternatively unify the config volume under the same hierarchy, ie: ./data/config/.

Since some compose examples have other services doing local mounts, might want to group those volumes to the context of the service (dms):

  • ./dms/config/ and ./dms/data/* (mail, state, logs).
  • or ./data/dms/config/ and ./data/dms/*.

Some examples only mount some of those volumes, I assume because the others aren't required for the example.

In the ssl.md doc, nginx related services are using absolute volume paths like /mnt/data/nginx, should probably match relative path as well (except for /var/run/docker.sock). The related dms container just has ./mail and ./mail-state and mixes in the absolute nginx path to share the cert.

On basic-installation.md, I believe @wernerfred might have created this doc from splitting a wiki article of his during the migration to new docs. It needs to be reviewed from the looks of it as it includes the volume mount: /var/ds/wsproxy/letsencrypt/:/etc/letsencrypt/, this is described further down on the page, but the referenced docker image isn't included in the compose example above, I don't think the absolute path is required? If updating this keep in mind the content on the document outside the config snippet referencing it.


As the example docker-compose.yml at the root of the git repo has comments to provide guidance on ports, should there also be one above hostname to clarify that the two properties define the FQDN mail.example.com? I think when I first encountered that (not something I was used to configuring before docker-mailserver), I was initially confused with what to expect.

containers:
- name: mailserver
image: ghcr.io/docker-mailserver/docker-mailserver:10.0.0
image: ghcr.io/docker-mailserver/docker-mailserver:latest
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
image: ghcr.io/docker-mailserver/docker-mailserver:latest
image: docker.io/docker-mailserver/docker-mailserver:latest

Copy link
Copy Markdown
Member

@casperklein casperklein Sep 20, 2021

Choose a reason for hiding this comment

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

Why not change this to docker.io? (this was marked as resolved)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I have done so on my additions. I marked this as resolved when I committed it.

Originally I was going to push here, but other changes piled up. If you would like I can commit the suggestion here and rebase my changes on top?

Comment thread docs/content/config/security/ssl.md
Comment thread docs/content/config/security/ssl.md
@williamdes
Copy link
Copy Markdown
Contributor Author

Hi,
I am too much overbooked now, could other maintainers apply the minor changes that are needed ? 🙏🏻

@polarathene
Copy link
Copy Markdown
Member

I am too much overbooked now

No immediate rush for this AFAIK.

Thanks for letting us know, if someone has the time to spare we'll leave a comment upon picking it up :)

@casperklein casperklein marked this pull request as draft September 8, 2021 10:52
@georglauterbach georglauterbach modified the milestones: v10.2.0, v10.3.0 Sep 13, 2021
@polarathene
Copy link
Copy Markdown
Member

I am now wrapping up this PR.

@polarathene polarathene self-assigned this Sep 18, 2021
@polarathene polarathene marked this pull request as ready for review September 20, 2021 00:46
polarathene
polarathene previously approved these changes Sep 20, 2021
@polarathene
Copy link
Copy Markdown
Member

My additions are too large to mix into this PR. I have some questions aimed at my changes and due to the noise it would add, I think it's better addressed via separate PR than to dirty the review state that reached approval here.

Unfortunately it seems there's some conflicts already, I'll address those and we can approve/merge?

@polarathene polarathene dismissed stale reviews from georglauterbach and themself via 1b1c07a September 20, 2021 01:05
@github-actions
Copy link
Copy Markdown
Contributor

Documentation preview for this PR is ready! 🎉

Built with commit: 1b1c07a

Copy link
Copy Markdown
Member

@polarathene polarathene left a comment

Choose a reason for hiding this comment

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

Resolved the conflicts. setup.sh.md and mailserver-behind-proxy.md updated to main branch.

@polarathene polarathene merged commit 4d3fade into docker-mailserver:master Sep 20, 2021
@williamdes williamdes deleted the docs-fix branch September 22, 2021 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/documentation kind/improvement Improve an existing feature, configuration file or the documentation priority/low

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants