From 4ff85c08a49e6de450bfd94c94f3e696a8bab267 Mon Sep 17 00:00:00 2001 From: NicoVIII Date: Sun, 30 Aug 2026 12:35:49 +0000 Subject: [PATCH] Fix devcontainer Sorry, I'm just a devcontainer type of guy :D The restructure of the repo to a monorepo broke some things. I think I corrected them all so far. I had to add .pnpm-store to the root .gitignore, because the pnpm install in the container places it there. Alternatively, if that is not wanted, I could move the story via env variable afaik to another place inside the container outside of the repo. --- .gitignore | 3 ++- server/.devcontainer/devcontainer-lock.json | 19 +++++++++++++++++++ server/.devcontainer/devcontainer.json | 16 ++++++++++++---- server/.devcontainer/docker-compose.yml | 2 +- server/.prettierignore | 2 ++ 5 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 server/.devcontainer/devcontainer-lock.json diff --git a/.gitignore b/.gitignore index 763301fc0..16875b0e5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ dist/ -node_modules/ \ No newline at end of file +node_modules/ +.pnpm-store/ diff --git a/server/.devcontainer/devcontainer-lock.json b/server/.devcontainer/devcontainer-lock.json new file mode 100644 index 000000000..b0184a779 --- /dev/null +++ b/server/.devcontainer/devcontainer-lock.json @@ -0,0 +1,19 @@ +{ + "features": { + "ghcr.io/devcontainers-extra/features/protoc:1": { + "version": "1.0.3", + "resolved": "ghcr.io/devcontainers-extra/features/protoc@sha256:57ec0b9c074c3c764d5b43386f5fd219586b2548d5a99da8c3307f29fc1deafc", + "integrity": "sha256:57ec0b9c074c3c764d5b43386f5fd219586b2548d5a99da8c3307f29fc1deafc" + }, + "ghcr.io/devcontainers/features/node:1": { + "version": "1.7.1", + "resolved": "ghcr.io/devcontainers/features/node@sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6", + "integrity": "sha256:8c0de46939b61958041700ee89e3493f3b2e4131a06dc46b4d9423427d06e5f6" + }, + "ghcr.io/devcontainers/features/rust:1": { + "version": "1.5.1", + "resolved": "ghcr.io/devcontainers/features/rust@sha256:f7afd923fd283db88ca961342ae65ea63a8c95bcf86e42c4c363f43bc4ba26a5", + "integrity": "sha256:f7afd923fd283db88ca961342ae65ea63a8c95bcf86e42c4c363f43bc4ba26a5" + } + } +} diff --git a/server/.devcontainer/devcontainer.json b/server/.devcontainer/devcontainer.json index 10e075afe..f35f9e6ef 100644 --- a/server/.devcontainer/devcontainer.json +++ b/server/.devcontainer/devcontainer.json @@ -19,7 +19,15 @@ "arktypeio.arkdark", "EditorConfig.EditorConfig", "dbaeumer.vscode-eslint" - ] + ], + "settings": { + "[json]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[jsonc]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + } + } } }, @@ -42,11 +50,11 @@ // "forwardPorts": [], // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "git submodule update --init --recursive", - "postStartCommand": "pnpm install && pnpm prisma migrate deploy && cd torrential && cargo build --release && cd ..", + "postCreateCommand": "sudo apt-get update && sudo apt-get install -y --no-install-recommends pkg-config libarchive-dev", + "postStartCommand": "pnpm install && pnpm prisma migrate deploy && cd ../torrential && cargo build --release && cd ../server", "runServices": ["db", "app"], "service": "app", "shutdownAction": "stopCompose", - "workspaceFolder": "/workspaces/drop" + "workspaceFolder": "/workspaces/drop/server" } diff --git a/server/.devcontainer/docker-compose.yml b/server/.devcontainer/docker-compose.yml index 7bb4b9b68..6dadaab98 100644 --- a/server/.devcontainer/docker-compose.yml +++ b/server/.devcontainer/docker-compose.yml @@ -3,7 +3,7 @@ services: image: mcr.microsoft.com/devcontainers/base:noble command: sleep infinity volumes: - - ..:/workspaces/drop:cached + - ../..:/workspaces/drop:cached depends_on: db: condition: service_healthy diff --git a/server/.prettierignore b/server/.prettierignore index ed27b4da0..7f7959c1d 100644 --- a/server/.prettierignore +++ b/server/.prettierignore @@ -1,6 +1,8 @@ drop-base/ # file is fully managed by pnpm, no reason to break it pnpm-lock.yaml +# file is managed by vscode +.devcontainer/devcontainer-lock.json /torrential/ .data/**