From 184f1f64a5c3ba2ed996ecafc2d21fa350c95589 Mon Sep 17 00:00:00 2001 From: Nick Kosarev Date: Wed, 27 Nov 2024 01:18:35 +0200 Subject: [PATCH] feat: upgraded devcontainer + local db (#263) --- .devcontainer/Dockerfile | 1 + .devcontainer/devcontainer.json | 28 +++++++++++++++------------- .devcontainer/docker-compose.yaml | 24 ++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 13 deletions(-) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/docker-compose.yaml diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..126bdf2 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1 @@ +FROM mcr.microsoft.com/devcontainers/base:dev-ubuntu-24.04 \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 854f6bd..af801cf 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,26 +1,28 @@ { "name": "Chat Game", - "image": "mcr.microsoft.com/devcontainers/typescript-node:22", - "workspaceFolder": "/workspaces/chat-game/${localWorkspaceFolderBasename}", - - // Features to add to the dev container. More info: https://containers.dev/features. - // "features": {}, - - // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "npm i -g pnpm@9.10.0 && pnpm i", - - // Configure tool-specific properties. + "dockerComposeFile": "docker-compose.yaml", + "service": "app", + "workspaceFolder": "/workspaces/space/${localWorkspaceFolderBasename}", + "updateContentCommand": "npm i -g turbo@latest && pnpm i", "customizations": { - // Configure properties specific to VS Code. "vscode": { - // Add the IDs of extensions you want installed when the container is created. "extensions": [ + "bradlc.vscode-tailwindcss", "dbaeumer.vscode-eslint", "Vue.volar", "ms-azuretools.vscode-docker", "Codeium.codeium", - "Vercel.turbo-vsc" + "Vercel.turbo-vsc", + "Prisma.prisma" ] } + }, + "features": { + "ghcr.io/devcontainers/features/node:1": { + "nodeGypDependencies": true, + "version": "lts", + "pnpmVersion": "latest", + "nvmVersion": "latest" + } } } diff --git a/.devcontainer/docker-compose.yaml b/.devcontainer/docker-compose.yaml new file mode 100644 index 0000000..6ca76bc --- /dev/null +++ b/.devcontainer/docker-compose.yaml @@ -0,0 +1,24 @@ +services: + app: + build: + context: .. + dockerfile: .devcontainer/Dockerfile + + volumes: + - ../..:/workspaces:cached + + # Overrides default command so things don't shut down after the process ends. + command: sleep infinity + + db: + image: postgres:17 + restart: unless-stopped + volumes: + - postgres-data:/var/lib/postgresql/data + environment: + POSTGRES_USER: postgres + POSTGRES_DB: postgres + POSTGRES_PASSWORD: postgres + +volumes: + postgres-data: \ No newline at end of file