Guides

Compose files

ProxDock does not replace Docker. It writes Compose files and runs docker compose against them. What it adds is a transformation step: an upstream file goes in, and every change ProxDock would make is shown, with the reason, before anything is written to disk.

Status: the rules below are accurate and shipped. The full table of refusal codes is still being written.

What gets changed

Path Change Why
ports: Removed The application gets its own address on a zone; published host ports would collide across the cluster
restart: Forced to no Startup is gated by the orchestrator so a node reboot does not race the dataset mount
image: Pinned to a digest Resolved at deploy so a rollback is exact rather than approximate
Named volumes Rewritten into the application dataset A snapshot has to capture the data, which means it has to live where the snapshot is taken
Relative binds Rewritten into the application dataset Same reason; a relative path outside the dataset is invisible to a backup
networks: Split into a per-stack bridge plus the zone Only the service that needs an address gets one; the rest talk over the bridge

What gets refused

These are refusals, not warnings. The deploy does not proceed, and the reason is attached to the field that caused it.

  • privileged: true
  • network_mode: host
  • A bind mount of the Docker socket

Referring to your own identity

A Compose file can refer to the application's own identity, resolved during the transform, so a file that needs to know its own base URL can say so portably.

Variable Resolves to
${PROXDOCK_IP} The address allocated to the application on its zone
${PROXDOCK_APP} The application's name

More of these exist; the complete list is being written up.

Reading the preview

Each change is a path, a before, an after, and a reason. Warnings are separated from refusals: a warning is something you should know about, a refusal is something that will not deploy. If a file needs no changes at all, the preview says so rather than showing an empty list.