You've already forked docker-mailserver
mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2025-06-16 03:40:36 +02:00
fix: update-check.sh
should query GH Releases (#3666)
* fix: Source `VERSION` from image ENV Now CI builds triggered from tagged releases will always have the correct version. No need for manually updating a separate file. * fix: Query latest GH release tag Compare to the remote GH release tag published, rather than contents of a `VERSION` file. `VERSION` file remains in source for now as prior releases still rely on it for an update notification. * chore: Switch from `yq` to `jaq` - Can more easily express a string subslice. - Lighter weight: 9.3M vs 1.7M. - Drawback, no YAML input/output support. If `yq` is preferred, the `v` prefix could be removed via BASH easily enough. * chore: Add entry to `CHANGELOG.md` * ci: `VERSION` has no relevance to `:edge` * docs: Update build guide + simplify `make build` --------- Co-authored-by: Georg Lauterbach <44545919+georglauterbach@users.noreply.github.com>
This commit is contained in:
@ -10,7 +10,7 @@ You'll need to retrieve the git submodules prior to building your own Docker ima
|
||||
|
||||
```sh
|
||||
git submodule update --init --recursive
|
||||
docker build -t <YOUR CUSTOM IMAGE NAME> .
|
||||
docker build --tag <YOUR CUSTOM IMAGE NAME> .
|
||||
```
|
||||
|
||||
Or, you can clone and retrieve the submodules in one command:
|
||||
@ -21,19 +21,26 @@ git clone --recurse-submodules https://github.com/docker-mailserver/docker-mails
|
||||
|
||||
### About Docker
|
||||
|
||||
#### Version
|
||||
#### Minimum supported version
|
||||
|
||||
We make use of build-features that require a recent version of Docker. Depending on your distribution, please have a look at [the official installation documentation for Docker](https://docs.docker.com/engine/install/) to get the latest version. Otherwise, you may encounter issues, for example with the `--link` flag for a [`#!dockerfile COPY`](https://docs.docker.com/engine/reference/builder/#copy) command.
|
||||
We make use of build features that require a recent version of Docker. v23.0 or newer is advised, but earlier releases may work.
|
||||
|
||||
#### Environment
|
||||
- To get the latest version for your distribution, please have a look at [the official installation documentation for Docker](https://docs.docker.com/engine/install/).
|
||||
- If you are using a version of Docker prior to v23.0, you will need to enable BuildKit via the ENV [`DOCKER_BUILDKIT=1`](https://docs.docker.com/build/buildkit/#getting-started).
|
||||
|
||||
If you are not using `make` to build the image, note that you will need to provide `DOCKER_BUILDKIT=1` to the `docker build` command for the build to succeed.
|
||||
#### Build Arguments (Optional)
|
||||
|
||||
#### Build Arguments
|
||||
The `Dockerfile` includes several build [`ARG`][docker-docs::builder-arg] instructions that can be configured:
|
||||
|
||||
The `Dockerfile` takes additional, so-called build arguments. These are
|
||||
- `DOVECOT_COMMUNITY_REPO`: Install Dovecot from the community repo instead of from Debian (default = 1)
|
||||
- `DMS_RELEASE`: The image version (default = edge)
|
||||
- `VCS_REVISION`: The git commit hash used for the build (default = unknown)
|
||||
|
||||
1. `VCS_VERSION`: the image version (default = edge)
|
||||
2. `VCS_REVISION`: the image revision (default = unknown)
|
||||
!!! note
|
||||
|
||||
When using `make` to build the image, these are filled with proper values. You can build the image without supplying these arguments just fine though.
|
||||
- `DMS_RELEASE` (_when not `edge`_) will be used to check for updates from our GH releases page at runtime due to the default feature [`ENABLE_UPDATE_CHECK=1`][docs::env-update-check].
|
||||
- Both `DMS_RELEASE` and `VCS_REVISION` are also used with `opencontainers` metadata [`LABEL`][docker-docs::builder-label] instructions.
|
||||
|
||||
[docs::env-update-check]: https://docker-mailserver.github.io/docker-mailserver/latest/config/environment/#enable_update_check
|
||||
[docker-docs::builder-arg]: https://docs.docker.com/engine/reference/builder/#using-arg-variables
|
||||
[docker-docs::builder-label]: https://docs.docker.com/engine/reference/builder/#label
|
||||
|
Reference in New Issue
Block a user