summaryrefslogtreecommitdiff
path: root/docker/DockerImageTags.md
diff options
context:
space:
mode:
Diffstat (limited to 'docker/DockerImageTags.md')
-rw-r--r--docker/DockerImageTags.md57
1 files changed, 57 insertions, 0 deletions
diff --git a/docker/DockerImageTags.md b/docker/DockerImageTags.md
new file mode 100644
index 000000000..cf8b8d9e7
--- /dev/null
+++ b/docker/DockerImageTags.md
@@ -0,0 +1,57 @@
+# Docker Image Tags Documentation
+
+This document describes the tags generated by the `docker/metadata-action` in the GitHub Actions workflow for building Docker images.
+
+## Base Name
+
+The base name for the Docker images is derived from the repository:
+
+- `ghcr.io/yacy/yacy_search_server` (GitHub Container Registry)
+- `yacy/yacy_search_server` (Docker Hub)
+
+## Version Structure
+
+The tags are generated based on the following rules:
+
+### Default Tags
+
+- `latest`: Automatically assigned to the latest tagged release.
+
+### Semantic Versioning Tags
+
+For releases following semantic versioning (e.g., `1.2.3` or the `Release_1.2` format), the following tags are created:
+
+- `1.2.3`: Full version tag.
+- `1.2`: Major and minor version tag.
+- `1`: Major version tag.
+
+### Branch Tags
+
+- `<branch-name>`: For latest commit of branches (bleeding edge channel, e.g. `master`).
+
+### Pull Request Tags
+
+- `pr-<number>`: For latest commit of pull requests.
+
+## Image Variants
+
+The Docker images come in many flavors, each designed for a specific use case.
+
+### `yacy/yacy_search_server:<version>`
+
+This is the default image. If you are unsure about what your needs are, you probably want to use this one.
+
+### `yacy/yacy_search_server:<version>-alpine`
+
+This image is based on the popular Alpine Linux project. Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.
+
+## Examples
+
+- `ghcr.io/yacy/yacy_search_server:latest`
+- `ghcr.io/yacy/yacy_search_server:1.2.3`
+- `ghcr.io/yacy/yacy_search_server:1.2`
+- `ghcr.io/yacy/yacy_search_server:1`
+- `ghcr.io/yacy/yacy_search_server:master`
+- `ghcr.io/yacy/yacy_search_server:pr-42`
+- `ghcr.io/yacy/yacy_search_server:latest-alpine`
+- `ghcr.io/yacy/yacy_search_server:1.2.3-alpine`