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 files
sync diff - Compare local YAML state against the live server with colored field-level output
sync 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.