Skip to content

lenguyenthanh/fide

Repository files navigation

Experimental FIDE API

Continuous Integration

How to use

Check Open API docs

Development

Prerequisites:

  • Docker

Run

Also requires JDK 21 with sbt

cp .env.example .env
docker compose up -d

then

sbt backend/run

or

sbt backend/stage
export $(cat .env | xargs) && ./modules/backend/target/universal/stage/bin/backend

Usage

open http://localhost:9669/docs
curl http://localhost:9669/api/players

Database viewer

COMPOSE_PROFILES=adminer docker compose up -d

http://localhost:8180/?pgsql=db&username=admin&db=fide&ns=fide (password: dummy)

Stress test with Gatling

docker compose -f docker-compose.gatling.yml up -d
sbt gatling/gatling:test

Before submitting PR

sbt test
sbt lint

release

sbt release with-defaults

Run without building

You can use a pre-built Docker image from GitHub Container Registry. Here is an example of how to run it with docker-compose:

name: fide

services:

  api:
    image: ghcr.io/lenguyenthanh/fide:latest
    environment:
      - HTTP_SHUTDOWN_TIMEOUT=1
      - POSTGRES_HOST=db
      - POSTGRES_PORT=5432
      - POSTGRES_USER=admin
      - POSTGRES_PASSWORD=dummy
      - POSTGRES_DATABASE=fide
    ports:
      - 9669:9669
    networks:
      - fide_api
    restart: unless-stopped

  db:
    image: postgres:16.2-alpine3.19
    environment:
      POSTGRES_DB: fide
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: dummy
    ports:
      - 5432:5432
    networks:
      - fide_api
    restart: unless-stopped

networks:
  fide_api:
    driver: bridge

Then run:

docker compose up -d