-
Notifications
You must be signed in to change notification settings - Fork 95
Update Docker setup #409
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
base: master
Are you sure you want to change the base?
Update Docker setup #409
Conversation
I love the GitHub Actions workflows! I'm not sure trunk=stable? @mguessan, can you comment on that? I would suggest adding a manual option to at least the stable workflow. It would be nice to have a workflow for publishing a specific version and Does the Dockerfile need to be in the root of the repository for the GitHub Actions workflows to work? Otherwise, I'd would prefer to keep it in And as someone who routinely uses Makefiles to build my Docker images, I think there's still some value in keeping a Makefile around in |
Yes this is possible! Will push commit in a bit
I does not need to. Generally speaking most projects keep the
Honestly, I have never used the Makefile that was there (and I have no idea how to use it). However, the Dockerfile builds davmail based on the files in the current directory. Building:
Running (with
Running (with native
I'm not sure how to properly setup the Makefile for this, let me know how you imagine it |
Yes, that's how @mguessan does new releases (by adding a tag with the new version number). The last release was 6.3.0.
Well, it's up to @mguessan, of course, but the focus of this repository traditionally hasn't been to build a Docker image, so it doesn't necessarily make sense to put those files in the top level like in some other repos. I do recommend mentioning the existence of the
I suggest looking at https://github.com/mguessan/davmail/blob/master/src/contribs/docker/Makefile, but that employs a somewhat complicated image building mechanism. The Makefiles I use for building Docker images tend to be much simpler. I usually do something simple like this: IMAGE_NAME = mguessan/davmail
IMAGE_VERSION ?= ""
ifeq ($(IMAGE_VERSION),)
IMAGE_LABEL ?= $(IMAGE_NAME)
else
IMAGE_LABEL ?= $(IMAGE_NAME):${IMAGE_VERSION}
endif
image:
@echo "Building Docker image ${IMAGE_LABEL}..."
docker build -t $(IMAGE_LABEL) .
tag-latest-without-build:
@echo "Tagging Docker image ${IMAGE_LABEL} with latest..."
docker tag `docker image ls --format '{{.ID}}' $(IMAGE_LABEL)` $(IMAGE_NAME):latest
latest: image tag-latest-without-build And you're probably thinking that that's so simple that it's unnecessary, which it might very well be, but I find it more convenient to type I wonder if the current Docker files should be retained in a |
A lot of interesting stuff in there, I feel like the existing contribs goal is to run DavMail in desktop mode, this new PR is more oriented towards server mode (see letsencrypt / traefik instructions). We may want to mention the |
Hello 👋
I have updated the docker setup such that allows for automatically building and publishing to the github container registry. This way, people can easily download the docker image without building it themselves (similar to just downloading the latest release from sourceforge).
I have also added a compose file for ease of use, so people can you do
docker compose up -d
and boom, they have davmail running.In addition, I have also explained how to setup SSL (both using letsencrypt and traefik) and how to use an interactive method even when running davmail on a headless server.
Let me know if you have any thoughts!