From 5a0066c9f4cb1dd0178ffbc53fb61600fd5c96b8 Mon Sep 17 00:00:00 2001 From: zender Date: Mon, 2 Feb 2026 11:07:17 -0500 Subject: [PATCH 1/5] Fix git-lfs hook issues and other perms problems --- template/.devcontainer/Dockerfile | 8 ++++++-- template/.devcontainer/devcontainer.json.jinja | 8 +++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/template/.devcontainer/Dockerfile b/template/.devcontainer/Dockerfile index 70842f4af..ce26c5141 100644 --- a/template/.devcontainer/Dockerfile +++ b/template/.devcontainer/Dockerfile @@ -16,10 +16,14 @@ RUN apt-get update -y && apt-get install -y \ # Create the venv folder and set permissions for anyone to modify---this is necessary to be able to break out the venv folder as a separate docker volume for better performance on Windows hosts ARG REPO_NAME=copier-base-template ENV VENV_PATH=/workspaces/${REPO_NAME}/.venv +ENV PNPM_STORE=/workspaces/${REPO_NAME}/.pnpm-store +ENV FRONTEND_NODE_MODULES=/workspaces/${REPO_NAME}/frontend/node_modules RUN mkdir -p /workspaces && \ mkdir -p ${VENV_PATH} && \ - chmod -R 777 /workspaces ${VENV_PATH} && \ - chgrp -R 0 /workspaces ${VENV_PATH} + mkdir -p ${PNPM_STORE} && \ + mkdir -p ${FRONTEND_NODE_MODULES} && \ + chmod -R 777 /workspaces ${VENV_PATH} ${PNPM_STORE} ${FRONTEND_NODE_MODULES} && \ + chgrp -R 0 /workspaces ${VENV_PATH} ${PNPM_STORE} ${FRONTEND_NODE_MODULES} # SSH EXPOSE 2222 diff --git a/template/.devcontainer/devcontainer.json.jinja b/template/.devcontainer/devcontainer.json.jinja index 8c765d18c..867f0e560 100644 --- a/template/.devcontainer/devcontainer.json.jinja +++ b/template/.devcontainer/devcontainer.json.jinja @@ -20,7 +20,13 @@ "version": "{% endraw %}{{ node_version }}{% raw %}", "pnpmVersion": "{% endraw %}{{ pnpm_version }}{% raw %}" }{% endraw %}{% endif %}{% raw %}{% endraw %}{% if install_claude_cli %}{% raw %}, - "ghcr.io/anthropics/devcontainer-features/claude-code:1.0.5": {}{% endraw %}{% endif %}{% raw %} + "ghcr.io/anthropics/devcontainer-features/claude-code:1.0.5": {},{% endraw %}{% endif %}{% raw %} + "ghcr.io/devcontainers/features/git-lfs:1.2.5": { + // we are not using git-lfs right now, but its a transitive dep elsewhere. We want to configure auto pull to off since the feature will by default also try to install the git hook + // and it breaks creation of the devcontainer since pre-commit hooks are already in place. Probably a better way to fix this but until we use git-lfs we can leave it like this. + // https://github.com/devcontainers/features/blob/main/src/git-lfs/README.md + "autoPull": false + } }, "customizations": { "vscode": { From af6c2f7e3ca7219babef4dc5516df7a8782a913b Mon Sep 17 00:00:00 2001 From: zender Date: Mon, 2 Feb 2026 11:16:21 -0500 Subject: [PATCH 2/5] Update comment to match since its more than just venv --- template/.devcontainer/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/template/.devcontainer/Dockerfile b/template/.devcontainer/Dockerfile index ce26c5141..1e01e161b 100644 --- a/template/.devcontainer/Dockerfile +++ b/template/.devcontainer/Dockerfile @@ -13,7 +13,8 @@ RUN apt-get update -y && apt-get install -y \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* -# Create the venv folder and set permissions for anyone to modify---this is necessary to be able to break out the venv folder as a separate docker volume for better performance on Windows hosts +# Create the workspace folders that have docker volume (see docker-compose.yaml) and set permissions for anyone to modify +# this is necessary to be able to break out these folders as a separate docker volume for better performance on Windows hosts ARG REPO_NAME=copier-base-template ENV VENV_PATH=/workspaces/${REPO_NAME}/.venv ENV PNPM_STORE=/workspaces/${REPO_NAME}/.pnpm-store From b0ca8c2c291336dd8ff0058135b7400ae6ad2ffa Mon Sep 17 00:00:00 2001 From: zender Date: Mon, 2 Feb 2026 11:23:50 -0500 Subject: [PATCH 3/5] Move it away from if checks to simplify things --- template/.devcontainer/devcontainer.json.jinja | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/template/.devcontainer/devcontainer.json.jinja b/template/.devcontainer/devcontainer.json.jinja index 867f0e560..d2b2a7815 100644 --- a/template/.devcontainer/devcontainer.json.jinja +++ b/template/.devcontainer/devcontainer.json.jinja @@ -3,6 +3,12 @@ "service": "devcontainer", "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", "features": {{% endraw %}{% if is_child_of_copier_base_template is not defined %}{% raw %} + "ghcr.io/devcontainers/features/git-lfs:1.2.5": { + // we are not using git-lfs right now, but its a transitive dep elsewhere. We want to configure auto pull to off since the feature will by default also try to install the git hook + // and it breaks creation of the devcontainer since pre-commit hooks are already in place. Probably a better way to fix this but until we use git-lfs we can leave it like this. + // https://github.com/devcontainers/features/blob/main/src/git-lfs/README.md + "autoPull": false + }, "ghcr.io/devcontainers/features/aws-cli:1.1.2": { // https://github.com/devcontainers/features/blob/main/src/aws-cli/devcontainer-feature.json // view latest version https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst @@ -20,13 +26,7 @@ "version": "{% endraw %}{{ node_version }}{% raw %}", "pnpmVersion": "{% endraw %}{{ pnpm_version }}{% raw %}" }{% endraw %}{% endif %}{% raw %}{% endraw %}{% if install_claude_cli %}{% raw %}, - "ghcr.io/anthropics/devcontainer-features/claude-code:1.0.5": {},{% endraw %}{% endif %}{% raw %} - "ghcr.io/devcontainers/features/git-lfs:1.2.5": { - // we are not using git-lfs right now, but its a transitive dep elsewhere. We want to configure auto pull to off since the feature will by default also try to install the git hook - // and it breaks creation of the devcontainer since pre-commit hooks are already in place. Probably a better way to fix this but until we use git-lfs we can leave it like this. - // https://github.com/devcontainers/features/blob/main/src/git-lfs/README.md - "autoPull": false - } + "ghcr.io/anthropics/devcontainer-features/claude-code:1.0.5": {}{% endraw %}{% endif %}{% raw %} }, "customizations": { "vscode": { From 760f883ec42cca82d3bef03e5bac1bc9f623096c Mon Sep 17 00:00:00 2001 From: zender Date: Mon, 2 Feb 2026 19:48:51 -0500 Subject: [PATCH 4/5] Should have been backend --- template/.devcontainer/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/.devcontainer/Dockerfile b/template/.devcontainer/Dockerfile index 1e01e161b..7812d7ec1 100644 --- a/template/.devcontainer/Dockerfile +++ b/template/.devcontainer/Dockerfile @@ -16,7 +16,7 @@ RUN apt-get update -y && apt-get install -y \ # Create the workspace folders that have docker volume (see docker-compose.yaml) and set permissions for anyone to modify # this is necessary to be able to break out these folders as a separate docker volume for better performance on Windows hosts ARG REPO_NAME=copier-base-template -ENV VENV_PATH=/workspaces/${REPO_NAME}/.venv +ENV VENV_PATH=/workspaces/${REPO_NAME}/backend/.venv ENV PNPM_STORE=/workspaces/${REPO_NAME}/.pnpm-store ENV FRONTEND_NODE_MODULES=/workspaces/${REPO_NAME}/frontend/node_modules RUN mkdir -p /workspaces && \ From 1a072058644f666f1af29a77c784efaa1be54958 Mon Sep 17 00:00:00 2001 From: zender Date: Tue, 3 Feb 2026 18:51:54 +0000 Subject: [PATCH 5/5] Update latest base template --- .copier-answers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.copier-answers.yml b/.copier-answers.yml index a39e55844..bbf36b452 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier -_commit: v0.0.95 +_commit: v0.0.96 _src_path: gh:LabAutomationAndScreening/copier-base-template.git description: A web app that is hosted within a local intranet. Nuxt frontend, python backend, docker-compose