This GitHub Action triggers a deployment on Dokploy using the latest API format. It supports both application and compose deployments.
Note: This is an updated fork of the original
benbristow/dokploy-deploy-actionwhich is outdated and uses deprecated authentication methods. This version uses the current Dokploy API withx-api-keyauthentication with support for both application and compose deployments.
| Input | Description | Required | Example |
|---|---|---|---|
dokploy_url |
Dokploy dashboard URL (no trailing slash) | ✅ | https://dokploy.example.com |
auth_token |
Dokploy API key | ✅ | your-api-key-here |
application_id |
Dokploy application ID (for application deployments) | ❌* | app-123456 |
compose_id |
Dokploy compose ID (for compose deployments) | ❌* | compose-789 |
*Provide either application_id OR compose_id (not both).
-
Find your Resource ID:
- For applications: Find your Application ID
- For compose: Find your Compose ID in the Dokploy dashboard
-
Set up GitHub Secrets:
- Go to your repository → Settings → Secrets and variables → Actions
- Add the required secrets:
DOKPLOY_URL: Your Dokploy instance URLDOKPLOY_API_KEY: Your API key from step 1DOKPLOY_APPLICATION_ID: Your application ID (for application deployments) ORDOKPLOY_COMPOSE_ID: Your compose ID (for compose deployments)
Provide your application_id to deploy an application:
name: Deploy Application to Dokploy
on:
push:
branches: [ main ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Deploy to Dokploy
uses: ahmedabdou14/dokploy-deploy-gha@v1.1.0
with:
dokploy_url: ${{ secrets.DOKPLOY_URL }}
auth_token: ${{ secrets.DOKPLOY_API_KEY }}
application_id: ${{ secrets.DOKPLOY_APPLICATION_ID }}Provide your compose_id to deploy a compose stack:
name: Deploy Compose to Dokploy
on:
push:
branches: [ main ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Deploy to Dokploy
uses: ahmedabdou14/dokploy-deploy-gha@v1.1.0
with:
dokploy_url: ${{ secrets.DOKPLOY_URL }}
auth_token: ${{ secrets.DOKPLOY_API_KEY }}
compose_id: ${{ secrets.DOKPLOY_COMPOSE_ID }}