Add devcontainer support for production-parity debugging
This commit is contained in:
parent
762361a21b
commit
89cfa50519
5 changed files with 46 additions and 8 deletions
18
.devcontainer/devcontainer.json
Normal file
18
.devcontainer/devcontainer.json
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"dockerComposeFile": ["../docker-compose.yml", "docker-compose_extend.yml"],
|
||||
"service": "web",
|
||||
"name": "pkmntrade-club",
|
||||
"workspaceFolder": "/workspace",
|
||||
"postStartCommand": "direnv allow /workspace",
|
||||
"remoteUser": "app",
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"ms-python.python",
|
||||
"ms-python.black-formatter",
|
||||
"ms-python.isort",
|
||||
"ms-azuretools.vscode-docker"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
11
.devcontainer/docker-compose_extend.yml
Normal file
11
.devcontainer/docker-compose_extend.yml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
services:
|
||||
web:
|
||||
volumes:
|
||||
- .:/workspace:cached
|
||||
- ./seed:/seed:ro
|
||||
- ./src/pkmntrade_club:/app/lib/python3.12/site-packages/pkmntrade_club:cached
|
||||
cap_add:
|
||||
- SYS_PTRACE
|
||||
security_opt:
|
||||
- seccomp:unconfined
|
||||
command: /bin/sh -c "while sleep 1000; do :; done"
|
||||
|
|
@ -64,7 +64,7 @@ WORKDIR /app
|
|||
# Don't run app as root
|
||||
RUN <<EOT
|
||||
groupadd -r app -g 10003
|
||||
useradd -r -d /app -u 10003 -s /sbin/nologin -g app -N app
|
||||
useradd -r -d /app -u 10003 -s /bin/bash -g app -N app
|
||||
EOT
|
||||
|
||||
# Runtime dependencies
|
||||
|
|
@ -73,7 +73,7 @@ apt-get update -qy
|
|||
apt-get install -qyy \
|
||||
-o APT::Install-Recommends=false \
|
||||
-o APT::Install-Suggests=false \
|
||||
xvfb curl
|
||||
xvfb curl direnv
|
||||
apt-get clean
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
EOT
|
||||
|
|
@ -88,6 +88,8 @@ COPY --chown=app:app --chmod=700 /scripts/deploy.sh /deploy.sh
|
|||
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
|
||||
RUN mkdir -p /app/.cursor-server && chown app:app /app /app/.cursor-server
|
||||
|
||||
USER app
|
||||
|
||||
EXPOSE 8000
|
||||
|
|
|
|||
|
|
@ -12,16 +12,17 @@ services:
|
|||
build: .
|
||||
volumes:
|
||||
- ./.env.dev:/.env:ro
|
||||
- ./seed:/seed:ro
|
||||
- ./src/pkmntrade_club/accounts/migrations:/app/lib/python3.12/site-packages/pkmntrade_club/accounts/migrations # for makemigrations
|
||||
- ./src/pkmntrade_club/cards/migrations:/app/lib/python3.12/site-packages/pkmntrade_club/cards/migrations # for makemigrations
|
||||
- ./src/pkmntrade_club/trades/migrations:/app/lib/python3.12/site-packages/pkmntrade_club/trades/migrations # for makemigrations
|
||||
- ./src/pkmntrade_club/home/migrations:/app/lib/python3.12/site-packages/pkmntrade_club/home/migrations # for makemigrations
|
||||
env_file:
|
||||
- .env.dev
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8000"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
db:
|
||||
image: postgres:16
|
||||
ports:
|
||||
|
|
|
|||
|
|
@ -19,3 +19,9 @@ services:
|
|||
deploy:
|
||||
mode: replicated
|
||||
replicas: 4
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8000"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue