Skip to content

SanjinDedic/agent_games

Repository files navigation

Agent Games

A multi-game agent simulation platform where students and teams submit code agents that compete in game simulations.

Frontend

React Redux React Router Monaco Editor

Backend

Python FastAPI Pydantic SQLModel PostgreSQL Gunicorn uv Tests codecov

Containers

All Python services use lightweight two-stage Alpine builds. Dependencies are compiled in a builder stage and only the virtual environment is copied into the final image, keeping containers at ~400MB (API) compared to ~1.6GB for the full Debian-based Python image.

Docker Docker

Setup

Prerequisites: Docker

git clone https://github.com/SanjinDedic/agent_games.git
cd agent_games
docker compose up --build

That's it. The .env file ships with safe local defaults — no configuration needed.

The database initializes automatically on first startup.

Running Tests

docker compose -f docker-compose.yml -f docker-compose.test.yml run --rm test-runner

Production

For production, override the .env values with real credentials:

POSTGRES_PASSWORD=<real password>
SECRET_KEY=<real secret>
DATABASE_URL=postgresql+psycopg://postgres:<real password>@postgres:5432/agent_games

Remove the command: line from the api service in docker-compose.yml to switch from dev uvicorn to gunicorn with 3 workers.

Service Management

docker compose logs -f api     # View logs
docker compose down            # Stop all services
docker compose down -v         # Stop and delete database data

About

Secure, extensible agent competition platform API build with FastAPI, SQLmodel, Pydantic and Docker

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors