Skip to content

Releases: localrivet/dosync

v0.3.28

26 Jan 07:13

Choose a tag to compare

Bug Fixes

  • Fix compose file changes being lost during updates - DOSync now properly preserves manual changes made to compose.yaml while running. Previously, edits made while DOSync was running (like adding volume mounts) could be lost when DOSync updated an image tag. (#4)

Technical Details

  • File handles are now explicitly closed before writing to prevent stale handle issues (especially with editors like vim that do rename-replace)
  • Added Sync() calls after writing to ensure changes are persisted to disk before subsequent operations

v0.3.27

11 Jan 20:25

Choose a tag to compare

Release v0.3.27

v0.3.26

11 Jan 18:58

Choose a tag to compare

Release v0.3.26

v0.3.25

04 Jan 02:27

Choose a tag to compare

Release v0.3.25

v0.3.24

04 Jan 00:29

Choose a tag to compare

Release v0.3.24

v0.3.23

02 Jan 23:15

Choose a tag to compare

Compose File Tag Sync

DOSync now ensures compose files always reflect the actual running container versions, preventing stale image issues on server restart.

Fixed

  • Compose file tag sync: DOSync now updates compose file even when container is already running correct version
  • Previously compose file could have stale tags, causing issues on server restart
  • Now detects tag mismatch and syncs compose file without restarting container

Technical Details

  • Added updateComposeFileImageTag() function for tag-only updates
  • Uses LastIndex for colon handling to support registry ports (e.g., registry:5000/repo:tag)
  • Logs sync actions with "SYNC:" prefix for visibility

🤖 Generated with Claude Code

v0.3.22

02 Jan 23:08

Choose a tag to compare

Critical Fix: Respect compose file name: field

DOSync now correctly uses the name: field from compose.yaml when determining the Docker Compose project name. This prevents network mismatch issues where containers end up on different networks and can't communicate.

Fixed

  • CRITICAL: Respect compose file name: field for project name
  • Previously DOSync would use directory name, causing containers to be created on wrong network
  • Now correctly uses name: field from compose.yaml (Docker Compose v2.x standard)
  • Prevents "dns lookup error" issues when services can't find each other

Technical Details

  • Updated extractProjectNameFromCompose() to check name: field first
  • Priority order: name: field → container_name patterns → directory name
  • Only passes --project-name flag when needed, allowing Docker Compose native resolution

🤖 Generated with Claude Code

v0.3.21

02 Jan 22:32

Choose a tag to compare

Container Reconciliation

DOSync now provides Kubernetes-style reconciliation - if a container crashes or stops between deployments, DOSync will restart it on the next sync interval.

Added

  • Container Reconciliation: DOSync checks if all services defined in compose file are running and restarts any stopped/missing containers
  • Automatic recovery: Ensures desired state matches actual state every sync interval

Technical Details

  • Added reconcileStoppedContainers() function to syncer
  • Runs at end of each sync interval after image update checks
  • Respects skip: true configuration - skipped services won't be reconciled
  • Uses --env-file for proper environment variable loading during restarts

🤖 Generated with Claude Code

v0.3.20

02 Jan 22:10

Choose a tag to compare

Release v0.3.20

v0.3.19

02 Jan 09:52

Choose a tag to compare

Release v0.3.19