Initial commit
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
# 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:
|
||||
Reference in New Issue
Block a user