Skip to main content

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; the image.published check 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.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apx-dokploy 0.2.0
File Size Uploaded
apx_dokploy-0.2.0.tar.gz 23.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for apx-dokploy 0.2.0
File Interpreter ABI Platform
apx_dokploy-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 46.3 kB

Release files / apx_dokploy-0.2.0.tar.gz

Download URL apx_dokploy-0.2.0.tar.gz
Size 23.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3087501328b63d352422bdb59719f4d6cc73d76951f8866d57a11c4cd18957c9
BLAKE2b-256 checksum
How to use checksums
38beeb5fc9e0d6ede8e352decf0699a5498b544f9c4e771a1fcbce6409626710
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 27, 2026.

Transparency log

Release files / apx_dokploy-0.2.0-py3-none-any.whl

Download URL apx_dokploy-0.2.0-py3-none-any.whl
Size 22.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
16d55c3164a765671b4de9a2eb73f2001115dd33744d3bb52316b398cc2d7866
BLAKE2b-256 checksum
How to use checksums
25bd75de95f5d8a194530592ab186a5a3db3a880a665366972f636757b66a797
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 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page