Tuenel is a self-hosted, identity-aware AI gateway for OpenAI-compatible inference and authorized MCP access.
The Apache-2.0 Community edition is fully usable without an account, license, or connection to a Tuenel-operated service. Optional commercial extensions integrate through the public extension contract and do not move existing Community behavior behind a paywall.
Install directly on a Docker host with the short bootstrap command:
curl -fsSL https://install.tuenel.com | shThe command downloads the pinned stable release and opens the installation
wizard. To select a mode without the wizard, pass it after sh -s --:
curl -fsSL https://install.tuenel.com | sh -s -- directThe install.tuenel.com URL is a Cloudflare redirect to the repository's
bootstrap script. See the short installer setup guide
if configuring the domain for a self-hosted deployment.
For a checked-out repository, the equivalent command remains:
./install.shThe installer offers direct HTTP, bundled Traefik, and existing Traefik modes.
Direct mode needs no domain or public IP and publishes the web console on
http://localhost:4050 and the API on http://localhost:4060. The installer
prints a one-time setup link for creating the instance administrator and first
organization; it never stores the plaintext setup token or account password.
Then add a provider and model route in the console. OIDC is optional. Use a
published container version such as TUENEL_VERSION=0.4.2 for stable
deployments. See the
self-hosting guide for TLS, backups, upgrades, OIDC,
development, and PaaS deployment.
For an internet-facing domain with automatic Let's Encrypt TLS, use the production Traefik deployment.
For a gateway running directly on the host, start only PostgreSQL and Redis:
./infra/dev/dev.sh upSee the local development guide. Mock providers remain isolated as internal integration-test fixtures and are not part of the normal development stack.
The gateway reduces AI security risk; it cannot guarantee detection of every prompt injection, jailbreak, secret leak, or malicious MCP response.