Ver Fonte

feat: Fedora usmrad container variant

Mirrors the Alpine image: hosted-installer bootstrap, dnf SPM wiring
(usm-spm-dnf, lib64 layout) with the python3-dnf bootstrap the base
image lacks, enrolled with web-stack pre-added; tagged usmrad-fedora.
clanker há 1 mês atrás
pai
commit
22b5349aa9
1 ficheiros alterados com 35 adições e 0 exclusões
  1. 35 0
      containers/usmrad-fedora/Containerfile

+ 35 - 0
containers/usmrad-fedora/Containerfile

@@ -0,0 +1,35 @@
+# usmrad — Rapid Application Deployment supervisor image (Fedora).
+#
+# Build context: the repo root (nothing local is required — USM and usmrad
+# both arrive via the hosted installer, which bundles usmrad):
+#
+#   podman build -f containers/usmrad-fedora/Containerfile -t usmrad-fedora .
+#
+# git is required by usmrad at runtime and curl for https fetches; the
+# installer carries bash itself. The installer auto-detects dnf on PATH,
+# wires the usm-spm-dnf helper plus the lib64 libdir into the generated
+# usm.config, and shims both usm and usmrad into /usr/bin.
+#
+# The system is enrolled and the web-stack repository added at build time so
+# its packages (statum, astralis, inversion, the invercargill libraries, …)
+# resolve immediately; USMRAD_USM_REPOS adds further repositories at runtime.
+#
+# Run pattern:
+#
+#   podman run --rm \
+#     -e USMRAD_REPO=https://git.example/my-app.git \
+#     -e USMRAD_BRANCH=main \
+#     -e USMRAD_POLL=1 \
+#     -v ./data:/app/pwd \
+#     usmrad-fedora my-app --port 8080
+
+FROM fedora:latest
+# python3-dnf is the SPM helper's container bootstrap (README: System
+# package manager integration) — the base image ships no dnf python module
+RUN dnf install -y git curl ca-certificates python3-dnf && dnf clean all
+RUN curl -fsSL https://packages.astrologue.nz/install-usm.sh -o /tmp/install-usm.sh \
+    && bash /tmp/install-usm.sh -y \
+    && rm /tmp/install-usm.sh
+RUN usm enroll -y \
+    && usm add-repo -y https://packages.astrologue.nz/repo/web-stack/repo.usmr
+ENTRYPOINT ["usmrad"]