# Build-Kontext ist das Repo-Root (siehe docker-compose.yml: context: ..), # deshalb sind alle COPY-Pfade relativ zum Repo-Root angegeben. FROM almalinux:latest # dnf-plugins-core -> "dnf download" und "dnf repomanage" # createrepo_c -> createrepo_c und modifyrepo_c # appstream -> appstreamcli fuer die optionale Katalog-Validierung # python3 -> Interpreter fuer appstream-gen.py RUN dnf install -y \ dnf-plugins-core \ createrepo_c \ appstream \ python3 \ git \ jq \ openssh-clients \ wget \ && dnf clean all RUN wget -q https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 \ -O /usr/local/bin/yq \ && chmod +x /usr/local/bin/yq COPY docker/syncer/sync.sh /usr/local/bin/sync.sh COPY docker/syncer/sync_helpers.py /usr/local/bin/sync_helpers.py COPY docker/syncer/appstream-gen.py /usr/local/bin/appstream-gen.py COPY docker/syncer/entrypoint.sh /entrypoint.sh RUN chmod +x /usr/local/bin/sync.sh /entrypoint.sh # Bewusst kein VOLUME und kein EXPOSE: die Volumes definiert docker-compose.yml, # und ausgeliefert wird ueber den separaten nginx-Container. ENTRYPOINT ["/entrypoint.sh"]