Skip to content

helixml/gatewaze

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

218 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gatewaze

License

Open-source people management platform.

Gatewaze is a modular platform for managing people and communities. Out of the box it gives you people management, a public portal, and an admin dashboard — then you extend it with modules to add the capabilities you need. Whether you're running a developer community, a professional association, or any organization, Gatewaze adapts to how you work.


Features

  • People & Member Management -- Manage profiles, organizations, membership tiers, and track engagement across your community.
  • Admin Dashboard -- Full-featured admin interface for managing your organization and members.
  • Public Portal -- A fast, SEO-friendly public site powered by Next.js.
  • Configurable Authentication -- Supports Supabase Auth and OIDC providers for flexible identity management.
  • Email -- Transactional and bulk email via SendGrid or any SMTP provider, with template management.
  • Module System -- Extend the platform through self-contained modules that add UI, API routes, background jobs, and database migrations. Add event management, calendars, registrations, speakers, payments, and more.

Modules

Gatewaze's module system lets you pick the capabilities you need. Modules are selected during onboarding and can be enabled or disabled at any time.

The official open-source module collection lives in the gatewaze-modules repository. You can also create your own modules and load them from local paths, git repos, or uploaded packages. See the Module System Guide for full documentation on creating and managing modules.

Tech Stack

Layer Technology
Admin App React + Vite
Public Portal Next.js
API Server Express
Database PostgreSQL (via Supabase)
Auth Supabase Auth / OIDC
Storage Supabase Storage
Edge Functions Supabase Edge Functions (Deno)
Job Queue Redis + BullMQ
UI Components Radix Themes + Tailwind CSS
Package Manager pnpm (monorepo workspaces)

Architecture

                    +------------------+
                    |     Traefik      |
                    |  Reverse Proxy   |
                    +--------+---------+
                             |
              +--------------+--------------+
              |                             |
    +---------v---------+       +-----------v-----------+
    |   Public Portal   |       |      Admin App        |
    |   (Next.js)       |       |   (React + Vite)      |
    +---------+---------+       +-----------+-----------+
              |                             |
              +--------------+--------------+
                             |
                   +---------v---------+
                   |    API Server     |
                   |    (Express)      |
                   +---------+---------+
                             |
              +--------------+--------------+
              |              |              |
    +---------v---+   +------v------+  +----v--------+
    |  Supabase   |   |    Redis    |  |  Supabase   |
    | (PostgreSQL |   |  + BullMQ   |  |  Storage    |
    |  + Auth)    |   |  (Jobs)     |  |  (Files)    |
    +-------------+   +-------------+  +-------------+

Quick Start

Prerequisites

  • Docker and Docker Compose (v2.20+)
  • GNU Make (pre-installed on macOS and most Linux distributions)

That's it for running with Docker. For development from source, you also need:

Get Your First Environment Running

# Clone the repository
git clone https://github.com/gatewaze/gatewaze.git
cd gatewaze

# Create your environment config from the example
make init

# Start everything
make up

That's it. The first startup takes ~2 minutes while the database initializes. Check status with:

make ps

Everyday Commands

Command Description
make up Start all services (dev mode with hot reload)
make down Stop all services
make reset Stop, remove all volumes, and restart fresh
make logs Tail service logs (Ctrl-C to stop)
make ps Show running containers
make help Show all available commands

Multi-Brand Setup

If you manage multiple brands, place brand configs in a sibling gatewaze-environments repo:

parent-directory/
  gatewaze/               # This repo
  gatewaze-environments/  # Brand-specific .env files
    brand1.local.env
    brand2.local.env

Then pass the brand name before the command:

make brand1 up        # Start the "brand1" brand
make brand1 down      # Stop the "brand1" brand
make brand1 reset     # Reset the "brand1" brand
make brand2 up        # Start a different brand

Access the Services

Services are accessible via Traefik .localhost domains (resolve automatically per RFC 6761) and via direct ports:

Service Traefik URL Direct Port
Admin App http://gatewaze-admin.localhost http://localhost:5274
Public Portal http://gatewaze-app.localhost http://localhost:3100
API Server http://gatewaze-api.localhost http://localhost:3002
Supabase API http://gatewaze-supabase.localhost http://localhost:54321
Supabase Studio http://gatewaze-studio.localhost http://localhost:54323
PostgreSQL -- localhost:54322
Traefik Dashboard -- http://localhost:8080

First Login

  1. Open the admin app at http://gatewaze-admin.localhost (or http://localhost:5274)
  2. Enter the default admin email: admin@example.com
  3. Click "Send Magic Link"
  4. Open Supabase Studio at http://gatewaze-studio.localhost (or http://localhost:54323)
  5. Navigate to Authentication to find the magic link in email logs
  6. Click the magic link to complete sign-in

Supabase Cloud

To use Supabase Cloud instead of self-hosted:

make init
# Edit docker/.env — set SUPABASE_URL, ANON_KEY, SERVICE_ROLE_KEY to your cloud project values

cd docker
docker compose -f docker-compose.cloud.yml up -d

See docs/deployment.md for full deployment options including Kubernetes/Helm.


Development from Source

For contributing or local development without Docker for the app services:

# Install dependencies
pnpm install

# Start infrastructure (Supabase + Redis) via Docker
cd docker
docker compose up -d supabase-db supabase-auth supabase-rest supabase-kong supabase-storage supabase-realtime supabase-edge-functions redis
cd ..

# Start all dev servers
pnpm dev
Service URL
Admin App http://localhost:5173
Public Portal http://localhost:3000
API Server http://localhost:4000

See docs/development.md for the full development setup guide.


Project Structure

gatewaze/
  Makefile            # Development commands (make up, make down, etc.)
  packages/
    admin/            # React + Vite admin application
    portal/           # Next.js public event portal
    api/              # Express API server + BullMQ worker + scheduler
    shared/           # Shared types, utilities, and constants
  supabase/
    migrations/       # Database migrations (auto-applied on first startup)
    functions/        # Supabase Edge Functions (Deno)
  docker/
    docker-compose.yml            # Full stack (self-hosted Supabase)
    docker-compose.cloud.yml      # App services only (Supabase Cloud)
    docker-compose.quickstart.yml # Pre-built images (no build step)
    .env.example                  # Docker environment configuration
  helm/               # Kubernetes Helm chart
  docs/               # Project documentation

Documentation

Detailed documentation is available in the docs/ directory:

Contributing

We welcome contributions from the community! Please read our Contributing Guide before getting started.

Key points:

License

Gatewaze is licensed under the Apache License 2.0.

Copyright 2026 Gatewaze Contributors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

See NOTICE for third-party attributions and TRADEMARK.md for trademark usage policy.

Built With

Gatewaze is made possible by these outstanding open-source projects:

  • Supabase -- The open-source Firebase alternative powering our database, auth, storage, and edge functions.
  • React -- The library behind the admin interface.
  • Next.js -- The framework powering the public event portal.
  • Vite -- Fast build tooling for the admin app.
  • Express -- The API server framework.
  • BullMQ -- Reliable job queue for background processing.
  • Radix Themes -- Beautiful, accessible UI components.
  • Tailwind CSS -- Utility-first CSS framework.

About

Open-source event management platform

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 90.3%
  • JavaScript 5.5%
  • PLpgSQL 2.0%
  • CSS 1.2%
  • Shell 0.4%
  • Makefile 0.3%
  • Other 0.3%