Skip to content

Quick Start

This guide walks you through setting up Expose from scratch. By the end, you’ll have a working tunnel to share your localhost.

Prerequisites

Before you begin, make sure you have:

  • A VPS with Docker installed (Ubuntu/Debian recommended)
  • A domain name you control
  • macOS 14.0 (Sonoma) or later

1. Set Up DNS

Point these DNS records to your VPS IP address:

TypeNameValue
Aapi.yourdomain.comYour VPS IP
A*.expose.yourdomain.comYour VPS IP
A*.hosted.yourdomain.comYour VPS IP

2. Deploy the Server

SSH into your VPS and run:

Terminal window
# Clone the repository
git clone https://github.com/basique-industrie/expose /opt/expose
cd /opt/expose/deploy
# Copy and edit the environment file
cp .env.example .env
nano .env

Edit the .env file with your settings:

Terminal window
DATABASE_URL=postgres://expose:your-password@postgres:5432/expose
POSTGRES_PASSWORD=your-password
JWT_SECRET=your-32-char-secret
BASE_DOMAIN=yourdomain.com

Then start the server:

Terminal window
docker compose up -d

Verify it’s running:

Terminal window
curl https://api.yourdomain.com/health

3. Install the macOS App

Download Expose from the download page or directly:

Terminal window
# Download the latest release
open https://expose.basique.tech/download

Drag Expose to your Applications folder and open it.

4. Connect to Your Server

  1. Click the Expose icon in your menu bar
  2. Go to SettingsAccount
  3. Enter your server URL: https://api.yourdomain.com
  4. Click Create Account to register

5. Create Your First Tunnel

  1. Start a local dev server (e.g., npm run dev on port 3000)
  2. Open the Expose main window
  3. Find your project in the Projects list
  4. Click Expose on the running service

Your local server is now available at https://your-subdomain.expose.yourdomain.com!

Next Steps