35 lines
1.1 KiB
YAML
35 lines
1.1 KiB
YAML
services:
|
|
syncer:
|
|
build:
|
|
# Kontext ist das Repo-Root (eine Ebene ueber dieser Datei), damit der
|
|
# Dockerfile-Pfad zur tatsaechlichen Verzeichnisstruktur passt.
|
|
dockerfile: docker/syncer/Dockerfile
|
|
image: rpm-mirror-syncer:latest
|
|
container_name: rpm-mirror-syncer
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
# Oeffentliche Repo-Daten, read-write. Der Syncer legt darin pkgs/ an.
|
|
- repo-data:/srv/repo
|
|
# Geklonte packages.yaml und Lockfile - ueberlebt ein Recreate.
|
|
- sync-cache:/var/cache/rpm-mirror-sync
|
|
# Lokale packages.yaml statt Git. Wenn gemountet, hat sie Vorrang und
|
|
# CONFIG_REPO_URL wird nicht mehr gebraucht.
|
|
#- ../packages.yaml:/config/packages.yaml:ro
|
|
|
|
nginx:
|
|
image: nginx:alpine
|
|
container_name: rpm-mirror-nginx
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- syncer
|
|
ports:
|
|
- "${NGINX_PORT:-8080}:80"
|
|
volumes:
|
|
- repo-data:/usr/share/nginx/html/repo:ro
|
|
- ./docker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
|
|
|
volumes:
|
|
repo-data:
|
|
sync-cache: |