Skip to content

Installation

Detailed installation instructions for Genji Shimada.

Note

If you haven't already, review the Getting Started Overview for prerequisites and initial setup steps.

System Requirements

Minimum Requirements

  • CPU: 2 cores
  • RAM: 4 GB
  • Disk: 5 GB free space
  • OS: Linux, macOS, or Windows with WSL2
  • CPU: 4+ cores
  • RAM: 8+ GB
  • Disk: 10+ GB free space (for Docker images and databases)

Step-by-Step Installation

1. Install Python 3.13+

Using Homebrew:

brew install [email protected]

sudo apt update
sudo apt install python3.13 python3.13-venv python3.13-dev

Download from python.org and run the installer.

Ensure "Add Python to PATH" is checked during installation.

Verify installation:

python3.13 --version

2. Install uv

The project uses uv for fast dependency management:

curl -LsSf https://astral.sh/uv/install.sh | sh
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

Verify installation:

uv --version

3. Install just

just is used as a task runner for common development commands:

brew install just
cargo install just

Or download from GitHub releases.

cargo install just

Verify installation:

just --version

4. Install Docker

Docker is required for running PostgreSQL and RabbitMQ:

Verify installation:

docker --version
docker compose version

5. Clone the Repository

git clone https://github.com/bkan0n/genjishimada.git
cd genjishimada

6. Install Project Dependencies

Run the setup command to install all dependencies:

just setup

This command: 1. Creates virtual environments for all workspaces 2. Installs Python dependencies 3. Sets up development tools (Ruff, BasedPyright, pytest)

7. Configure Local Environment

Copy the local environment template:

cp .env.local.example .env.local

Edit .env.local with your Discord bot token and other settings. The database, RabbitMQ, and MinIO settings are pre-configured for local development.

8. Start Local Infrastructure

Start PostgreSQL, RabbitMQ, and MinIO for local development:

docker compose -f docker-compose.local.yml up -d

Check that services are healthy:

docker compose -f docker-compose.local.yml ps

All services should show status "Up (healthy)".

9. Create MinIO Bucket

Create the S3 bucket in MinIO for image storage:

# Install MinIO client
brew install minio/stable/mc  # macOS/Linux

# Configure and create bucket
mc alias set local http://localhost:9000 genji local_dev_password
mc mb local/genji-parkour-images

10. Import Database (Optional)

To work with real data, import from the VPS:

./scripts/import-db-from-vps.sh dev

This requires SSH access to the VPS. See Getting Started for SSH configuration.

Verification

Verify your installation by running the linters:

just lint-all

All checks should pass (or report only pre-existing issues).

Next Steps