Skip to content

Lightweight web server for multi-tenant applications with on-demand process management, regional routing, and Vector integration

License

Notifications You must be signed in to change notification settings

rubys/navigator

Repository files navigation

Navigator

A lightweight web server for multi-tenant applications with on-demand process management. Deploy multiple customers or projects from a single configuration file.

What Can Navigator Do?

  • Process management - On-demand startup, auto-restart, graceful shutdown
  • Multi-tenant hosting - Isolated databases and processes per customer
  • TurboCable WebSockets - Built-in real-time support with 89% memory savings (no Redis needed)
  • Static file serving - High-performance direct filesystem access with try-files
  • Authentication - htpasswd support with flexible exclusions
  • Hot reload - Update configuration without restart
  • Regional routing - Smart routing with Fly-Replay
  • Machine suspension - Auto-suspend idle machines on Fly.io
  • Structured logging - Built-in Vector integration for log aggregation

📚 Full Documentation

Quick Start

Installation

Docker (recommended):

COPY --from=samruby/navigator:latest /navigator /usr/local/bin/navigator
CMD ["navigator", "config/navigator.yml"]

Download Binary:

# Linux (AMD64)
curl -L https://github.com/rubys/navigator/releases/latest/download/navigator-linux-amd64.tar.gz | tar xz

# macOS (ARM64)
curl -L https://github.com/rubys/navigator/releases/latest/download/navigator-darwin-arm64.tar.gz | tar xz

Build from Source:

git clone https://github.com/rubys/navigator.git
cd navigator
make build

Minimal Configuration

Create config/navigator.yml:

server:
  listen: 3000
  public_dir: ./public

applications:
  tenants:
    - name: myapp
      path: /
      working_dir: /path/to/app

Run Navigator

# With config file
./bin/navigator config/navigator.yml

# Reload configuration (no restart)
./bin/navigator -s reload

Documentation

Production Ready

Trusted in production serving 75+ customers across 8 countries with:

  • 81.2% test coverage
  • Cross-platform support (Linux, macOS, Windows)
  • Comprehensive documentation
  • Active development

License

MIT License - see LICENSE file for details.

Links

About

Lightweight web server for multi-tenant applications with on-demand process management, regional routing, and Vector integration

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages