normogen/backend/docker-compose.dev.yml

61 lines
1.5 KiB
YAML

services:
backend:
build:
context: .
dockerfile: docker/Dockerfile.dev
args:
BUILDKIT_INLINE_CACHE: 0
pull_policy: build
container_name: normogen-backend-dev
ports:
- '6800:8000'
volumes:
- ./src:/app/src
environment:
- RUST_LOG=debug
- SERVER_PORT=8000
- MONGODB_URI=mongodb://mongodb:27017
- DATABASE_NAME=normogen_dev
- JWT_SECRET=dev-jwt-secret-key-minimum-32-chars
depends_on:
mongodb:
condition: service_healthy
networks:
- normogen-network
restart: unless-stopped
mongodb:
image: mongo:6.0
container_name: normogen-mongodb-dev
ports:
- '27017:27017'
environment:
- MONGO_INITDB_DATABASE=normogen_dev
volumes:
# Option 1: Use named volume (default)
- mongodb_dev_data:/data/db
# Option 2: Use host directory with more space
# - /path/to/more/space/mongodb:/data/db
# Option 3: Use tmpfs (WARNING: data is lost on container stop!)
# - mongodb_tmp:/data/db
networks:
- normogen-network
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
interval: 10s
timeout: 5s
retries: 5
start_period: 60s
volumes:
mongodb_dev_data:
driver: local
# For Option 3 (tmpfs):
# mongodb_tmp:
# driver: local
# driver_opts:
# type: tmpfs
# device: tmpfs
networks:
normogen-network:
driver: bridge