Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 17 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Flagger

A Discord HTTP bot for flag animation rendering.
A Discord HTTP bot for flag animation rendering. This is my participation to the 2025 Discord Developers Buildathon.

<img src="/art/custom_flag.png" width="500" center alt="Custom Flag Example"/>

Expand All @@ -10,8 +10,8 @@ This project integrates [flagwaver](https://github.com/krikienoid/flagwaver) as

## Technology Stack

- **py-cord** (v2.7.0rc2): Discord API wrapper
- **pycord-rest** ([Paillat-dev/pycord-rest](https://github.com/Paillat-dev/pycord-rest)): rest bot implementation for py-cord
- **py-cord**: Discord API wrapper
- **pycord-rest** ([Paillat-dev/pycord-rest](https://github.com/Paillat-dev/pycord-rest)): rest (http interactions) bot implementation for py-cord
- **Playwright**: Browser automation for rendering
- **MoviePy**: Video processing
- **Pydantic**: Configuration and data validation
Expand Down Expand Up @@ -48,7 +48,7 @@ uv run ty check .

### Code Standards

All code is strictly typed and must pass type checking. The project enforces comprehensive linting rules with select exceptions defined in `pyproject.toml`.
All code is strictly typed and must pass type checking. The project enforces comprehensive linting rules with select exceptions defined in `pyproject.toml`. Any pull request must pass all checks before merging.

## Configuration

Expand Down Expand Up @@ -98,6 +98,18 @@ uv run python -m src

The project includes a `Dockerfile` for containerized deployment and `compose.yaml` for local development.

### Using the pre-built Docker image

Pull the latest image:
```bash
docker pull ghcr.io/paillat-dev/flagger:master
```

Run the container:
```bash
docker run --env-file .env ghcr.io/paillat-dev/flagger:master
```

### Building and Running with Docker

Build the image:
Expand All @@ -107,7 +119,7 @@ docker build -t flagger .

Run the container:
```bash
docker run --env-file .env -p 8000:8000 flagger
docker run --env-file .env flagger
```

### Local Development with Docker Compose
Expand All @@ -121,7 +133,6 @@ The compose configuration includes:
- Automatic restart on source code changes in `src/`
- Image rebuild on Dockerfile changes
- Environment variable loading from `.env` file
- Port mapping for the HTTP server

## License

Expand Down