mirror of
https://github.com/andwati/cymelle.git
synced 2026-10-18 00:22:51 +00:00
70 lines
2.0 KiB
YAML
70 lines
2.0 KiB
YAML
name: cymelle
|
|
|
|
services:
|
|
db:
|
|
image: postgres:18-alpine
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB:-cymelle}
|
|
POSTGRES_USER: ${POSTGRES_USER:-cymelle}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-cymelle}
|
|
ports:
|
|
- "${POSTGRES_PORT:-5432}:5432"
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD-SHELL",
|
|
"pg_isready -U ${POSTGRES_USER:-cymelle} -d ${POSTGRES_DB:-cymelle}",
|
|
]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
api:
|
|
image: eclipse-temurin:17-jdk-jammy
|
|
working_dir: /workspace
|
|
command: ./gradlew --no-daemon bootRun
|
|
environment:
|
|
PORT: 8080
|
|
SPRING_DATASOURCE_URL: jdbc:postgresql://db:5432/${POSTGRES_DB:-cymelle}
|
|
SPRING_DATASOURCE_USERNAME: ${POSTGRES_USER:-cymelle}
|
|
SPRING_DATASOURCE_PASSWORD: ${POSTGRES_PASSWORD:-cymelle}
|
|
APP_CORS_ALLOWED_ORIGINS: ${APP_CORS_ALLOWED_ORIGINS:-http://localhost:3000}
|
|
SEED_DATA: ${SEED_DATA:-true}
|
|
LOW_STOCK_THRESHOLD: ${LOW_STOCK_THRESHOLD:-10}
|
|
FARE_BASE_FARE: ${FARE_BASE_FARE:-100.00}
|
|
FARE_PER_KM_RATE: ${FARE_PER_KM_RATE:-50.00}
|
|
FARE_MINIMUM_FARE: ${FARE_MINIMUM_FARE:-150.00}
|
|
FARE_DEFAULT_SURGE_MULTIPLIER: ${FARE_DEFAULT_SURGE_MULTIPLIER:-1.0}
|
|
FARE_CURRENCY: ${FARE_CURRENCY:-KES}
|
|
ports:
|
|
- "${API_PORT:-8080}:8080"
|
|
volumes:
|
|
- ./orders-backend:/workspace
|
|
- gradle-cache:/root/.gradle
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
|
|
web:
|
|
image: node:24-bookworm-slim
|
|
working_dir: /app
|
|
command: sh -c "corepack enable && pnpm install --frozen-lockfile && pnpm dev --host 0.0.0.0"
|
|
environment:
|
|
HOST: 0.0.0.0
|
|
PORT: 3000
|
|
VITE_API_BASE_URL: ${VITE_API_BASE_URL:-http://localhost:8080/api}
|
|
ports:
|
|
- "${WEB_PORT:-3000}:3000"
|
|
volumes:
|
|
- ./orders-frontend:/app
|
|
- frontend-node-modules:/app/node_modules
|
|
depends_on:
|
|
- api
|
|
|
|
volumes:
|
|
postgres-data:
|
|
gradle-cache:
|
|
frontend-node-modules:
|