Installation (Manual)

Manual setup for local development without Docker.

Tip

Prefer Quick Start (Docker) for faster Docker-based setup.

Prerequisites

  • Python 3.11+

  • PostgreSQL 12+

  • Redis 6+

  • OpenAI-compatible API key

Setup

1. Clone and install dependencies

git clone https://code.europa.eu/regulatory-reporting/lfds.git ai4drpm
cd ai4drpm/backend

poetry install      # or: pip install -r requirements.txt
poetry shell        # activate environment

2. Create PostgreSQL database

CREATE DATABASE ai4drpm;
CREATE USER ai4drpm_dev WITH PASSWORD 'dev_password';
GRANT ALL PRIVILEGES ON DATABASE ai4drpm TO ai4drpm_dev;

3. Configure environment

Create .env in backend directory:

SECRET_KEY=dev-secret-key-change-in-production
DATABASE_URL=postgresql+psycopg2://ai4drpm_dev:dev_password@localhost:5432/ai4drpm
REDIS_URL=redis://localhost:6379/0
CELERY_BROKER_URL=redis://localhost:6379/0
OPENAI_API_KEY=your-api-key-here
ENVIRONMENT=development

4. Initialize database

alembic upgrade head

Run

Start in separate terminals:

# Terminal 1: Celery worker
celery -A ai4drpm.tasks.celery_worker:celery_app worker -l info

# Terminal 2: FastAPI server
python -m fastapi dev ai4drpm/api/api.py

Access API docs at http://localhost:8000/docs

Frontend (Optional)

git clone https://code.europa.eu/regulatory-reporting/eui-frontend.git
cd eui-frontend
npm install
npm start-proxy

Access frontend at http://localhost:4200

Development Commands

pytest tests/                           # Run tests
alembic revision --autogenerate -m "x"  # Create migration
alembic upgrade head                    # Apply migrations

Troubleshooting

  • Module not found: Run pip install -e .

  • Database connection failed: Check PostgreSQL is running, verify DATABASE_URL

  • Redis connection failed: Check Redis is running (redis-cli ping)

  • Port in use: Kill process or use --port 8001