From 7c33785c07ba8232609047fb1f249254f940a728 Mon Sep 17 00:00:00 2001 From: sidey79 <7968127+sidey79@users.noreply.github.com> Date: Sun, 1 Jun 2025 19:59:46 +0200 Subject: [PATCH] Development: devcontainer setup, docs and enable dependabot (#10081) * fix: container setup and task description * feat: enable dependabot for devcontainer * fix: dont install latest uv and dont install uvx * Cleanup decontainer readme * Fix the reset venv command --------- Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com> --- .devcontainer/Dockerfile | 4 ++-- .devcontainer/README.md | 39 +++++++-------------------------- .devcontainer/vscode/tasks.json | 2 +- .github/dependabot.yml | 4 +++- 4 files changed, 14 insertions(+), 35 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index d252f32cc..fd6448e9b 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -83,7 +83,8 @@ RUN set -eux \ && apt-get update \ && apt-get install --yes --quiet ${PYTHON_PACKAGES} -COPY --from=ghcr.io/astral-sh/uv:0.6 /uv /bin/uv +COPY --from=ghcr.io/astral-sh/uv:0.7.8 /uv /bin/uv + RUN set -eux \ && echo "Installing pre-built updates" \ @@ -128,7 +129,6 @@ RUN set -eux \ && echo "Configuring ImageMagick" \ && mv paperless-policy.xml /etc/ImageMagick-6/policy.xml -COPY --from=ghcr.io/astral-sh/uv:0.6 /uv /bin/uv # Packages needed only for building a few quick Python # dependencies diff --git a/.devcontainer/README.md b/.devcontainer/README.md index a5c615e0a..cec62c802 100644 --- a/.devcontainer/README.md +++ b/.devcontainer/README.md @@ -47,39 +47,19 @@ To start the DevContainer: 1. Open VSCode. 2. Open the project folder. -3. Open the command palette: - - **Windows/Linux**: `Ctrl+Shift+P` - - **Mac**: `Cmd+Shift+P` -4. Type and select `Dev Containers: Rebuild and Reopen in Container`. +3. Open the command palette and choose `Dev Containers: Rebuild and Reopen in Container`. VSCode will build and start the DevContainer environment. ### Step 2: Initial Setup -Once the DevContainer is up and running, perform the following steps: +Once the DevContainer is up and running, run the `Project Setup: Run all Init Tasks` task to initialize the project. -1. **Compile Frontend Assets**: +Alternatively, the Project Setup can be done with individual tasks: - - Open the command palette: - - **Windows/Linux**: `Ctrl+Shift+P` - - **Mac**: `Cmd+Shift+P` - - Select `Tasks: Run Task`. - - Choose `Frontend Compile`. - -2. **Run Database Migrations**: - - - Open the command palette: - - **Windows/Linux**: `Ctrl+Shift+P` - - **Mac**: `Cmd+Shift+P` - - Select `Tasks: Run Task`. - - Choose `Migrate Database`. - -3. **Create Superuser**: - - Open the command palette: - - **Windows/Linux**: `Ctrl+Shift+P` - - **Mac**: `Cmd+Shift+P` - - Select `Tasks: Run Task`. - - Choose `Create Superuser`. +1. **Compile Frontend Assets**: `Maintenance: Compile frontend for production`. +2. **Run Database Migrations**: `Maintenance: manage.py migrate`. +3. **Create Superuser**: `Maintenance: manage.py createsuperuser`. ### Debugging and Running Services @@ -95,11 +75,8 @@ You can start and debug backend services either as debugging sessions via `launc #### Using Tasks -1. Open the command palette: - - **Windows/Linux**: `Ctrl+Shift+P` - - **Mac**: `Cmd+Shift+P` -2. Select `Tasks: Run Task`. -3. Choose the desired task: +1. Open the command palette and select `Tasks: Run Task`. +2. Choose the desired task: - `Runserver` - `Document Consumer` - `Celery` diff --git a/.devcontainer/vscode/tasks.json b/.devcontainer/vscode/tasks.json index 2fe1b6af4..6475e14d1 100644 --- a/.devcontainer/vscode/tasks.json +++ b/.devcontainer/vscode/tasks.json @@ -156,7 +156,7 @@ "label": "Maintenance: recreate .venv", "description": "Recreate the python virtual environment and install python dependencies", "type": "shell", - "command": "rm -R -v .venv/* || uv install --dev", + "command": "rm -rf .venv && uv venv && uv sync --dev", "group": "none", "presentation": { "echo": true, diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 829de9674..194f54a4a 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -84,7 +84,9 @@ updates: - "patch" # Update Dockerfile in root directory - package-ecosystem: "docker" - directory: "/" + directories: + - "/" + - "/.devcontainer/" schedule: interval: "weekly" open-pull-requests-limit: 5