Files
lmnp-organizer/compose.yml
T
nessar e02ad54bcb feat: add unit and integration tests for rental management domain
- Introduced RentPaymentCorrectionTest and RentPaymentTest to validate payment and refund logic.
- Added PhoneNumberTest to ensure proper normalization of phone numbers.
- Created TenantTest to verify attachment management and tenant referencing.
- Implemented ReplacementRentalApiJourneyIT for end-to-end testing of rental and payment workflows.
- Documented architectural decisions in ADR-0014, emphasizing strict DDD boundaries and transaction management.
2026-08-17 14:18:15 +02:00

75 lines
2.0 KiB
YAML

services:
mongodb:
image: mongo:8.0
container_name: lmnp-mongodb
entrypoint:
- /bin/bash
- -c
- |
if [ ! -s /data/configdb/keyfile ]; then
umask 077
openssl rand -base64 756 > /data/configdb/keyfile
fi
chmod 400 /data/configdb/keyfile
exec docker-entrypoint.sh mongod --replSet rs0 --keyFile /data/configdb/keyfile --bind_ip_all
ports:
- "27017:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: adminpassword
volumes:
- mongodb_data:/data/db
- mongodb_config:/data/configdb
healthcheck:
test:
- CMD-SHELL
- >-
mongosh --quiet --host localhost
--username "$${MONGO_INITDB_ROOT_USERNAME}"
--password "$${MONGO_INITDB_ROOT_PASSWORD}"
--authenticationDatabase admin
--eval 'try { rs.status() } catch (error) { rs.initiate({_id: "rs0", members: [{_id: 0, host: "mongodb:27017"}]}) }; db.hello().isWritablePrimary'
| grep -q true
interval: 5s
timeout: 10s
retries: 10
start_period: 20s
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: lmnp-backend
ports:
- "8080:8080"
environment:
SPRING_DATA_MONGODB_URI: mongodb://admin:adminpassword@mongodb:27017/lmnp?authSource=admin&replicaSet=rs0&directConnection=true
OIDC_ISSUER_URI: ${OIDC_ISSUER_URI:-http://localhost:8090/realms/voidAuth}
OIDC_CLIENT_ID: ${OIDC_CLIENT_ID:-lmnp-client}
OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET:-lmnp-secret}
LMNP_ATTACHMENT_STORAGE_PATH: /data/attachments
volumes:
- attachment_data:/data/attachments
depends_on:
mongodb:
condition: service_healthy
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: lmnp-frontend
ports:
- "80:80"
depends_on:
- backend
volumes:
mongodb_data:
mongodb_config:
attachment_data:
networks:
default:
name: lmnp-net