Skip to content

🔧(devops) add devcontainer configuration for Zed and VS Code#620

Open
neilcroft wants to merge 3 commits intosuitenumerique:mainfrom
neilcroft:devcontainers
Open

🔧(devops) add devcontainer configuration for Zed and VS Code#620
neilcroft wants to merge 3 commits intosuitenumerique:mainfrom
neilcroft:devcontainers

Conversation

@neilcroft
Copy link
Copy Markdown
Contributor

@neilcroft neilcroft commented Mar 20, 2026

Purpose

Add a Dev Containers configuration so that developers can work on Drive directly inside a container from Zed or VS Code, with full LSP support
(basedpyright).

Proposal

.devcontainer/ setup that adds a dedicated devcontainer service alongside the existing Compose stack:

  • Dockerfile — extends backend-development with nodejs, npm and bash (required by basedpyright LSP), and creates a named default user with a valid shell and writable
    HOME

  • docker-compose.override.yml — defines the devcontainer service with the workspace volume mount

  • devcontainer.json — configures the IDE integration (Zed / VS Code)

  • README — documents the dev container workflow

  • Runs alongside app-dev — the dev container is a dedicated IDE workspace, not a replacement for the application container

  • Shared source files — volume mounts ensure changes in the IDE are immediately reflected in the running application

  • Rootless — runs as user 1000 via a named user (default) to work around a devcontainer CLI bug that serializes numeric UIDs as YAML integers

  • Generic — uses ${DOCKER_USER:-1000} so it works for any developer

Add a .devcontainer setup that extends the backend-development
image with nodejs/npm/bash (needed for basedpyright LSP) and a
named "default" user with a valid shell and writable HOME.

The containerUser is set to "default" (a named user) to work
around a devcontainer CLI bug that serializes numeric UIDs as
YAML integers, which Docker Compose rejects.

On startup, any existing app-dev container from `make run` is
automatically replaced. The Django runserver starts in background
via postStartCommand.
@sonarqubecloud
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant