Skip to main content

Quickstart

The catalog ships a working docker-compose.yml you can use as the base for a local environment. The container is published as ghcr.io/evilflowerscatalog/evilflowerscatalog.

Boot the catalog

git clone https://github.com/EvilFlowersCatalog/EvilFlowersCatalog.git
cd EvilFlowersCatalog
docker compose up -d

# Import currencies and languages, set up scheduled jobs.
docker compose exec django python manage.py setup

# Create the first superuser.
docker compose exec django python manage.py createsuperuser

The catalog is now reachable on http://localhost:8000. The OPDS 1.2 feed lives at /opds/v1.2/:catalog, OPDS 2.0 at /opds/v2/, and the REST API under /api/v1/.

From source (with Poetry)

python -m venv venv && source venv/bin/activate
poetry install
cp .env.example .env # configure a JWK and credentials
python manage.py migrate
python manage.py setup
python manage.py createsuperuser
python manage.py runserver

Generate the JWK via mkjwk.org and keep it private.

Adding the portal

The student / staff UI lives in elvira-portal. Point its ELVIRA_BASE_URL at the catalog you just booted, pick a theme (fiit, ku, …), and npm run start.

Next steps