Skip to content

Repository files navigation

Nami

Nami is a personal edge redirect playground with a database-backed control plane, provider-selectable Runtime, optional analytics, and compile-time extensions.

It is maintained for personal use and engineering experiments. It is not a hosted URL-shortening service or an enterprise redirect platform.

What it provides

  • Deploy one Runtime adapter for Cloudflare Workers, Vercel Edge Functions, or Netlify Edge Functions.
  • Manage instance configuration and redirect rules through a Next.js WebUI.
  • Store editable data and analytics in PostgreSQL by default, or select Cloudflare D1 adapters.
  • Keep the Runtime independent from database credentials through validated WebUI snapshots.
  • Compose data sources, repositories, analytics, features, and platform adapters at build time.

Workspace

Project Path Responsibility
Runtime apps/runtime Edge redirect and transparent-proxy data plane
WebUI apps/webui Authentication, editing, revisions, settings, and analytics control plane
Documentation apps/docs Bilingual VitePress user, deployment, operations, and extension guides
Shared packages packages Configuration, database infrastructure, plugin protocols, SDK, host, and build contracts
Official plugins plugins Runtime platforms, data sources and repositories, analytics, and Runtime features

Runtime and WebUI plugins are selected explicitly before build. Remote instance configuration can configure installed code, but it never downloads or executes a new package.

Live endpoints

Local setup

Use Node.js 22 and the pnpm version declared by the repository:

corepack enable
pnpm install --frozen-lockfile

Common entrypoints:

pnpm webui:dev
pnpm runtime:dev:cf
pnpm docs:dev
pnpm database:init

Run pnpm check for the full workspace suite, or use the owner-specific commands documented below. Database initialization, schema updates, and provider deploys are explicit external operations and are not part of builds or checks.

Brand image sources live in assets/brand. After replacing a source file, synchronize and verify its Runtime, WebUI, and documentation outputs:

pnpm assets:sync
pnpm assets:check

Documentation

License

Apache-2.0. See LICENSE.


English · 简体中文

About

Personal edge redirect playground with a database-backed control plane, WebUI, optional analytics, and compile-time adapters for Cloudflare, Vercel, and Netlify.

Topics

Resources

Stars

13 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages