- Created `project-structure.md` to outline the directory layout, crate dependencies, design principles, module guidelines, and naming conventions for the NxMesh codebase. - Introduced `roadmap.md` detailing the development phases, milestones, tasks, deliverables, and resource requirements for the NxMesh project, spanning from foundational setup to enterprise features.
70 lines
1.5 KiB
YAML
70 lines
1.5 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# Development environment - Control Plane (Rust backend + Vite frontend)
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
volumes:
|
|
- ..:/workspace:cached
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
environment:
|
|
- DATABASE_URL=postgres://postgres:postgres@postgres:5432/nxmesh
|
|
- RUST_LOG=debug
|
|
- RUST_BACKTRACE=1
|
|
- NODE_ENV=development
|
|
ports:
|
|
- "3000:3000" # Vite dev server
|
|
- "8080:8080" # Rust backend (Control Plane)
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
command: sleep infinity
|
|
networks:
|
|
- nxmesh-network
|
|
group_add:
|
|
- docker
|
|
pid: "service:nginx"
|
|
|
|
# Data Plane - Nginx (controlled by agent via PID namespace sharing)
|
|
nginx:
|
|
image: nginx:alpine
|
|
container_name: nxmesh-nginx
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
|
- ./nginx/conf.d:/etc/nginx/conf.d:ro
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
networks:
|
|
- nxmesh-network
|
|
|
|
# Database
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql/data
|
|
environment:
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: postgres
|
|
POSTGRES_DB: nxmesh
|
|
ports:
|
|
- "5432:5432"
|
|
healthcheck:
|
|
test: [ "CMD-SHELL", "pg_isready -U postgres" ]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- nxmesh-network
|
|
|
|
volumes:
|
|
postgres-data:
|
|
|
|
|
|
networks:
|
|
nxmesh-network:
|