Files
dnf-repo-test/docker/.env-example
T

81 lines
3.9 KiB
Plaintext

# Copy this file to .env. docker-compose.yml loads it via env_file for both
# containers, and docker compose itself also uses it to resolve ${VAR}
# references inside docker-compose.yml (e.g. NGINX_PORT, LOCAL_SOURCES_YAML).
# This file is the single place to configure everything - nothing is
# hardcoded in docker-compose.yml itself.
# ============================================================================
# Where the sources.yaml comes from
# ============================================================================
# Option A (default): local file, bind-mounted into the syncer container.
# Point LOCAL_SOURCES_YAML at your real file (path is relative to
# docker-compose.yml, defaults to the bundled sources.example.yaml) and
# leave SOURCES_GIT_REPO empty. SOURCES_YAML_FILE must then be the absolute
# in-container path the bind mount uses (leave as-is unless you also change
# the mount target in docker-compose.yml).
#LOCAL_SOURCES_YAML=./sources.example.yaml
CONFIG_REPO_URL=https://gitea.leanderserver.de/leander19961/dnf-repo-test
CONFIG_REPO_BRANCH=main
PACKAGES_FILE=packages.yaml
# Option B: pull the list from git instead. Set SOURCES_GIT_REPO, and
# SOURCES_YAML_FILE to the path of the YAML file *inside* that git repo
# (relative), e.g.:
# SOURCES_GIT_REPO=https://git.example.com/infra/rpm-sources.git
# SOURCES_GIT_BRANCH=main
# SOURCES_YAML_FILE=sources.yaml
# (LOCAL_SOURCES_YAML / the bind mount is then simply unused.)
# ============================================================================
# Paths inside the syncer container
# ============================================================================
# These map to the volumes defined in docker-compose.yml - only change them
# if you also change the corresponding volume mounts.
WORK_DIR=/var/cache/rpm-mirror-sync
REPO_BASE_DIR=/srv/repo
CLIENT_REPO_DIR=/srv/repo/client-repos
# ============================================================================
# Client-facing URL
# ============================================================================
# Public URL under which the nginx container serves the repo. Used to
# generate the .repo files under /repo/client-repos/. Point this at
# wherever the host running nginx is reachable from your AlmaLinux clients
# (should match NGINX_PORT below).
CLIENT_BASE_URL=http://repo.leanderserver.de/repo
# ============================================================================
# repoids of AlmaLinux's own repos inside the syncer container
# ============================================================================
# Check with: docker compose exec syncer dnf repolist
ALMA_REPO_IDS=baseos appstream extras crb
# ============================================================================
# Sync schedule
# ============================================================================
# How often (seconds) the syncer container re-syncs. 3600 = hourly.
SYNC_INTERVAL_SECONDS=3600
# Set to "true" to sync once and exit instead of looping (e.g. if you'd
# rather trigger this container from an external scheduler).
RUN_ONCE=false
# ============================================================================
# Mirror signing key
# ============================================================================
# Identity used for the ONE GPG key the mirror signs every mirrored package
# with (regardless of how many upstream sources there are). Generated once
# on first run - together with a revocation certificate - and reused
# forever. Both live under GPG_HOME on the sync-cache volume, so don't run
# "docker compose down -v" unless you're fine with clients having to
# re-trust a brand new key afterwards.
GPG_HOME=/var/cache/rpm-mirror-sync/gnupg
GPG_KEY_NAME=RPM Mirror
GPG_KEY_EMAIL=rpm-mirror@example.local
# ============================================================================
# Ports
# ============================================================================
# Host port nginx publishes the repo on.
NGINX_PORT=8081