Compose file rules
What a docker-compose.yml may not use on Jambotron: privileged mode, host namespaces, paths outside the project and more.
Every project runs on a shared server, so some Docker features are blocked. A deployment stops with a list of violations if the compose file uses:
- in services:
privileged,cap_add,devices,device_cgroup_rules,gpus,security_opt,sysctls,runtime,cgroup_parent,volumes_from,external_links,oom_kill_disable,provider,use_api_socket, GPU reservations (deploy.resources.reservations.devices), privilegedpost_start/pre_stophooks; - host namespaces:
network_mode,pid,ipc,uts,userns_mode,cgroupset tohostorcontainer:…; - paths outside the project: bind mounts,
env_file,build.context,build.dockerfile, files ofsecrets/configs— all must stay inside the project folder (so no/var/run/docker.sock, no../); - in
build:privileged,entitlements,ssh,secrets,network: host; remote build contexts (URL,git@…); - volumes: only the
localdriver, withoutdriver_opts, noexternalvolumes; - networks: only the
bridgedriver, withoutdriver_opts, noexternalnetworks; noexternalsecrets or configs.
Named volumes and images from Docker Hub or other registries work as usual.