synth-net / .devcontainer /devcontainer.json
github-actions
Sync from GitHub (CI)
6ca4b94
{
"name": "Data Science Web App",
"build": {
"dockerfile": "Dockerfile",
"context": "..",
"args": {
"INSTALL_R": "true",
"INSTALL_OPENCPU": "true",
"DEV_MODE": "true"
}
},
"mounts": [
"source=poetry-cache,target=/app/.venv,type=volume"
],
"forwardPorts": [
7860
],
"containerEnv": {
"DEV_MODE": "true"
},
"postCreateCommand": "poetry lock && poetry install --no-interaction --no-ansi --with dev,data,ml,demo",
"postStartCommand": "scripts/entrypoint.sh && mkdir -p ~/.vscode-server/data/Machine",
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance",
"adrianwilczynski.alpine-js-intellisense",
"bradlc.vscode-tailwindcss",
"tamasfe.even-better-toml",
"reditorsupport.r",
"wholroyd.jinja",
"formulahendry.code-runner",
"ms-azuretools.vscode-docker",
"eamodio.gitlens",
"otovo-oss.htmx-tags",
"csstools.postcss",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"samuelcolvin.jinjahtml",
"monosans.djlint",
"ms-toolsai.jupyter",
"ms-python.black-formatter",
"naumovs.color-highlight"
],
"settings": {
"python.defaultInterpreterPath": "/app/.venv/bin/python",
"terminal.integrated.shell.linux": "/bin/bash",
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.formatting.provider": "black",
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[python]": {
"editor.defaultFormatter": "ms-python.python"
},
"editor.codeActionsOnSave": {
"source.sortImports": "explicit"
},
"terminal.integrated.defaultProfile.linux": "bash",
"terminal.integrated.profiles.linux": {
"Apache Server": {
"path": "apachectl",
"args": [
"-DFOREGROUND"
]
},
"Uvicorn Server": {
"path": "poetry run uvicorn",
"args": [
"src.main:app",
"--host",
"0.0.0.0",
"--port",
"7860",
"--reload",
"--reload-include",
"./src/",
"--reload-exclude",
"*.db"
]
},
"Edit Demo Marimo Notebook": {
"path": "poetry run marimo",
"args": [
"edit",
"/app/notebooks/marimo-demo.py",
"--host",
"0.0.0.0",
"--port",
"8080",
"--headless"
]
},
"Tailwind CSS": {
"path": "/app/bin/tailwindcss",
"args": [
"-i",
"/app/public/styles/input.css",
"-o",
"/app/public/styles/output.css",
"--watch=always",
"--poll"
]
},
"AI Digest": {
"path": "npx",
"args": [
"--yes",
"ai-digest"
]
}
}
}
}
},
"workspaceMount": "source=${localWorkspaceFolder},target=/app,type=bind,consistency=delegated",
"workspaceFolder": "/app"
}