Skip to content

Quick Start

This guide will help you deploy VaultSandbox and send your first test email in under 5 minutes using VSX DNS - automatic domain assignment with no DNS configuration required.

Before you begin, ensure you have:

  • Docker and Docker Compose installed
  • Public IP address with ports 25, 80, and 443 accessible (no NAT/firewall blocking)

That’s it! No domain registration or DNS configuration needed.

Step 1: Create Docker Compose Configuration

Section titled “Step 1: Create Docker Compose Configuration”

Create a new directory for VaultSandbox:

Terminal window
mkdir vaultsandbox && cd vaultsandbox

Create a docker-compose.yml file with just 1 environment variable:

services:
gateway:
image: vaultsandbox/gateway:latest
container_name: vaultsandbox-gateway
restart: unless-stopped
ports:
- '25:25' # SMTP
- '80:80' # HTTP (ACME + VSX verification)
- '443:443' # HTTPS (Web UI + API)
environment:
VSB_VSX_DNS_ENABLED: 'true'
volumes:
- gateway-data:/app/data
healthcheck:
test: ['CMD', 'curl', '-f', 'http://localhost:80/health']
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
volumes:
gateway-data:
Terminal window
docker compose up -d

Check that the service is running:

Terminal window
docker compose ps

You should see the vaultsandbox-gateway container running.

Your domain is automatically assigned based on your public IP. Find it by:

Option A: Enter your IP at vsx.email

Option B: Check the certificate metadata:

Terminal window
docker compose exec gateway cat /app/data/certificates/metadata.json; echo

Your domain will look like 1mzhr2y.vsx.email.

Retrieve your auto-generated API key:

Terminal window
docker compose exec gateway cat /app/data/.api-key; echo

Open your browser and navigate to:

https://YOUR-DOMAIN.vsx.email/app

You’ll be prompted to enter your API key:

API Key Input

In the web UI:

  1. Click “Create Inbox” button
  2. Copy the generated email address (e.g., a1b2c3d4@1mzhr2y.vsx.email)
  3. Your inbox is ready to receive emails

That’s it! Your inbox will automatically capture any emails sent to that address.

Create Inbox

Send a test email to your inbox address using any email client or SMTP tool:

Terminal window
# Using swaks (SMTP testing tool)
swaks --to a1b2c3d4@1mzhr2y.vsx.email \
--from test@yourdomain.com \
--server 1mzhr2y.vsx.email \
--port 25 \
--h-Subject "Test Email" \
--body "Hello from VaultSandbox!"

Or simply use your regular email client (Gmail, Outlook, etc.) and send to the inbox address.

Go back to the web UI and you should see your email appear in the inbox:

Inbox View

Click on it to view:

  • Full email content (HTML and plain text)
  • All headers
  • Extracted links
  • Authentication results (SPF, DKIM, DMARC)
  • Attachments

Email Detail View

To confirm VaultSandbox is testing like production, check the authentication results:

  1. Send an email from a domain you control with proper SPF/DKIM setup
  2. View the email in VaultSandbox
  3. Check the Authentication section
  4. You should see real SPF, DKIM, and DMARC verdicts

Now that VaultSandbox is running, explore more features:

  1. Check ports are accessible: Ports 25, 80, and 443 must be publicly reachable

    Terminal window
    # From another machine, test connectivity
    nc -zv YOUR_SERVER_IP 25
    nc -zv YOUR_SERVER_IP 80
    nc -zv YOUR_SERVER_IP 443
  2. Check logs:

    Terminal window
    docker compose logs gateway
  3. Verify VSX DNS is enabled: Ensure VSB_VSX_DNS_ENABLED: 'true' is set

  1. Check SMTP Port: Ensure port 25 is not blocked by your hosting provider

    Terminal window
    telnet YOUR-DOMAIN.vsx.email 25
  2. Check Logs:

    Terminal window
    docker compose logs gateway
  1. Check if service is running:

    Terminal window
    docker compose ps
  2. Check logs:

    Terminal window
    docker compose logs gateway
  3. Verify HTTPS is ready: Check logs for “Certificate obtained successfully”

  4. Try HTTP first: If HTTPS isn’t working yet, try http://YOUR-DOMAIN.vsx.email/app