# Gemeinsamer Stack fuer beide Spiegel. Beide Sync-Container schreiben nur in # ihr eigenes Volume; EIN nginx liefert beides unter einer Domain aus: # https:///flatpak/ -> Flathub-Filter-Spiegel (OSTree) # https:///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: