77 lines
2.9 KiB
YAML
77 lines
2.9 KiB
YAML
# Gemeinsamer Stack fuer beide Spiegel. Beide Sync-Container schreiben nur in
|
|
# ihr eigenes Volume; EIN nginx liefert beides unter einer Domain aus:
|
|
# https://<MIRROR_DOMAIN>/flatpak/ -> Flathub-Filter-Spiegel (OSTree)
|
|
# https://<MIRROR_DOMAIN>/dnf/ -> RPM-Spiegel (createrepo_c)
|
|
#
|
|
# Beide Container bekommen denselben, EXTERN erzeugten Signing-Key ueber das
|
|
# gemeinsame Verzeichnis ./gpg (read-only) herein und beide holen ihre
|
|
# Freigabeliste aus demselben Git-Repo (SOURCES_GIT_URL): flatpaks.yaml fuer
|
|
# den Flatpak-Spiegel, packages.yaml fuer den DNF-Spiegel.
|
|
services:
|
|
flatpak-mirror:
|
|
build: ./flatpak-mirror
|
|
container_name: flatpak-mirror
|
|
restart: unless-stopped
|
|
environment:
|
|
MIRROR_DOMAIN: ${MIRROR_DOMAIN}
|
|
MIRROR_REPO_ID: ${MIRROR_REPO_ID:-company-mirror}
|
|
GPG_KEY_ID: ${GPG_KEY_ID}
|
|
SYNC_INTERVAL_SECONDS: ${FLATPAK_SYNC_INTERVAL_SECONDS:-900}
|
|
SOURCES_GIT_URL: ${SOURCES_GIT_URL}
|
|
SOURCES_GIT_REF: ${SOURCES_GIT_REF:-main}
|
|
SOURCES_GIT_USERNAME: ${SOURCES_GIT_USERNAME:-}
|
|
SOURCES_GIT_TOKEN: ${SOURCES_GIT_TOKEN:-}
|
|
SOURCES_GIT_SSH_KEY: ${SOURCES_GIT_SSH_KEY:-}
|
|
FLATHUB_REMOTE_URL: ${FLATHUB_REMOTE_URL:-https://dl.flathub.org/repo/}
|
|
FLATHUB_GPG_URL: ${FLATHUB_GPG_URL:-https://dl.flathub.org/repo/flathub.gpg}
|
|
volumes:
|
|
- ./gpg:/run/secrets/gpg:ro
|
|
- ./git-ssh:/run/secrets/git-ssh:ro
|
|
- flatpak-repo-data:/srv/flatpak
|
|
- flatpak-cache:/var/cache/flatpak-mirror
|
|
|
|
dnf-mirror:
|
|
build: ./dnf-mirror
|
|
container_name: dnf-mirror
|
|
restart: unless-stopped
|
|
environment:
|
|
MIRROR_DOMAIN: ${MIRROR_DOMAIN}
|
|
MIRROR_REPO_ID: ${MIRROR_REPO_ID:-company-mirror}
|
|
GPG_KEY_ID: ${GPG_KEY_ID}
|
|
SYNC_INTERVAL_SECONDS: ${DNF_SYNC_INTERVAL_SECONDS:-21600}
|
|
SOURCES_GIT_URL: ${SOURCES_GIT_URL}
|
|
SOURCES_GIT_REF: ${SOURCES_GIT_REF:-main}
|
|
SOURCES_GIT_USERNAME: ${SOURCES_GIT_USERNAME:-}
|
|
SOURCES_GIT_TOKEN: ${SOURCES_GIT_TOKEN:-}
|
|
SOURCES_GIT_SSH_KEY: ${SOURCES_GIT_SSH_KEY:-}
|
|
ALMA_RELEASEVER: ${ALMA_RELEASEVER:-10}
|
|
ALMA_BASEARCH: ${ALMA_BASEARCH:-x86_64}
|
|
ALMA_BASELINE_REPOIDS: ${ALMA_BASELINE_REPOIDS:-baseos,appstream,extras,crb,epel}
|
|
ALMA_BASELINE_REPOSDIR: ${ALMA_BASELINE_REPOSDIR:-}
|
|
volumes:
|
|
- ./gpg:/run/secrets/gpg:ro
|
|
- ./git-ssh:/run/secrets/git-ssh:ro
|
|
- ./dnf-mirror/alma-baseline.repo.d:/etc/mirror/alma-baseline.repo.d:ro
|
|
- dnf-repo-data:/srv/dnf
|
|
- dnf-cache:/var/cache/mirror
|
|
|
|
nginx:
|
|
image: nginx:alpine
|
|
container_name: mirror-nginx
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- flatpak-mirror
|
|
- dnf-mirror
|
|
ports:
|
|
- "${HTTP_PORT:-80}:80"
|
|
volumes:
|
|
- flatpak-repo-data:/usr/share/nginx/html/flatpak:ro
|
|
- dnf-repo-data:/usr/share/nginx/html/dnf:ro
|
|
- ./nginx/conf.d:/etc/nginx/conf.d:ro
|
|
|
|
volumes:
|
|
flatpak-repo-data:
|
|
flatpak-cache:
|
|
dnf-repo-data:
|
|
dnf-cache:
|