Patches — a powerful way to customize your deployments without maintaining complex forks.
Patches allow you to modify any file in your repository just before deployment. These changes are applied on the fly, meaning you can pull updates from the upstream repository while keeping your custom configurations intact.
- Persistent Customization: Your changes survive repository updates.
- Safety: If a patch cannot be applied (e.g., the file changed significantly), the deployment fails.
- Ease of Use: Edit files directly in the browser with a familiar interface.
Suppose you need to adjust configuration values, such as removing default resource limits which might be too restrictive for your environment.
- Create a Patch: Navigate to the "Patches" tab and select the file you want to modify.
2. Make Changes: Simply select the lines you want to remove or modify directly in the editor.
- Save: The system automatically generates a patch file. Just like that, your custom configuration is ready and will be applied on every future deployment.
This repository includes a custom CI/CD pipeline to automatically build and publish a patched version of Dokploy.
To switch your existing self-hosted Dokploy instance to use this patched version, you need to update the Docker Swarm service to use the new image.
-
Find the latest release in the GitHub Releases of this repository (e.g.,
v0.26.7). -
Update the service on your host machine:
docker service update --image ghcr.io/ivanpadavan/dokploy-patches:<tag> dokploy_dokploy
Replace
<tag>with the actual release tag.
When a new version of Dokploy is released upstream:
- Check GitHub Releases: Verify that the automated workflow has built and released the corresponding version in this repository (e.g., matching
v0.26.8). - Update Dokploy to the official version:
- This ensures standard migrations are applied first. Be aware of potential update caveats: Dokploy Issue #3532
- Switch to the patched version: Follow the steps in section #1 to replace the official image with your custom patched image.
- Simplified Build: The build process in this repository uses a direct
docker buildxcommand via a patched script, rather than the complex matrix strategy found in the officialdokploy.yml.- Note: This means some platform-specific optimizations or advanced build arguments present in the official pipeline might be skipped. However, for standard deployments (amd64/arm64), this is fully functional.
- Future Migration: Because this is a custom build, moving back to the official image or handling major version upgrades might require manual intervention (e.g., checking for database schema compatibility).
- Rest assured: The project structure is not overly complex, so any migration issues are typically straightforward to resolve.

