Dokploy / Dokploy/dokploy

Docker Swarm settings are not persisted from the UI

Open
#5,223 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug needs-triage🔍
Dominant language
TypeScript
Stars
37.4k
Forks
3k
Avg merge
1d 3h
Merged PRs (30d)
73

Description

To Reproduce
  1. Create or open an Application deployed as a Docker Swarm service on a remote server.

  2. Go to the application's Swarm Settings section.

  3. Change one or more deployment settings, for example:

    • Update order: start-first
    • Failure action: rollback
    • Update monitor: 120s
    • Stop grace period: 60s
  4. Save the application/settings.

  5. Navigate away and return to the application, or reload the page.

  6. Inspect the Swarm service on the server:

    docker service inspect <service-name> --format \
    'update={{.Spec.UpdateConfig.Order}} failure={{.Spec.UpdateConfig.FailureAction}} monitor={{.Spec.UpdateConfig.Monitor}}
    rollback={{.Spec.RollbackConfig.Order}} failure={{.Spec.RollbackConfig.FailureAction}} monitor={{.Spec.RollbackConfig.Monitor}}
    stopGrace={{.Spec.TaskTemplate.ContainerSpec.StopGracePeriod}}'
    
    
Current vs. Expected behavior
Expected behavior

Changes made in the Swarm Settings UI should be persisted by Dokploy, restored after a page reload, and applied to the Docker Swarm service specification.

For example, selecting start-first, rollback, a 120s monitor period, and a 60s stop grace period should be visible both in the UI after reloading and in docker service inspect.

Current behavior

The UI appears to accept the selected values immediately, but they are not reliably persisted. After navigating away or reloading the application, the Swarm Settings do not reflect the saved changes.

The corresponding Docker Swarm service specification also does not consistently contain the values configured through the UI. I had to apply the configuration manually with docker service update.

This is particularly problematic for production services because deployment order, rollback behavior, monitoring, and graceful shutdown settings are required to implement safe rolling deployments and zero-downtime updates.

Provide environment information
- Dokploy version: `v0.30.2`
- Deployment type: Docker Swarm
- Deployment target: Remote server
- Applications affected: Django API, WebSocket service, Celery worker, and Celery Beat
- The issue is reproducible across multiple applications/services in the same environment.
Which area(s) are affected? (Select all that apply)

Docker

Are you deploying the applications where Dokploy is installed or on a remote server?

Remote server

Additional context

No response

Will you send a PR to fix it?

No

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the Swarm Settings UI save and reload flow, then follow how those values are applied to the Docker Swarm service specification. Reproduce the issue with the listed settings and verify completion by reloading the UI and checking the resulting service with the provided docker service inspect command.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, typescript
Domain
backend, devops, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.