2026-02-05 22:05:31 -05:00
2026-01-25 00:06:15 -05:00
2026-01-19 02:07:55 -05:00
2025-10-15 22:03:47 -04:00
2025-10-15 01:25:18 -04:00
2026-02-05 22:03:26 -05:00
2025-10-03 22:10:22 -04:00
2025-11-05 23:39:29 -05:00
2025-11-22 18:00:01 -05:00
2026-01-19 02:07:55 -05:00
2026-01-19 02:07:55 -05:00
2025-02-15 23:04:54 -05:00
2025-12-10 22:14:34 -05:00

Logo

api-gateway Python License Release Last Commit GitHub issues

Doorman API Gateway

Lightweight Python API gateway for REST, SOAP, GraphQL, gRPC, and AI APIs.

Example

Key Features

  • Multi-Protocol Support: REST, SOAP, GraphQL, gRPC, and AI APIs
  • Security: User management, authentication, authorization, roles & groups
  • Traffic Control: Rate limiting, throttling, dynamic routing, credits
  • Caching & Storage: Redis caching, MongoDB integration, or in memory
  • Validation: Request payload validation and logging

Quick Demo

Run a local demo instance in seconds.

# Clone and launch instantly
cp .env.example .env
docker compose -f docker-compose.yml -f docker-compose.demo.yml up --build
  • Web UI: http://localhost:3000
  • Admin: demo@doorman.dev / DemoPassword123!
  • Mode: Memory mode (no external DB)

Self-Hosting

Deploy with Docker. Production mode requires Redis and MongoDB.

1. Environment Configuration

Copy the template and set your secrets.

cp .env.example .env
# Set: DOORMAN_ADMIN_EMAIL, DOORMAN_ADMIN_PASSWORD, JWT_SECRET_KEY

2. Choose Storage

  • Memory (default): development and tests.
  • Redis + MongoDB: production.

3. Launch

# Standard launch
docker compose up -d

# Production launch (Redis + MongoDB)
docker compose --profile production up -d

Configuration

Core Environment Variables

Variable Required Description
DOORMAN_ADMIN_EMAIL Yes Initial administrator email
DOORMAN_ADMIN_PASSWORD Yes Admin password (min 12 chars)
JWT_SECRET_KEY Yes Secret for signing access tokens
NEXT_PUBLIC_GATEWAY_URL No Frontend API target (Defaults to same origin)

Persistence & Performance

  • Redis: set MEM_OR_EXTERNAL=REDIS to enable caching/rate limiting.
  • MongoDB: set MONGO_DB_HOSTS=mongo:27017 (and credentials) to persist configurations and users.
  • Volumes: Docker-managed volumes (doorman-generated, doorman-logs). Use docker compose down -v to reset.

Repository Structure

doorman/
├── backend-services/    # Python Gateway Engine (FastAPI)
├── web-client/         # Next.js Dashboard
├── user-docs/          # Technical Guides & Runbooks
├── scripts/            # Build & Maintenance tools
└── ops/                # Infrastructure & Docker config

Documentation

Deep-dive into our guides for advanced setups:


License

Copyright © Doorman Dev, LLC Licensed under the Apache License 2.0.

Review the Security Hardening Guide before production deployment.

Description
A Python Cloud Native Gateway for AI, REST, SOAP, GraphQL, and gRPC APIs
Readme Apache-2.0 6.5 MiB
Languages
Python 70.2%
TypeScript 24.3%
CSS 4%
Shell 0.6%
JavaScript 0.5%
Other 0.3%