Conversation
maziggy
left a comment
There was a problem hiding this comment.
Python version mismatch (high)
The Dockerfile uses python:1-3.11-bookworm but our production Dockerfile uses python:3.13-slim. pyproject.toml sets >=3.11 as the minimum, not the target — running dev on 3.11 could mask 3.12+ behavior differences. Please update to:
FROM mcr.microsoft.com/devcontainers/python:1-3.13-bookworm
host: '0.0.0.0' in vite.config.ts should be conditional (high)
This change is needed inside Docker for port forwarding, but it also affects every developer running npm run dev locally — their Vite dev server will now listen on all
network interfaces instead of just localhost, which is a security concern on shared networks.
Could you make it conditional? For example:
server: {
host: process.env.DEVCONTAINER === 'true' ? '0.0.0.0' : undefined,
proxy: { ... }
}
And add DEVCONTAINER: "true" to .devcontainer/docker-compose.yml environment.
Minor items:
- Node version is 20 in the devcontainer but 22 in the production Dockerfile — worth aligning to Node 22 for consistency (setup_22.x)
- The import reorder in vite.config.ts is unrelated cosmetic churn — would prefer keeping the diff minimal and reverting that
|
Good catches. That's on me for not double-checking the versions when using helpers to make the dev container. |
|
Please rebase with branch 0.2.3b1 and also change target branch to 0.2.3b1. |
|
Do you want to continue this? |
Yes. I am to take a look this weekend. Big family/life things came up lately. |
|
All good. Just wanted to know. |
Description
Add VSCode Dev Container definitions. Allows developing Bambuddy within a perfectly consistent environment regardless of the developer's OS and installed packages.
https://code.visualstudio.com/docs/devcontainers/containers
Type of Change
Changes Made
Additional Notes
To use this, open the project in a compatible IDE such as VS Code. You should automatically be prompted to reopen the project in a container. Upon accepting, dep will automatically be installed. Simply run the backend and frontend afterwards.
This is just a start. Rules can be added to the definition to enforce linting etc, if not already picked up from the existing project files.