| # debian.sh --arch 'amd64' out/ 'trixie' '@1777939200' |
| ARG DEBIAN_FRONTEND=noninteractive |
| ENV TERM=xterm-256color |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c apt update
apt install -y --no-install-recommends \
ca-certificates \
curl
apt clean
rm -rf /var/lib/apt/lists/*
# buildkit |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c curl -sL https://enterprise.proxmox.com/debian/proxmox-archive-keyring-trixie.gpg \
-o /usr/share/keyrings/proxmox-archive-keyring.gpg
# buildkit |
| COPY config/pdm-no-subs.sources /etc/apt/sources.list.d/pdm-no-subs.sources # buildkit |
| COPY config/99-pdm-unneeded-packages /etc/apt/preferences.d/99-pdm-unneeded-packages # buildkit |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c set -e
apt update
apt install -y --no-install-recommends \
systemd-sysv \
bash-completion \
dbus \
iproute2 \
ifupdown2 \
iputils-ping \
isc-dhcp-client \
sudo \
wget \
locales \
procps \
nano \
vim-tiny \
less \
busybox \
openssh-server
locale-gen en_US.UTF-8
ln -s /usr/bin/busybox /usr/bin/nslookup
ln -s /usr/bin/busybox /usr/bin/traceroute
ln -s /usr/bin/busybox /usr/bin/nc
# Install Proxmox Datacenter Manager
apt install -y \
proxmox-datacenter-manager \
proxmox-mail-forward \
proxmox-offline-mirror-helper
# Cleanup
apt autoremove -y
apt clean
rm -rf /var/lib/apt/lists/*
rm /etc/apt/sources.list.d/pdm-enterprise.sources
rm /etc/machine-id
rm /var/lib/dbus/machine-id
find /var/log -type f -delete
# buildkit |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c systemctl mask \
systemd-udevd.service \
systemd-modules-load.service \
systemd-networkd-wait-online.service \
proc-sys-fs-binfmt_misc.automount \
sys-kernel-config.mount \
sys-kernel-debug.mount \
sys-kernel-tracing.mount || true
# buildkit |
| COPY <<EOF /etc/systemd/journald.conf.d/container.conf # buildkit |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config # buildkit |
| COPY <<EOF /etc/systemd/system/ifupdown2-pre.service.d/override.conf # buildkit |
| COPY scripts/entrypoint.sh /entrypoint.sh # buildkit |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c chmod +x /entrypoint.sh # buildkit |
| ENTRYPOINT ["/entrypoint.sh"] |
| CMD ["/sbin/init" "--log-target=console" "--log-level=info"] |
| WORKDIR /root |
| EXPOSE [8443/tcp] |
| HEALTHCHECK &{["CMD-SHELL" "curl -kf https://localhost:8443/ || exit 1"] "30s" "10s" "1m0s" "0s" '\x03'} |
| STOPSIGNAL SIGRTMIN+3 |
| LABEL maintainer=Phil <phil@hackmi.ch> |
| LABEL org.opencontainers.image.os=linux |
| LABEL org.opencontainers.image.architecture=amd64 |
| LABEL org.opencontainers.image.description=Proxmox Datacenter Manager in a container |
| LABEL io.containers.type=system |
| LABEL io.container.runtime.init=true |