apx-dokploy
Dokploy for Action Platform: the dokploy deploy target, its overlay, readiness checks, and tools that read what runs on the instance. apx- is the prefix every Action Platform extension carries.
action-platform plugin install dokploy
export DOKPLOY_URL=… DOKPLOY_API_KEY=… # or Plugins → Dokploy → Configure on the platform
action-platform cloud set dokploy # Dockerfile, compose file, image workflow
action-platform deploy --dry-run # readiness: settings, image, key, application
action-platform deploy # point Dokploy at <image>:<version>, follow to done
action-platform diagnose
How it works
The build never runs on the platform or on Dokploy. The overlay's workflow publishes ghcr.io/<owner>/<repo>:<version> on every published release; the target tells Dokploy which tag to run and waits for the deployment to end. Every deployment therefore references a release, and rolling back is pointing at the previous tag.
| Overlay | Dockerfile (two stages on the images-base build and runtime images, ap-build package, port 8000), .dockerignore, docker-compose.yml for a machine, .github/workflows/docker-publish.yml (GitHub CI only), DEPLOY.md. One overlay for every language of the official web/* templates |
| Mapping | Dokploy project = [project] name; environment = the scope (dev, prod); application = <name>-<scope>. create and the first deploy provision what is missing, the domain included when [deploy.domains] names one |
| Readiness | dokploy.settings (url, key, image known), image.published (a manifest HEAD at the registry, following the bearer challenge), dokploy.credentials (the key opens project.all), dokploy.application (exists, not mid-deployment). The platform runs it after every release and refuses a blocked deploy |
| Deploy | application.saveDockerProvider with <image>:<version>, application.deploy titled v<version>, then application.one until done or error (15 minutes at most). Every step reaches the platform's run log |
| Rollback | the previous done deployment titled v<version> in the history, or the version asked for, deployed again |
| Diagnose | status, image, version and url of the scope's application |
| Delete | application.delete of the scope's application |
| Tools | dokploy_projects, dokploy_applications, dokploy_deployments |
| Commands | action-platform dokploy projects|applications|deployments |
Configuration
platform.toml:
[deploy]
target = "dokploy"
# url = "https://dokploy.example.com" # overrides the plugin option
# image = "ghcr.io/acme/shop" # default: ghcr.io/<[source_host] repo>
# project = "shop" # default: [project] name
# application = "shop" # default: [project] name
# port = 8000
[deploy.domains]
prod = "shop.example.com"
dev = "shop-dev.example.com"
Plugin options (Plugins → Dokploy → Configure on the platform; on a machine, the environment or ~/.action-platform/plugins/dokploy.json):
| Option | Environment | |
|---|---|---|
url |
DOKPLOY_URL |
where the dashboard answers. Order on a machine: [deploy], AP_DOKPLOY_URL, DOKPLOY_URL, the options file |
api_key |
DOKPLOY_API_KEY |
Settings → API Keys in Dokploy. Never in platform.toml |
registry_username, registry_password |
AP_DOKPLOY_REGISTRY_* |
only for a private image; a GitHub token with read:packages for ghcr.io |
A deploy job carries the options as AP_DOKPLOY_<KEY>.
Requirements
- Dokploy 0.20 or newer (projects with environments;
application.saveDockerProvider). - The image published before the deploy: on GitHub, the overlay's workflow does it on every release. Another CI publishes
<image>:<version>itself; theimage.publishedcheck waits for it. - The container listens on
$PORT(8000 in the overlay's Dockerfile).
Development
pip install -e ".[dev]"
ruff check . && ruff format --check . && pytest
Tests never reach the network: tests/fake.py is a Dokploy in memory.
Release files for apx-dokploy 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| apx_dokploy-0.1.0.tar.gz | 23.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| apx_dokploy-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 46.0 kB
Release files / apx_dokploy-0.1.0.tar.gz
| Download URL | apx_dokploy-0.1.0.tar.gz |
|---|---|
| Size | 23.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2477be68d77ca10ad59ecbfbc76963f1818e5034912536b678cf6089d518e060
|
|
BLAKE2b-256 checksum How to use checksums |
de3029df80a4476438e9ae48698597352322fc0234fe61f8522666d56cfa4a11
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.
Transparency logRelease files / apx_dokploy-0.1.0-py3-none-any.whl
| Download URL | apx_dokploy-0.1.0-py3-none-any.whl |
|---|---|
| Size | 22.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
101f1eea4a5a4baddf27c6aa881a3024c51fe759b31863286cf2aa7a55b2eb58
|
|
BLAKE2b-256 checksum How to use checksums |
1a70ae4e804c41675b17265b305a12c0028c3e463ecb4e3472e1b2e19e39a2bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.
Transparency log