feat: add sync pull/diff/push commands for infrastructure-as-code workflow
Open
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 152
- Forks
- 46
- PR merge metrics
- No merged PRs in 30d
Description
Problem
Dokploy currently has no infrastructure-as-code story. There's no way to:
- Snapshot server state to version-controlled files
- Track configuration drift between environments
- Apply changes from local files back to the server
Proposed Solution
Add three new commands under dokploy sync:
sync pull- Serialize full Dokploy state (projects, environments, apps, compose, databases) to local YAML filessync diff- Compare local YAML state against the live server with colored field-level outputsync push- Apply local changes back via tRPC update endpoints
Flags
--project/-p- Filter by project name or ID--redact/-r- Mask sensitive fields (passwords, env vars, tokens)--dry-run/-d- Preview changes without applying--yes/-y- Skip confirmation prompt
v1 Scope
- Pull/diff/push for projects, environments, applications, compose, all 5 DB types
- Sub-resources: domains, ports, mounts, redirects, security
- Update existing resources only (no create/delete on push)
Deferred to v2
- Create/delete resources via push
- Interactive project selection
.dokployignore,--format json- Syncing global settings (registries, certificates, servers)
I have a working implementation ready in PR #21.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the working implementation in PR #21 and compare it with the issue's v1 scope. Review the sync pull, sync diff, and sync push entry points, including their flags and tRPC update endpoints. Done means existing projects, environments, applications, compose, databases, and listed sub-resources support the specified pull, diff, and push behavior without create or delete operations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 20/100