Files
freeCodeCamp/.devcontainer/devcontainer.json
T
2026-08-26 20:38:32 +05:30

52 lines
1.8 KiB
JSON

{
"name": "freeCodeCamp",
"dockerComposeFile": ["../docker/docker-compose.yml", "docker-compose.yml"],
"service": "devcontainer",
"workspaceFolder": "/workspaces/freeCodeCamp",
"hostRequirements": {
"cpus": 4,
"memory": "16gb",
"storage": "32gb"
},
"mounts": [
"source=fcc-node-modules,target=${containerWorkspaceFolder}/node_modules,type=volume"
],
"forwardPorts": [8000, 3000, 8025],
"portsAttributes": {
"8000": { "label": "Client", "onAutoForward": "notify" },
"3000": { "label": "API", "onAutoForward": "silent" },
"8025": { "label": "Mailpit", "onAutoForward": "silent" }
},
"otherPortsAttributes": { "onAutoForward": "silent" },
"onCreateCommand": ".devcontainer/on-create.sh",
"updateContentCommand": "pnpm install --prefer-offline",
// post-create.sh runs codespace-env.sh. That rewrite must not move to
// onCreateCommand: a prebuild snapshots the container after onCreateCommand
// and would freeze the wrong hostname.
"postCreateCommand": ".devcontainer/post-create.sh",
// Codespaces resets port visibility on stop, and postCreateCommand does
// not run again on a restart.
"postStartCommand": ".devcontainer/post-start.sh",
"postAttachCommand": ".devcontainer/welcome.sh",
"customizations": {
"vscode": {
"extensions": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"],
"settings": {
"tasks": {
"version": "2.0.0",
"tasks": [
{
"label": "Start freeCodeCamp",
"type": "shell",
"command": "pnpm run develop",
"isBackground": true,
"problemMatcher": [],
"presentation": { "reveal": "always", "panel": "dedicated" }
}
]
}
}
}
}
}