Dateien nach "/" hochladen
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# Domain unter der beide Repos erreichbar sind (Flatpak-Spiegel + dieser DNF-Spiegel).
|
||||
MIRROR_DOMAIN=software.example.org
|
||||
|
||||
# ID/Name des EINEN gemeinsamen Repos, in das ALLE Fremdrepos aus
|
||||
# packages.yaml zusammengefuehrt werden. Clients binden nur dieses eine Repo
|
||||
# ein (baseurl=https://<domain>/dnf/), unabhaengig davon, aus wie vielen
|
||||
# Fremdrepos die Pakete stammen. Ergibt die Datei /dnf/<MIRROR_REPO_ID>.repo.
|
||||
MIRROR_REPO_ID=company-mirror
|
||||
|
||||
# Identität des GPG-Keys, mit dem ALLE gespiegelten Pakete umsigniert werden.
|
||||
GPG_NAME=AlmaLinux Client Mirror
|
||||
GPG_EMAIL=it-software@example.org
|
||||
|
||||
# Optionale Passphrase fuer den Signing-Key. Leer lassen (empfohlen) fuer einen
|
||||
# vollautomatischen, unbeaufsichtigten Sync-Container. Wenn gesetzt, wird sie
|
||||
# dem Container als Datei (Secret) uebergeben, siehe README.
|
||||
GPG_PASSPHRASE=
|
||||
|
||||
# Wie oft neu synchronisiert wird (Sekunden). 21600 = alle 6 Stunden.
|
||||
SYNC_INTERVAL_SECONDS=21600
|
||||
|
||||
# Git-Repo mit der packages.yaml (Fremdrepos + zu spiegelnde Paketnamen),
|
||||
# siehe sources-repo-template/README.md. Wird vor JEDEM Sync-Lauf neu geholt
|
||||
# (git fetch), Aenderungen brauchen also keinen Container-Neubau.
|
||||
# HTTPS mit Token: https://<token>@git.example.org/it/dnf-mirror-sources.git
|
||||
# SSH (Deploy-Key ins ./git-ssh/-Verzeichnis legen):
|
||||
SOURCES_GIT_URL=git@git.example.org:it/dnf-mirror-sources.git
|
||||
SOURCES_GIT_REF=main
|
||||
# Pfad IM CONTAINER zum SSH-Deploy-Key, nur bei SSH-URLs noetig. Key-Datei
|
||||
# dafuer in ./git-ssh/ (neben dieser .env) ablegen, z.B. ./git-ssh/id_ed25519.
|
||||
SOURCES_GIT_SSH_KEY=/run/secrets/git-ssh/id_ed25519
|
||||
|
||||
# AlmaLinux Release/Arch, gegen die auf "bereits vorhanden" geprueft wird.
|
||||
# Muss zur Alma-Version des mirror-Images passen (siehe mirror/Dockerfile).
|
||||
ALMA_RELEASEVER=10
|
||||
ALMA_BASEARCH=x86_64
|
||||
|
||||
# Repo-IDs (siehe mirror/config/alma-baseline.repo.d/) die als "von Alma aufloesbar"
|
||||
# gelten. Pakete mit diesen Namen werden NICHT gespiegelt.
|
||||
ALMA_BASELINE_REPOIDS=baseos,appstream,extras,crb,epel
|
||||
@@ -0,0 +1,44 @@
|
||||
services:
|
||||
dnf-mirror:
|
||||
build: ./mirror
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MIRROR_DOMAIN: ${MIRROR_DOMAIN}
|
||||
MIRROR_REPO_ID: ${MIRROR_REPO_ID:-company-mirror}
|
||||
GPG_NAME: ${GPG_NAME}
|
||||
GPG_EMAIL: ${GPG_EMAIL}
|
||||
GPG_PASSPHRASE: ${GPG_PASSPHRASE}
|
||||
SYNC_INTERVAL_SECONDS: ${SYNC_INTERVAL_SECONDS:-21600}
|
||||
SOURCES_GIT_URL: ${SOURCES_GIT_URL}
|
||||
SOURCES_GIT_REF: ${SOURCES_GIT_REF:-main}
|
||||
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}
|
||||
volumes:
|
||||
- ./mirror/config/alma-baseline.repo.d:/etc/mirror/alma-baseline.repo.d:ro
|
||||
- ./git-ssh:/run/secrets/git-ssh:ro
|
||||
- ./gpg:/var/lib/mirror-gpg
|
||||
- dnf-repo-data:/srv/dnf
|
||||
- mirror-cache:/var/cache/mirror
|
||||
# kein Port-Publish: der Container schreibt nur in das Volume, das nginx
|
||||
# ausliefert. Braucht ausgehenden Internetzugriff zu den Upstream-Repos
|
||||
# UND zum Git-Repo mit der Paketliste (SOURCES_GIT_URL), das er vor jedem
|
||||
# Sync-Lauf neu abruft.
|
||||
|
||||
nginx:
|
||||
image: nginx:alpine
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- dnf-mirror
|
||||
ports:
|
||||
- "80:80"
|
||||
# - "443:443" # TLS: siehe README (eigene Zertifikate mounten oder
|
||||
# vorgeschalteten Reverse Proxy/Load Balancer nutzen)
|
||||
volumes:
|
||||
- dnf-repo-data:/usr/share/nginx/html/dnf:ro
|
||||
- ./nginx/conf.d:/etc/nginx/conf.d:ro
|
||||
|
||||
volumes:
|
||||
dnf-repo-data:
|
||||
mirror-cache:
|
||||
Reference in New Issue
Block a user