Skip to content

Introduce devcontainer service container based development environment (#705)#706

Merged
bedrich-schindler merged 1 commit into
masterfrom
task/705
Jun 9, 2026
Merged

Introduce devcontainer service container based development environment (#705)#706
bedrich-schindler merged 1 commit into
masterfrom
task/705

Conversation

@bedrich-schindler

Copy link
Copy Markdown
Contributor

All development is now done inside the container named devcontainer which contains all necessary tools and dependencies. The devcontainer orchestrates other service containers behind the scenes via Docker-from-Docker. Other containers are implementation details and should not be accessed directly.

This is breaking change commit for development environment, so it is required to remove all the env files and start with fresh one.

There are two supported ways to access the development environment. Recommended way is to use Development Containers with an IDE. The alternative is to use Docker Compose directly. Local development is officially no more supported.

What more, documentation of contribution and CLAUDE.md was updated to match with the changes.


Closes #705

Comment thread docker/react_ui_devcontainer/files/usr/local/bin/mkdocs
Comment thread .devcontainer/devcontainer.json

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates the repo’s development workflow to a single devcontainer-centric environment that orchestrates supporting service containers via Docker-from-Docker, updating scripts, Compose files, and contributor docs accordingly.

Changes:

  • Add a devcontainer image (with wrapper CLIs) and new Compose layout (docker-compose.base.yml + generated docker-compose.yml).
  • Introduce setup.sh + docker/build-docker-images.sh to generate config files and build images.
  • Consolidate Playwright configuration into .env and update contribution/testing documentation.

Reviewed changes

Copilot reviewed 16 out of 25 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
tests/playwright/env/parseDotEnvFile.ts Switch Playwright env parsing from .env.playwright to .env.
src/docs/contribute/testing-guidelines.md Update test-running guidance for the new container-agnostic workflow.
src/docs/contribute/general-guidelines.md Rewrite development environment docs around the devcontainer model.
setup.sh New host-side setup script to generate .env and docker-compose.yml and build images.
package.json Remove postinstall env-file bootstrap.
docker/react_ui_devcontainer_local/Dockerfile.dist Add template for locally extending the devcontainer image.
docker/react_ui_devcontainer/files/usr/local/bin/* Add wrapper scripts (npm/node/npx/mkdocs + AI tool shims) to route commands into service containers.
docker/react_ui_devcontainer/files/usr/local/bin/docker-entrypoint Add entrypoint that runs fixuid and home ownership setup.
docker/react_ui_devcontainer/files/home/developer/shell-init.sh Add SSH-agent forwarding blocking helper.
docker/react_ui_devcontainer/Dockerfile Add new devcontainer image build.
docker/build-docker-images.sh Add helper to build the devcontainer image and compose services.
docker-compose.yml.dist Add dist template for generated docker-compose.yml.
docker-compose.yml Remove old compose file (now generated).
docker-compose.base.yml Add new base compose defining devcontainer + node/playwright/docs services.
CLAUDE.md Update assistant guidance to assume devcontainer usage.
.gitignore Ignore generated compose + local devcontainer customization dir; stop ignoring .env.playwright.
.env.playwright.dist Remove dedicated Playwright env template.
.env.dist Expand .env.dist to include compose/devcontainer + Playwright settings.
.devcontainer/devcontainer.json Add Dev Container configuration to bootstrap via setup.sh.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/docs/contribute/general-guidelines.md
Comment thread src/docs/contribute/testing-guidelines.md Outdated
Comment thread src/docs/contribute/testing-guidelines.md Outdated
Comment thread setup.sh Outdated
Comment thread setup.sh
Comment thread docker/react_ui_devcontainer/Dockerfile Outdated
Comment thread docker/react_ui_devcontainer/Dockerfile Outdated
Comment thread docker-compose.base.yml Outdated
Comment thread docker/react_ui_devcontainer/Dockerfile Outdated
Comment thread docker/react_ui_devcontainer_local/Dockerfile.dist Outdated
Comment thread docker/react_ui_devcontainer/files/home/developer/shell-init.sh
Comment thread docker/react_ui_devcontainer/files/usr/local/bin/docker-entrypoint
Comment thread docker/build-docker-images.sh
Comment thread .env.dist

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 25 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docker-compose.base.yml
Comment thread docker/build-docker-images.sh
Comment thread src/docs/contribute/testing-guidelines.md Outdated
Comment thread CLAUDE.md Outdated
@github-actions

github-actions Bot commented Mar 27, 2026

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-06-09 07:48 UTC

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 25 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docker/react_ui_devcontainer/Dockerfile
Comment thread setup.sh
Comment thread docker-compose.base.yml Outdated
Comment thread setup.sh
Comment thread setup.sh
Comment thread docker/build-docker-images.sh
Comment thread src/docs/contribute/general-guidelines.md Outdated
@adamkudrna adamkudrna added the claude Ask Claude to perform code review. label Apr 1, 2026

@adamkudrna adamkudrna left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a lot of comments, but I really like it! You have done a great job 👏🏻.

Comment thread docker/react_ui_devcontainer/files/home/developer/shell-init.sh
Comment thread docker/react_ui_devcontainer/files/usr/local/bin/copilot
Comment thread docker/react_ui_devcontainer/files/usr/local/bin/mkdocs
Comment thread docker/react_ui_devcontainer/files/usr/local/bin/mkdocs
Comment thread src/docs/contribute/testing-guidelines.md
Comment thread .env.dist
Comment thread .env.dist
Comment thread src/docs/contribute/general-guidelines.md
Comment thread docker-compose.base.yml
Comment thread setup.sh
@adamkudrna adamkudrna removed the claude Ask Claude to perform code review. label Apr 1, 2026

@adamkudrna adamkudrna left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here are a few points by Claude. I believe they are relevant.

(Once you rebase the branch, we can try asking Claude to do CR right here, just by adding the claude label.)

Comment thread setup.sh Outdated
Comment thread docker/react_ui_devcontainer/Dockerfile Outdated
Comment thread docker-compose.base.yml Outdated
Comment thread src/docs/contribute/general-guidelines.md Outdated
Comment thread .env.dist Outdated
@bedrich-schindler

Copy link
Copy Markdown
Contributor Author

@claude make code review.

Comment thread src/docs/contribute/general-guidelines.md
Comment thread src/docs/contribute/general-guidelines.md
Comment thread setup.sh

@mbohal mbohal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not test it extensively,nor did I do very throughout CR. I do not have that much time now.

However it works on my machine and I saw nothing I would not feel comfortable merging. So here goes the ✔️

@adamkudrna adamkudrna left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You have done a great job @bedrich-schindler 👏🏻.

  • Docs are clear and understandable.
  • I tested the default mode and auto-start mode, both OK.
  • I successfully started Claude (but stopped before logging in).
  • I did not test any customization features.
  • Only issue I have observed so far is the missing Git intergration in my Jetbrains.

Can't wait to start using it!

Comment thread setup.sh
Comment thread src/docs/contribute/general-guidelines.md
Comment thread src/docs/contribute/general-guidelines.md
Comment thread src/docs/contribute/general-guidelines.md
Comment thread docker/react_ui_devcontainer/Dockerfile
Comment thread .devcontainer/devcontainer.json
Comment thread docker/react_ui_devcontainer/Dockerfile
Comment thread src/docs/contribute/general-guidelines.md
Comment thread scripts/auto-start-node.sh
…ent (#705)

All development is now done inside the container named `devcontainer`
which contains all necessary tools and dependencies. The devcontainer
orchestrates other service containers behind the scenes
via Docker-from-Docker. Other containers are implementation details
and should not be accessed directly.

This is breaking change commit for development environment,
so it is required to remove all the env files and start with
fresh one.

There are two supported ways to access the development environment.
Recommended way is to use Development Containers with an IDE.
The alternative is to use Docker Compose directly. Local development
is officially no more supported.

What more, documentation of contribution and CLAUDE.md was updated
to match with the changes.
@bedrich-schindler bedrich-schindler merged commit 4628f01 into master Jun 9, 2026
17 checks passed
@bedrich-schindler bedrich-schindler deleted the task/705 branch June 9, 2026 07:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Introduce development containers

4 participants