diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index e51bb7a01..a664e6665 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,9 +1,5 @@ -FROM mcr.microsoft.com/vscode/devcontainers/typescript-node:20-bookworm -ADD https://github.com/criyle/go-judge/releases/download/v1.8.0/go-judge_1.8.0_linux_amd64 /usr/bin/sandbox -RUN npm install -g yarn && \ - sudo apt-get update && sudo apt-get install gcc g++ && \ - mkdir -p /root/.hydro /data/file && chmod +x /usr/bin/sandbox && \ - chown -R root:root /root /root/.hydro /data/file && \ +FROM mcr.microsoft.com/vscode/devcontainers/typescript-node:22-bookworm + +RUN install -d -o root -g root /root/.hydro /data/file && \ echo '{"uri":"mongodb://mongo/hydro"}' > /root/.hydro/config.json && \ echo '["@hydrooj/ui-default","@hydrooj/hydrojudge"]' > /root/.hydro/addon.json -ENTRYPOINT sandbox diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index fb9cd4498..27fad2213 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -9,8 +9,6 @@ "dbaeumer.vscode-eslint", "gruntfuggly.todo-tree", "ronnidc.nunjucks", - "eamodio.gitlens", - "vscode-icons-team.vscode-icons", "sysoev.language-stylus" ] } @@ -20,5 +18,18 @@ 2333, 8000 ], + "features": { + "ghcr.io/devcontainers-extra/features/gh-release:1": { + "repo": "criyle/go-judge", + "binaryNames": "go-judge", + "assetRegex": "go-judge_.*\\.tar\\.gz" + }, + "ghcr.io/devcontainers-extra/features/apt-packages:1": { + "packages": [ + "gcc", + "g++" + ] + } + }, "postCreateCommand": "git submodule update --init && yarn install && npx hydrooj cli system set server.port 2333 && npx hydrooj cli user create root@hydro.local root rootroot 2 && npx hydrooj cli user setSuperAdmin 2" -} +} \ No newline at end of file diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index 019029716..54f29fbd8 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -1,8 +1,6 @@ -version: '3.9' - services: mongo: - image: mongo:4-focal + image: mongo:8 restart: unless-stopped volumes: - mongodb-data:/data/db @@ -15,8 +13,11 @@ services: - mongo volumes: - ..:/workspace:cached + - node_modules:/workspace/node_modules - testdata:/data/file + command: go-judge volumes: mongodb-data: + node_modules: testdata: \ No newline at end of file