Gitea act_runner with docuum - Docker-in-Docker (dind) variant
4.9K
A gitea-runner Image based on linuxserver.io's baseimage-alpine.
Included components:
docker as Docker-in-Docker (DinD)DOCKER_MODgitea-runner (formerly known as act_runner)docuumPersistent files are stored in /config & /data reducing the number of bind-mounts. Services are run as user abc.
The image cleans up unused images using the following strategy:
none tag) - every 4hdocker image prune --filter "dangling=true"docuum for LRU based Docker Image cleanupA secondary image is generated to run a dedicated gitea-runner cache server.
docker.io/userid0x0/gitea-runner-docuum-dind:<tag>v<x>.<y>.<z>-<version> with x/y/z aligned with the gitea-runner release / version signals changes in this repomaster build from the master branch in this repo aka development headnightly build from the master branch in this repo usign gitea-runner nightly buildsdocker.io/userid0x0/gitea-runner-cache:<tag>v<x>.<y>.<z>-<version> with x/y/z aligned with the gitea-runner release / version signals changes in this repomaster build from the master branch in this repo aka development headnightly build from the master branch in this repo usign gitea-runner nightly buildsdocker.io/userid0x0/act_runner-docuum-dinddocker-compose.ymlservices:
runner:
image: docker.io/userid0x0/gitea-runner-docuum-dind:v5.1.1-1
restart: unless-stopped
privileged: true
environment:
PUID: <uid to use>
PGID: <gid to use>
GITEA_INSTANCE_URL: "${INSTANCE_URL}"
GITEA_RUNNER_REGISTRATION_TOKEN: "${REGISTRATION_TOKEN}"
GITEA_RUNNER_NAME: "${RUNNER_NAME}"
# DOCUUM_ARGS: "--threshold 80GB"
env_file:
- .env
volumes:
- ./config:/config
- docker:/data
volumes:
docker:
.envINSTANCE_URL=https://<...>
REGISTRATION_TOKEN=<...>
RUNNER_NAME=<...>
docker-compose.ymlservices:
runner:
image: docker.io/userid0x0/gitea-runner-cache:v5.1.1-1
restart: unless-stopped
environment:
PUID: <uid to use>
PGID: <gid to use>
volumes:
- ./config:/config
- cache:/data
# networks:
# - <tbd.network>
# labels:
# - "traefik.enable=true"
# - "traefik.http.routers.rGiteaActionsCacheHttp.rule=Host(`<tbd.url>`)"
# - "traefik.http.routers.rGiteaActionsCacheHttp.entrypoints=<tbd.http entrypoint>"
# - "traefik.http.routers.rGiteaActionsCache.rule=Host(`<tbd.url>`)"
# - "traefik.http.routers.rGiteaActionsCache.entrypoints=<tbd.https entrypoint>"
# - "traefik.http.routers.rGiteaActionsCache.tls=true"
# - "traefik.http.routers.rGiteaActionsCache.tls.certresolver=<tbd.resolver>"
volumes:
cache:
# networks:
# <tbd.network>:
# external: true
PUID/PGID - UID to use for services e.g. act_runner/docuum/config911DOCUUM_ARGS - command line arguments passed to docuum e.g. Image storage threshold, persistent images, ...--threshold 80GB/custom-cont-init.dBased on https://docs.linuxserver.io/general/container-customization/#custom-scripts the image can be adapted to local requirements. Usage e.g.
/etc/docker/daemon.jsonContent type
Image
Digest
sha256:77c6b3015…
Size
138.9 MB
Last updated
about 14 hours ago
docker pull userid0x0/gitea-runner-docuum-dind:master