This repository contains a minimal ingestion backend for WP6.
- PostgreSQL 16 (metadata storage)
- MinIO (S3-compatible object storage)
- FastAPI backend
- React frontend
- Health check endpoint
- File upload to MinIO
- File metadata persistence in PostgreSQL
- File listing API
Direct browser downloads via MinIO presigned URLs are intentionally disabled during early development. Reason:
- Presigned URLs require a stable public hostname
- This will be introduced later via Nginx / reverse proxy
- Docker + Docker Compose
- Python 3.11+ (for local development)
From the repo root:
python -m venv .venvActivate the venv:
# Windows (PowerShell)
.venv\Scripts\Activate.ps1
# macOS/Linux
source .venv/bin/activateInstall requirements:
pip install -r backend/requirements.txtcd infra
docker compose up -d --build
or
docker compose up -d docker compose downif you want to delete volumes (erase data)
docker compose down -vThe backend runs inside a Docker container. To view its logs in real time, use:
docker logs -f lecolaz-backendThe frontend is built with React and runs separately in development.
cd frontend
npm install
npm run dev- Backend: FastAPI docs at http://localhost:8000/docs
- MinIO: UI at http://localhost:9001 (user
lecolaz, passwordlecolaz123) - PostgreSQL: Connect with any client (e.g. DBeaver) using host
localhost, port5432, databaselecolaz, userlecolaz, passwordlecolaz