Skip to content

Raw stack compose drops tmpfs and additional long-syntax mounts on remote server #4794

Description

@yusoofsh

Environment

  • Dokploy: v0.29.11
  • Compose source: raw
  • Compose type: stack
  • Target: remote Docker Swarm server

Reproduction

Save a raw stack compose containing either supported tmpfs form:

services:
  test:
    image: alpine:latest
    command: ["sleep", "infinity"]
    volumes:
      - type: tmpfs
        target: /scratch

or:

services:
  test:
    image: alpine:latest
    command: ["sleep", "infinity"]
    tmpfs:
      - /scratch

Then update the compose, inspect Show Converted Compose, and deploy it.

Observed

  • The raw source retains the tmpfs declaration.
  • The converted compose does not contain /scratch.
  • The deployed Swarm service has no tmpfs mount.
  • Additional long-syntax named-volume mounts added in the same way were also absent from the converted/runtime specification.
  • Rewriting named-volume mounts using short syntax (name:/path) was preserved and deployed correctly.

Expected

Both tmpfs forms and long-syntax mounts should survive raw-source conversion and reach docker stack deploy unchanged (apart from Dokploy's intentional service/network/domain transformations).

Notes

The current canary source types already include tmpfs, and addSuffixToVolumesInServices appears to return non-type: volume mount objects unchanged. This may therefore be in the raw remote compose materialization/update path or stale converted-file handling rather than the volume suffix helper itself.

A minimal regression test covering raw + stack + remote-server conversion would help identify the exact layer before patching.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions