42 lines
888 B
Docker
42 lines
888 B
Docker
# --- Stage 1: Portainer Agent ---
|
|
FROM portainer/agent:latest AS agent
|
|
|
|
# --- Stage 2: Tailscale ---
|
|
FROM tailscale/tailscale:latest AS tailscale
|
|
|
|
# --- Stage 3: Finales Image (Alpine) ---
|
|
FROM alpine:3.20
|
|
|
|
# Basis-Pakete
|
|
RUN apk add --no-cache \
|
|
iptables \
|
|
iproute2 \
|
|
ca-certificates \
|
|
curl \
|
|
bash \
|
|
tini
|
|
|
|
# Binaries von Tailscale kopieren
|
|
COPY --from=tailscale /usr/local/bin/tailscaled /usr/local/bin/tailscaled
|
|
COPY --from=tailscale /usr/local/bin/tailscale /usr/local/bin/tailscale
|
|
|
|
# Komplette Portainer-Agent-App übernehmen
|
|
COPY --from=agent /app /app
|
|
|
|
# Arbeitsverzeichnis
|
|
WORKDIR /app
|
|
|
|
# Startskript hinzufügen
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
# TUN-Gerät vorbereiten
|
|
RUN mkdir -p /dev/net
|
|
VOLUME ["/var/lib/tailscale"]
|
|
|
|
# Portainer Agent Port
|
|
EXPOSE 9001
|
|
|
|
ENTRYPOINT ["/sbin/tini", "--"]
|
|
CMD ["/entrypoint.sh"]
|