Reproduction steps
1.Use a docker-compose file
services:
django: &django
build:
context: .
dockerfile: ./compose/local/django/Dockerfile
image: djfactory_local_django
container_name: djfactory_local_django
depends_on:
- postgres
- redis
- mailpit
volumes:
- djfactory_venv:/app/.venv
- .:/app
env_file:
- ./.envs/.local/.django
- ./.envs/.local/.postgres
ports:
- "8000:8000"
command: /start
- Run devcontainer in Zed
Current vs. Expected behavior
Expected behavior:
Zed should accept any Docker Compose configuration that is valid according to Docker Compose spec.
Actual behavior:
Zed fails with errors like:
Error deserializing from raw json:
invalid type: map, expected a string
and:
missing field source
Additional context:
Running docker compose config --format json produces valid output
"volumes": [
{
"type": "volume",
"source": "djfactory_venv",
"target": "/app/.venv",
"volume": {}
},
{
"type": "bind",
"source": "/Volumes/WindowsDD/pyproject/djfactory/djfactory",
"target": "/app",
"bind": {
"create_host_path": true
}
}
]
The issue seems to come from Zed's JSON deserialization expecting something else
Impact:
This prevents using:
advanced volume configurations
bind options like create_host_path
production-like compose setups
Suggested fix:
Zed devcontainer parser should support the full Docker Compose spec, including long-form volume definitions.
Zed version and system specs
Zed: v0.231.1+stable.213.e71b6aa44ffaac9bdaf986288289359e6f1b3572 (Zed)
OS: macOS 13.6.4
Memory: 8 GiB
Architecture: x86_64
Docker version 27.4.0, build bde2b89
Docker Compose version v2.31.0-desktop.2
Attach Zed log file
Zed.log
2026-04-09T07:01:41+05:45 ERROR [dev_container::command_json] Error running command Command { program: "docker", args: ["compose", "-f", "/Volumes/WindowsDD/pyproject/djfactory/djfactory/.devcontainer/../docker-compose.local.yml", "config", "--format", "json"], envs: {}, env_clear: false, current_dir: None, stdin_cfg: Some(Null), stdout_cfg: Some(Piped), stderr_cfg: Some(Piped), kill_on_drop: false }: Error deserializing from raw json: missing field `source` at line 55 column 9
2026-04-09T07:01:41+05:45 ERROR [recent_projects::remote_servers] Failed to start dev container: DevContainerUpFailed("Failed with nested error: CommandFailed(\"docker\")")
Relevant Zed settings
settings.json
Relevant Keymap
keymap.json
(for AI issues) Model provider details
No response
If you are using WSL on Windows, what flavor of Linux are you using?
None
Reproduction steps
1.Use a docker-compose file
services:
django: &django
build:
context: .
dockerfile: ./compose/local/django/Dockerfile
image: djfactory_local_django
container_name: djfactory_local_django
depends_on:
- postgres
- redis
- mailpit
volumes:
- djfactory_venv:/app/.venv
- .:/app
Current vs. Expected behavior
Expected behavior:
Zed should accept any Docker Compose configuration that is valid according to Docker Compose spec.
Actual behavior:
Zed fails with errors like:
Error deserializing from raw json:
invalid type: map, expected a string
and:
missing field
sourceAdditional context:
Running docker compose config --format json produces valid output
"volumes": [
{
"type": "volume",
"source": "djfactory_venv",
"target": "/app/.venv",
"volume": {}
},
{
"type": "bind",
"source": "/Volumes/WindowsDD/pyproject/djfactory/djfactory",
"target": "/app",
"bind": {
"create_host_path": true
}
}
]
The issue seems to come from Zed's JSON deserialization expecting something else
Impact:
This prevents using:
advanced volume configurations
bind options like create_host_path
production-like compose setups
Suggested fix:
Zed devcontainer parser should support the full Docker Compose spec, including long-form volume definitions.
Zed version and system specs
Zed: v0.231.1+stable.213.e71b6aa44ffaac9bdaf986288289359e6f1b3572 (Zed)
OS: macOS 13.6.4
Memory: 8 GiB
Architecture: x86_64
Docker version 27.4.0, build bde2b89
Docker Compose version v2.31.0-desktop.2
Attach Zed log file
Zed.log
Relevant Zed settings
settings.json
Relevant Keymap
keymap.json
(for AI issues) Model provider details
No response
If you are using WSL on Windows, what flavor of Linux are you using?
None