feat: Initialize NxMesh project with Docker, Nginx, PostgreSQL, and Rust backend
- Add Docker Compose configuration for development environment - Create Nginx configuration files for routing and health checks - Set up PostgreSQL database with health checks - Add .dockerignore and .gitignore files to exclude unnecessary files - Initialize Cargo.toml and Cargo.lock for Rust dependencies - Include GNU General Public License for project - Add README.md for project description - Create Justfile for development workflow commands
This commit is contained in:
80
.devcontainer/devcontainer.json
Normal file
80
.devcontainer/devcontainer.json
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"name": "NxMesh Dev Environment",
|
||||
"dockerComposeFile": "docker-compose.yml",
|
||||
"service": "app",
|
||||
"workspaceFolder": "/workspace",
|
||||
|
||||
"features": {
|
||||
"ghcr.io/devcontainers/features/docker-in-docker:2": {
|
||||
"version": "latest",
|
||||
"enableNonRootDocker": "true",
|
||||
"moby": "true"
|
||||
},
|
||||
"ghcr.io/devcontainers/features/common-utils:2": {
|
||||
"installZsh": "true",
|
||||
"username": "vscode",
|
||||
"userUid": "1000",
|
||||
"userGid": "1000",
|
||||
"upgradePackages": "true"
|
||||
},
|
||||
"ghcr.io/devcontainers/features/rust:1": {
|
||||
"version": "stable",
|
||||
"profile": "default",
|
||||
"cargoHome": "/usr/local/cargo"
|
||||
},
|
||||
"ghcr.io/devcontainers/features/node:1": {
|
||||
"version": "lts",
|
||||
"nodeGypDependencies": true,
|
||||
"nvmInstallPath": "/usr/local/share/nvm"
|
||||
},
|
||||
"ghcr.io/guiyomh/features/just:0": {},
|
||||
"ghcr.io/devcontainers-extra/features/bun": {
|
||||
"version": "latest"
|
||||
}
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"rust-lang.rust-analyzer",
|
||||
"vadimcn.vscode-lldb",
|
||||
"bradlc.vscode-tailwindcss",
|
||||
"esbenp.prettier-vscode",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"ms-azuretools.vscode-docker",
|
||||
"nefrob.vscode-just-syntax"
|
||||
],
|
||||
"settings": {
|
||||
"rust-analyzer.cargo.features": "all",
|
||||
// both clippy and fmt
|
||||
"rust-analyzer.checkOnSave.command": "clippy"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [3000, 8080, 5432, 80, 443],
|
||||
"portsAttributes": {
|
||||
"3000": {
|
||||
"label": "Vite Dev Server",
|
||||
"onAutoForward": "notify"
|
||||
},
|
||||
"8080": {
|
||||
"label": "Rust Backend API",
|
||||
"onAutoForward": "notify"
|
||||
},
|
||||
"5432": {
|
||||
"label": "PostgreSQL",
|
||||
"onAutoForward": "silent"
|
||||
},
|
||||
"80": {
|
||||
"label": "Nginx",
|
||||
"onAutoForward": "notify"
|
||||
}
|
||||
},
|
||||
|
||||
"postCreateCommand": "just setup",
|
||||
"postStartCommand": "just start-services",
|
||||
|
||||
"remoteUser": "vscode",
|
||||
"updateRemoteUserUID": true
|
||||
}
|
||||
Reference in New Issue
Block a user