Skip to content

Webhooks

Labuh mendukung otomatisasi deployment (CI/CD) melalui Webhooks. Ini memungkinkan server CI Anda (seperti GitHub Actions) atau Docker Registry (seperti Docker Hub) untuk memberi tahu Labuh saat image baru telah dibangun.

Cara Kerja Webhook

Setiap Stack di Labuh memiliki sebuah Webhook Token unik. Saat request POST dikirim ke URL webhook tersebut, Labuh akan:

  1. Memverifikasi token.
  2. Menarik (pull) image terbaru untuk seluruh service dalam stack tersebut.
  3. Melakukan restart (Rolling Restart) pada container yang imagenya berubah.

Endpoint Webhook

URL webhook untuk stack Anda memiliki format:

text
POST http://<alamat-labuh>:3000/api/webhooks/deploy/<stack-id>/<token>?service=<service_name>
  • <stack-id>: ID unik stack Anda.
  • <token>: Token keamanan 32 karakter.
  • service (Opsional): Jika disertakan, Labuh hanya akan memerintahkan redeploy untuk service tertentu tersebut, bukan seluruh stack.

Integrasi GitHub Actions

Anda dapat menambahkan langkah berikut pada workflow GitHub Actions Anda untuk memicu deploy otomatis setiap kali build image selesai:

yaml
- name: Trigger Labuh Deploy
  run: |
    curl -X POST http://server.anda.com:3000/api/webhooks/deploy/${{ secrets.LABUH_STACK_ID }}/${{ secrets.LABUH_TOKEN }}

Keamanan

  • Token-based: Setiap stack memiliki token acak 32 karakter yang sulit ditebak.
  • Regenerasi: Anda dapat membuat ulang (regenerate) token sewaktu-waktu dari dashboard jika merasa token lama telah bocor.

Released under the MIT License.