feat: add sync pull/diff/push commands for infrastructure-as-code workflow
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- typescript
- Domain
- cli, infrastructure
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.
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.
- Dominant language
- TypeScript
- Stars
- 152
- Forks
- 46
- PR merge metrics
- No merged PRs in 30d
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.
More from Dokploy/cli
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 1/5 Under an hour Newbie friendliness 86/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 4/5 3-5 days Newbie friendliness 62/100
Similar issues
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
-
Mend: dependency security vulnerability untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 70/100