32 lines
1.2 KiB
Docker
32 lines
1.2 KiB
Docker
# 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"] |