Skip to content

Quick Start

You can go from zero to seeing your first logged email in about 60 seconds.

Prerequisites

  • Docker installed on your server or local machine
  • A password for the admin UI

Start SeeSee

Run SeeSee with a single command:

Terminal window
docker run -d \
--name seesee \
-p 8080:8080 \
-p 2525:2525 \
-e SEESEE_ADMIN_PASSWORD=your-secure-password \
-v seesee-data:/data \
ghcr.io/brandonjp/seesee-email:latest

This starts both the HTTP server (port 8080) and the SMTP ingest server (port 2525).

With Docker Compose

Create a docker-compose.yml:

services:
seesee:
image: ghcr.io/brandonjp/seesee-email:latest
container_name: seesee
restart: unless-stopped
ports:
- "8080:8080"
- "2525:2525"
volumes:
- seesee-data:/data
environment:
SEESEE_ADMIN_PASSWORD: "your-secure-password"
volumes:
seesee-data:
Terminal window
docker compose up -d

Log in to the Web UI

Open http://localhost:8080 in your browser.

Log in with:

  • Username: admin (default, configurable via SEESEE_ADMIN_USERNAME)
  • Password: the value you set for SEESEE_ADMIN_PASSWORD

SeeSee login screen

You’ll see the dashboard with onboarding steps to guide you through setup.

SeeSee dashboard with onboarding steps

Create an app

Apps represent the services that send email through SeeSee. Each app gets its own API key and SMTP credentials.

  1. Navigate to Apps in the sidebar
  2. Click Create your first app
  3. Enter a name and choose a body storage mode
  4. Copy the API key shown — it’s only displayed once

Creating a new app in SeeSee

Or create one via the API:

Terminal window
curl -X POST http://localhost:8080/api/v1/apps \
-u admin:your-secure-password \
-H "Content-Type: application/json" \
-d '{"name": "My Website"}'

The response includes your API key (ss_...) and SMTP credentials. Save them somewhere safe — you won’t see the key again.

Log your first email

Via REST API

Terminal window
curl -X POST http://localhost:8080/api/v1/log \
-H "Authorization: Bearer ss_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"to": ["user@example.com"],
"from": "app@example.com",
"subject": "Hello from SeeSee!",
"body_text": "This is a test email logged via the REST API.",
"status": "sent",
"provider": "manual"
}'

Via SMTP

Point any SMTP client at SeeSee:

  • Host: localhost (or your server IP)
  • Port: 2525
  • Username: the SMTP username from app creation
  • Password: the SMTP password from app creation
  • TLS: not required (for local/internal use)

Verify it works

Check that your email was logged:

Terminal window
curl http://localhost:8080/api/v1/emails \
-u admin:your-secure-password

Or open the Emails page in the Web UI to see your logged email with subject, recipients, status, and a preview of the body.

Keyboard shortcuts

SeeSee has keyboard shortcuts for navigating the email list without touching your mouse. Press ? anywhere in the app to see them.

Keyboard shortcuts modal

KeyAction
/Focus search
jNext email
kPrevious email
EnterOpen selected email
EscClose / deselect
?Show shortcuts

Next steps