# --- 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 hinzufgen
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

# TUN-Gert vorbereiten
RUN mkdir -p /dev/net
VOLUME ["/var/lib/tailscale"]

# Portainer Agent Port
EXPOSE 9001

ENTRYPOINT ["/sbin/tini", "--"]
CMD ["/entrypoint.sh"]
