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:
| Type | Name | Value |
|---|---|---|
| A | api.yourdomain.com | Your VPS IP |
| A | *.expose.yourdomain.com | Your VPS IP |
| A | *.hosted.yourdomain.com | Your VPS IP |
2. Deploy the Server
SSH into your VPS and run:
# Clone the repositorygit clone https://github.com/basique-industrie/expose /opt/exposecd /opt/expose/deploy
# Copy and edit the environment filecp .env.example .envnano .envEdit the .env file with your settings:
DATABASE_URL=postgres://expose:your-password@postgres:5432/exposePOSTGRES_PASSWORD=your-passwordJWT_SECRET=your-32-char-secretBASE_DOMAIN=yourdomain.comThen start the server:
docker compose up -dVerify it’s running:
curl https://api.yourdomain.com/health3. Install the macOS App
Download Expose from the download page or directly:
# Download the latest releaseopen https://expose.basique.tech/downloadDrag Expose to your Applications folder and open it.
4. Connect to Your Server
- Click the Expose icon in your menu bar
- Go to Settings → Account
- Enter your server URL:
https://api.yourdomain.com - Click Create Account to register
5. Create Your First Tunnel
- Start a local dev server (e.g.,
npm run devon port 3000) - Open the Expose main window
- Find your project in the Projects list
- Click Expose on the running service
Your local server is now available at https://your-subdomain.expose.yourdomain.com!
Next Steps
- Learn about project detection
- Set up deployments
- Configure custom subdomains