Align the project baseline with the latest admin interface styling and layout structure while documenting setup and usage updates in README.
64 lines
1.6 KiB
YAML
64 lines
1.6 KiB
YAML
services:
|
|
web:
|
|
profiles: ["docker-web"]
|
|
build:
|
|
context: .
|
|
dockerfile: apps/web/Dockerfile
|
|
ports:
|
|
- "5173:5173"
|
|
environment:
|
|
VITE_USE_API_PROXY: "true"
|
|
VITE_API_URL: http://api:8000
|
|
# File-watcher polling for bind-mounted sources on Windows/macOS
|
|
CHOKIDAR_USEPOLLING: "true"
|
|
WATCHPACK_POLLING: "true"
|
|
volumes:
|
|
# Live-reload: mount the whole monorepo so workspace packages stay in sync
|
|
- .:/app
|
|
# Anonymous volumes: keep container-installed node_modules from being
|
|
# overwritten by the host (empty dir or different OS/arch binaries)
|
|
- /app/node_modules
|
|
- /app/apps/web/node_modules
|
|
depends_on:
|
|
- api
|
|
- postgres
|
|
- redis
|
|
- minio
|
|
|
|
api:
|
|
build: ./apps/api
|
|
ports:
|
|
- "8000:8000"
|
|
environment:
|
|
S3_ENDPOINT: http://minio:9000
|
|
STORAGE_MODE: s3
|
|
REDIS_URL: redis://redis:6379/0
|
|
CORS_ORIGINS: '["http://localhost:5173","http://127.0.0.1:5173"]'
|
|
FRONTEND_URL: http://localhost:5173
|
|
PUBLIC_BASE_URL: http://localhost:5173
|
|
COOKIE_SECURE: "false"
|
|
EMAIL_DELIVERY_MODE: memory
|
|
ENABLE_RATE_LIMIT: "true"
|
|
env_file:
|
|
- ./apps/api/.env.example
|
|
- ./apps/api/data/secrets/install.env
|
|
volumes:
|
|
- ./apps/api/data/secrets:/app/data/secrets
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
- minio
|
|
|
|
postgres:
|
|
image: postgres:16
|
|
env_file:
|
|
- ./apps/api/data/secrets/install.env
|
|
redis:
|
|
image: redis:7-alpine
|
|
|
|
minio:
|
|
image: minio/minio
|
|
command: server /data --console-address ":9001"
|
|
env_file:
|
|
- ./apps/api/data/secrets/install.env
|