bim-twin-viewer/docker-compose.yml
warnason 520d55259f
Some checks are pending
CI / backend-lint-and-test (push) Waiting to run
Initial project scaffold: FastAPI backend + Vue.js frontend
- FastAPI with async SQLAlchemy models for IFC elements
- IFC file upload and parsing via IfcOpenShell
- REST API for projects, elements, and properties
- Vue.js 3 frontend shell with Three.js dependency
- Docker Compose for full-stack local development
- PostgreSQL 16 as database
- CI pipeline for Forgejo Actions
- Project documentation and API overview
2026-04-20 11:21:30 +02:00

66 lines
1.3 KiB
YAML

services:
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: bim-backend
restart: unless-stopped
ports:
- "8000:8000"
environment:
- DATABASE_URL=postgresql+asyncpg://bim:${DB_PASSWORD}@db:5432/bim
- UPLOAD_DIR=/data/uploads
volumes:
- ./backend:/app
- upload_data:/data/uploads
depends_on:
db:
condition: service_healthy
networks:
- bim-internal
- web
command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: bim-frontend
restart: unless-stopped
ports:
- "5173:5173"
volumes:
- ./frontend:/app
- /app/node_modules
networks:
- web
command: npm run dev -- --host 0.0.0.0
db:
image: postgres:16-alpine
container_name: bim-db
restart: unless-stopped
environment:
- POSTGRES_USER=bim
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_DB=bim
volumes:
- bim_db:/var/lib/postgresql/data
networks:
- bim-internal
healthcheck:
test: ["CMD-SHELL", "pg_isready -U bim"]
interval: 5s
timeout: 5s
retries: 5
volumes:
bim_db:
upload_data:
networks:
web:
external: true
bim-internal:
driver: bridge