Skip to content

Introduction

Welcome to Expose

Expose is a self-hosted platform for sharing your local development servers with the world and deploying containerized applications to your own infrastructure.

What is Expose?

Expose consists of two components:

  1. A server that runs on your VPS, handling tunnel connections and deployments
  2. A macOS app that manages tunnels and provides a beautiful interface for your development workflow

Together, they let you:

  • Share localhost with clients, teammates, or the world via public URLs
  • Deploy projects to your own server with one click
  • Keep your data on your own infrastructure

Why Expose?

Unlike SaaS tunnel services, Expose gives you full control:

  • Self-hosted: Your server, your data, your rules
  • No rate limits: Only limited by your server’s capacity
  • Custom domains: Use your own domain with wildcard TLS
  • Privacy: Traffic routes directly through your infrastructure

Server Setup

Learn how to deploy the server on your VPS in the Server Setup section.

macOS App

Discover all features of the native app in the macOS App section.

API Reference

Integrate with Expose programmatically using the API Reference.

How It Works

┌─────────────────┐ ┌──────────────────┐
│ macOS App │◄───────►│ Your VPS │
│ │ wss │ │
│ localhost:3000 │ │ expose-server │
└─────────────────┘ └────────┬─────────┘
┌──────────────────┐
│ Public Internet │
│ │
│ https://myapp │
│ .expose.you.com │
└──────────────────┘
  1. The macOS app connects to your server via WebSocket
  2. You expose a local port (e.g., localhost:3000)
  3. The server assigns a public URL (e.g., https://myapp.expose.you.com)
  4. Visitors access your local server through that URL

Next Steps

Ready to get started? Follow the Quick Start guide to set up Expose in minutes.