[Proposal] Add devcontainer (#376)
Some checks failed
CI / Lint (push) Failing after 3h10m19s
CI / Typecheck (push) Failing after 3h14m27s

* Add devcontainer

* Fix linting
This commit is contained in:
NicoVIII 2026-03-30 10:17:21 +02:00 committed by GitHub
parent b6ba848e58
commit 2448892c73
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 79 additions and 0 deletions

View file

@ -0,0 +1,52 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/javascript-node
{
"containerEnv": {
"DATABASE_URL": "postgres://drop:drop@db:5432/drop",
"EXTERNAL_URL": "http://localhost:4000",
"NUXT_PORT": "4000"
},
// Configure tool-specific properties.
"customizations": {
"vscode": {
"extensions": [
"lokalise.i18n-ally",
"esbenp.prettier-vscode",
"Prisma.prisma",
"bradlc.vscode-tailwindcss",
"Vue.volar",
"arktypeio.arkdark",
"EditorConfig.EditorConfig",
"dbaeumer.vscode-eslint"
]
}
},
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"dockerComposeFile": "docker-compose.yml",
// Features to add to the dev container. More info: https://containers.dev/features.
"features": {
"ghcr.io/devcontainers-extra/features/protoc:1": {},
"ghcr.io/devcontainers/features/node:1": {},
"ghcr.io/devcontainers/features/rust:1": {
"version": "nightly-2026-03-29"
}
},
"name": "Node.js",
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "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 ..",
"runServices": ["db", "app"],
"service": "app",
"shutdownAction": "stopCompose",
"workspaceFolder": "/workspaces/drop"
}

View file

@ -0,0 +1,26 @@
services:
app:
image: mcr.microsoft.com/devcontainers/base:noble
command: sleep infinity
volumes:
- ..:/workspaces/drop:cached
depends_on:
db:
condition: service_healthy
db:
image: postgres:14-alpine
environment:
POSTGRES_USER: drop
POSTGRES_PASSWORD: drop
POSTGRES_DB: drop
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U drop -d drop"]
interval: 5s
timeout: 5s
retries: 20
volumes:
pgdata:

1
.gitignore vendored
View file

@ -9,6 +9,7 @@ dist
# Node dependencies
node_modules
.yarn
.pnpm-store
# Logs
logs