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: