From 0063a6b1b3fbb4e028f48097d4648104e623ff06 Mon Sep 17 00:00:00 2001 From: Patrick Gniza Date: Mon, 3 Nov 2025 19:51:46 +0100 Subject: [PATCH] Update README.md --- README.md | 33 ++++++++++++++++----------------- drone.yml | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 17 deletions(-) create mode 100644 drone.yml diff --git a/README.md b/README.md index 55b7509..1940533 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,27 @@ -# .. Portainer Agent + Tailscale (Headscale) +# 🐳 Portainer Agent + Tailscale (Headscale) -Ein schlankes Alpine-basiertes Docker-Image, das den **Portainer Agent** ber **Tailscale oder Headscale** sicher erreichbar macht . - ohne offene Ports im Internet. +Ein schlankes Alpine-basiertes Docker-Image, das den **Portainer Agent** über **Tailscale oder Headscale** sicher erreichbar macht – --- -## .. Features +## 🚀 Features -- .. Kombinierter Container mit **Portainer Agent** & **Tailscale Client** -- .. Sichere Kommunikation ber Tailscale / Headscale (kein Port 9001 nach auen ntig) -- .. Basierend auf **Alpine Linux** (minimaler Footprint, ca. 70 MB) -- .. Automatische Wiederverbindung dank persistentem `/var/lib/tailscale` -- .. Konfiguration ber `.env`-Datei -- .. Multi-Stage-Dockerfile (nutzt offizielle `portainer/agent` + `tailscale/tailscale` Images) +- 🧩 Kombinierter Container mit **Portainer Agent** & **Tailscale Client** +- 🔒 Sichere Kommunikation über Tailscale / Headscale (kein Port 9001 nach außen nötig) +- 🪶 Basierend auf **Alpine Linux** (minimaler Footprint, ca. 70 MB) +- 🔁 Automatische Wiederverbindung dank persistentem `/var/lib/tailscale` +- ⚙ ️ Konfiguration über `.env`-Datei +- 🧱 Multi-Stage-Dockerfile (nutzt offizielle `portainer/agent` + `tailscale/tailscale` Images) --- -## ... Projektstruktur +## 🗂 ️ Projektstruktur ```bash . -... Dockerfile # Multi-Stage-Build (Portainer-Agent + Tailscale) -... entrypoint.sh # Startskript fr Tailscale + Agent -... docker-compose.yml # Beispiel-Compose fr schnellen Start -... .env.sample # Konfigurationsvorlage -... .gitignore # ignoriert deine lokale .env -... README.md +├── Dockerfile # Multi-Stage-Build (Portainer-Agent + Tailscale) +├── entrypoint.sh # Startskript für Tailscale + Agent +├── docker-compose.yml # Beispiel-Compose für schnellen Start +├── .env.sample # Konfigurationsvorlage +├── .gitignore # ignoriert deine lokale .env +└── README.md \ No newline at end of file diff --git a/drone.yml b/drone.yml new file mode 100644 index 0000000..591ad58 --- /dev/null +++ b/drone.yml @@ -0,0 +1,51 @@ +kind: pipeline +type: docker +name: build-and-push-multiarch + +steps: + - name: build-amd64 + image: docker:26 + privileged: true + environment: + HARBOR_USER: + from_secret: harbor_user + HARBOR_PASS: + from_secret: harbor_pass + commands: + - docker login harbor.example.com -u "$HARBOR_USER" -p "$HARBOR_PASS" + - docker buildx create --use + - docker buildx build \ + --platform linux/amd64 \ + -t harbor.example.com/myproj/portainer-agent-tailscale:amd64 \ + --push . + + - name: build-arm64 + image: docker:26 + privileged: true + environment: + HARBOR_USER: + from_secret: harbor_user + HARBOR_PASS: + from_secret: harbor_pass + commands: + - docker login harbor.example.com -u "$HARBOR_USER" -p "$HARBOR_PASS" + - docker buildx create --use + - docker buildx build \ + --platform linux/arm64 \ + -t harbor.example.com/myproj/portainer-agent-tailscale:arm64 \ + --push . + + - name: create-manifest + image: docker:26 + environment: + HARBOR_USER: + from_secret: harbor_user + HARBOR_PASS: + from_secret: harbor_pass + commands: + - docker login harbor.example.com -u "$HARBOR_USER" -p "$HARBOR_PASS" + - docker manifest create harbor.example.com/myproj/portainer-agent-tailscale:latest \ + --amend harbor.example.com/myproj/portainer-agent-tailscale:amd64 \ + --amend harbor.example.com/myproj/portainer-agent-tailscale:arm64 + - docker manifest push harbor.example.com/myproj/portainer-agent-tailscale:latest +