This commit is contained in:
33
README.md
33
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 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)
|
||||
- 🧩 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 für Tailscale + Agent
|
||||
... docker-compose.yml # Beispiel-Compose für 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
|
||||
51
drone.yml
Normal file
51
drone.yml
Normal file
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user