patronus (sha256:9601206bf2f0c8fe3864ea032041a63c2e216753adc01bd9525e8525f72a7b81)

Published 2026-10-18 16:40:34 -07:00 by CanuteTheGreat in CanuteTheGreat/patronus

Installation

docker pull git.canutethegreat.com/canutethegreat/patronus@sha256:9601206bf2f0c8fe3864ea032041a63c2e216753adc01bd9525e8525f72a7b81
sha256:9601206bf2f0c8fe3864ea032041a63c2e216753adc01bd9525e8525f72a7b81

Image layers

WORKDIR /
COPY /gentoo/ / # buildkit
CMD ["/bin/bash"]
ARG PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c echo 'FEATURES="${FEATURES} -sandbox -usersandbox -ipc-sandbox -network-sandbox -pid-sandbox"' >> /etc/portage/make.conf # buildkit
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c emerge-webrsync # buildkit
COPY gentoo /var/db/repos/patronus-overlay # buildkit
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c mkdir -p /etc/portage/repos.conf && printf '[patronus]\nlocation = /var/db/repos/patronus-overlay\npriority = 50\n' > /etc/portage/repos.conf/patronus-overlay.conf # buildkit
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c echo "net-firewall/patronus ${PATRONUS_USE} -openrc" > /etc/portage/package.use/patronus-docker-build # buildkit
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c echo "net-firewall/patronus ~amd64" > /etc/portage/package.accept_keywords/patronus && echo "=net-firewall/patronus-9999 **" >> /etc/portage/package.accept_keywords/patronus # buildkit
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c emerge --verbose --autounmask-write --onlydeps net-firewall/patronus && etc-update --automode -5 || true # buildkit
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c emerge --verbose --onlydeps net-firewall/patronus # buildkit
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c echo "dev-lang/rust-bin ~amd64" >> /etc/portage/package.accept_keywords/patronus && emerge --verbose dev-lang/rust-bin dev-util/cargo-c # buildkit
ARG PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c echo 'FEATURES="${FEATURES} -sandbox -usersandbox -ipc-sandbox -network-sandbox -pid-sandbox"' >> /etc/portage/make.conf # buildkit
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c emerge-webrsync # buildkit
COPY gentoo /var/db/repos/patronus-overlay # buildkit
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c chmod -R a+rX /var/db/repos/patronus-overlay # buildkit
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c mkdir -p /etc/portage/repos.conf && printf '[patronus]\nlocation = /var/db/repos/patronus-overlay\npriority = 50\n' > /etc/portage/repos.conf/patronus-overlay.conf # buildkit
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c echo "net-firewall/patronus ${PATRONUS_USE} -openrc" > /etc/portage/package.use/patronus-docker-build # buildkit
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c echo "net-firewall/patronus ~amd64" > /etc/portage/package.accept_keywords/patronus && echo "=net-firewall/patronus-9999 **" >> /etc/portage/package.accept_keywords/patronus # buildkit
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c emerge --verbose --autounmask-write --onlydeps net-firewall/patronus && etc-update --automode -5 || true # buildkit
COPY . /usr/src/patronus # buildkit
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c cd /usr/src/patronus && cargo vendor /var/cache/distfiles/patronus-vendor 2>&1 | tail -5 || true # buildkit
ENV EGIT_OVERRIDE_REPO_PATRONUS=/usr/src/patronus
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c emerge --verbose net-firewall/patronus # buildkit
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c useradd -r -u 1000 -m -s /bin/bash patronus 2>/dev/null || true && chown -R patronus:patronus /etc/patronus /var/lib/patronus /var/log/patronus 2>/dev/null || true && mkdir -p /etc/patronus/tls && chown patronus:patronus /etc/patronus/tls && mkdir -p /data /app/static && chown patronus:patronus /data /app /app/static # buildkit
RUN |1 PATRONUS_USE=web cli api dashboard nftables dhcp dns unbound vpn wireguard openvpn ipsec multiwan monitoring prometheus captive-portal vlan qos backup systemd /bin/sh -c emerge --verbose sys-libs/libcap && setcap cap_net_admin,cap_net_raw+eip "$(command -v nft)" && setcap cap_net_admin+eip "$(command -v wg)" && if ct=$(command -v conntrack); then setcap cap_net_admin+eip "$ct" && getcap "$ct"; fi && getcap "$(command -v nft)" "$(command -v wg)" # buildkit
USER patronus
WORKDIR /home/patronus
EXPOSE [51820/udp 8443/tcp]
HEALTHCHECK {Test:[CMD-SHELL curl -kf https://localhost:8443/ || exit 1] Interval:30s Timeout:3s StartPeriod:5s StartInterval:0s Retries:3}
CMD ["patronus-web"]
COPY --chown=patronus:patronus static /app/static # buildkit
LABEL org.opencontainers.image.revision=a1ad046aacd15ea819cfb28ed11bdd19d76c621b

Labels

Key Value
org.opencontainers.image.revision a1ad046aacd15ea819cfb28ed11bdd19d76c621b
Details
Container
2026-10-18 16:40:34 -07:00
0
OCI / Docker
linux/amd64
3.5 GiB
Versions (125) View all