Skip to content

About OpenWard

Philosophy

OpenWard was built around one idea:

Infrastructure should be simple to deploy and easy to understand.

Rather than depending on external services like Redis or PostgreSQL, OpenWard keeps everything inside a single executable.

The result is a lightweight reverse proxy that can be deployed almost anywhere with minimal setup.


Why a Reverse Proxy?

Instead of adding rate limiting logic to every application, OpenWard centralizes request handling.

Clients send requests to OpenWard.

OpenWard authenticates the client, applies the configured rate limit, logs the request, and forwards it to the upstream service.

This keeps applications simpler while ensuring rate limits are enforced consistently.


Why SQLite?

SQLite is an incredibly capable database.

Running in WAL mode, it provides durable storage, excellent read concurrency, crash recovery, and requires no external server.

For OpenWard's workload, SQLite offers the right balance between simplicity and performance.


Single Binary

OpenWard embeds everything needed to run:

  • HTTP server
  • Reverse proxy
  • Rate limiter
  • SQLite database
  • Web dashboard (coming soon)

There are no external runtime dependencies.

Download the binary, run it, and you're ready to go.


Architecture

Client
   │
   ▼
OpenWard
   │
   ▼
Authentication
   │
   ▼
Rate Limiter
   │
   ▼
Request Logging
   │
   ▼
Reverse Proxy
   │
   ▼
Upstream Service

Each component has a single responsibility, keeping the codebase modular and easy to maintain.


Goals

OpenWard aims to be:

  • Simple
  • Fast
  • Self-hosted
  • Reliable
  • Easy to deploy
  • Easy to understand

Rather than competing with large API gateways, OpenWard focuses on solving one problem well: protecting APIs with configurable rate limiting.