Portainer API - Start/Stop von Stacks per API

abrocksi

Benutzer
Mitglied seit
27. Dez 2013
Beiträge
258
Punkte für Reaktionen
83
Punkte
28
Hi,

gestern konnte ich selbst von ChatGPT keine Hilfe erwarten. Die KI, die mich ansonsten hervorragend berät, "wusste" nicht bzw. behauptete, es gäbe keine Möglichkeit, Portainer-Stacks per API zu starten oder zu stoppen.

Mein Anwendungsfall ist acme.sh. Ich möchte, dass der Stack nur alle 60 Tage aufwacht, die Let's Encrypt-Zertifikate erneuert und auf die Synology deployt - danach bitte wieder ausschalten.

Über den Aufgabenplaner starte ich ein Script, in welchem ich zwei curl-Befehle ausführen lasse.

curl -X POST --header "X-API-Key: api-key" "http://ip_of_your_nas:9000/api/stacks/{ID}/start?endpointId={ID}"

sleep 3600

curl -X POST --header "X-API-Key: api-key" "http://ip_of_your_nas:9000/api/stacks/{ID}/stop?endpointId={ID}"

Die Stack-ID und die Endpoint-ID erfahrt ihr über:

curl -X GET --header "X-API-Key: api-key" "http://ip_of_your_nas:9000/api/stacks"

Den API-Key für Portainer bekommt ihr übrigens im User-Bereich.

cheers,
abrocksi
 
Ist das nun eine "Anleitung" oder eine Frage?
Und warum startest und stoppst du die Container nicht einfach über die Docker CLI?
 
Das sollte lediglich ein Hinweis sein, dass es via API geht und der Charme liegt darin, dass ich die Container in dem jeweiligen Stack nicht einzeln starten/stoppen muss.
 
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat