Back to all templates
Postal logo

Postal

Infrastructure2048MB+ RAM

Mail delivery platform for transactional emails

emailtransactionalsmtp

Deploy Postal in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Postal

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
Step-by-step deployment guide

Deploy Postal on a VPS with Server Compass

Use the Postal template in Server Compass to deploy the web, worker, SMTP, MariaDB, and RabbitMQ services, then verify the Postal login page.

About 10 minutesBrowser verified
1
Step 1

Open the server Apps tab

Select the tutorial-vps VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.

Server Compass Apps tab before creating a Postal app
2
Step 2

Choose an app template

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Choosing to deploy an app from a Server Compass template
3
Step 3

Search for Postal

Use the template picker search to find Postal in the Server Compass template catalog.

Searching for Postal in the Server Compass template picker
4
Step 4

Select the Postal template

Choose the Postal template. Server Compass fills the Postal web, worker, SMTP, MariaDB, RabbitMQ, setup service, configuration, signing key, and required secrets.

Postal template selected in Server Compass
5
Step 5

Review the Postal settings

Confirm the app name, Postal hostname, initial admin credentials, generated secrets, web port, and SMTP port. In this run, the app was named postal-demo and used host web port 5000.

Reviewing Postal project settings and compose services
6
Step 6

Deploy Postal

Review the generated compose settings, confirm the Postal web and SMTP ports are available, and click Deploy.

Reviewing Postal hostname, admin, secret, and port settings before deployment
7
Step 7

Watch the deployment progress

Keep the deployment modal open while Server Compass uploads the compose file, generates Postal config, initializes the database, creates the first admin user, and starts the web, worker, SMTP, MariaDB, and RabbitMQ services.

Server Compass deploying the Postal template on the VPS
8
Step 8

Confirm Postal is running

After deployment finishes, return to the Apps tab and confirm the Postal app is marked Running with its application URL available.

Postal template running in the Server Compass Apps tab
9
Step 9

Open Postal in the browser

Open the application URL in a browser. The Postal login page confirms the admin web service is reachable before you configure real DNS and mail delivery.

The deployed Postal login page loaded in a browser

After Postal Opens

  • Log in with the initial Postal admin credentials created during deployment.
  • Replace the tutorial sslip.io hostname with a real mail hostname before sending production mail.
  • Configure HTTPS, MX, SPF, DKIM, DMARC, and rDNS before adding real sending domains.
  • Create an organization and mail server in Postal, then follow the DNS records Postal shows for that domain.
  • Back up MariaDB and the Postal configuration directory before relying on the instance.

Verified Result

The Postal login page loaded through the configured sslip.io hostname, and the web logs showed Puma listening on port 5000.

Postal deployment questions

What does the Postal template deploy?

It deploys Postal web, worker, SMTP, MariaDB, RabbitMQ, a one-shot database/admin bootstrap service, and generated configuration/signing-key files.

Which port did the tutorial use?

The tutorial used host web port 5000, which maps to the Postal web service on container port 5000.

Does Postal need setup after deployment?

Yes. The deployment creates the first admin account, but production mail delivery still requires real DNS records, rDNS, HTTPS, and Postal organization/mail-server configuration.

Should this become a blog post?

No. The deployment guide should live on the Postal template detail page and be linked from the reusable template deployment docs page.

Manual Setup Guide

Set Up Postal from Terminal

Get your hands dirty: manual Postal deployment guide for developers.

1

Connect to Your VPS via SSH

Fire up your terminal application and establish a connection to your remote server.

terminal
# Access your VPS
ssh root@YOUR_SERVER_IP

# With SSH key authentication
ssh -i ~/.ssh/your-private-key root@YOUR_SERVER_IP

First time? Ensure Docker is installed first: curl -fsSL https://get.docker.com | sh

2

Initialize Project Folder

Create a folder to house your Docker Compose configuration.

terminal
# Create and navigate to project directory
mkdir -p ~/apps/postal
cd ~/apps/postal
3

Create Docker Configuration

Define your services in a docker-compose.yml file:

docker-compose.yml
services:
  postal:
    image: ghcr.io/postalserver/postal:3.3.4
    ports:
      - "5000:5000"
      - "25:25"
    environment:
      - POSTAL_FNAME=Postal
      - POSTAL_LNAME=Admin
      - [email protected]
      - MAIN_DB_HOST=mysql
      - MAIN_DB_USERNAME=root
      - MAIN_DB_PASSWORD=<your-db-root-password>
      - MESSAGE_DB_HOST=mysql
      - MESSAGE_DB_USERNAME=root
      - MESSAGE_DB_PASSWORD=<your-db-root-password>
      - RABBITMQ_HOST=rabbitmq
    volumes:
      - postal_config:/config
      - postal_storage:/storage
    restart: unless-stopped
    depends_on:
      - mysql
      - rabbitmq

  mysql:
    image: mariadb:10.11
    environment:
      - MYSQL_ROOT_PASSWORD=<your-db-root-password>
      - MYSQL_DATABASE=postal
    volumes:
      - mysql_data:/var/lib/mysql
    restart: unless-stopped

  rabbitmq:
    image: rabbitmq:3-management
    restart: unless-stopped

volumes:
  postal_config:
  postal_storage:
  mysql_data:
Environment Variables
PORTWeb port(default: 5000)
SMTP_PORTSMTP port(default: 25)
DB_ROOT_PASSWORDRoot password
4

Execute the Deployment

Start your containers and verify they're running correctly.

terminal
# Launch the stack
docker compose up -d

# Verify container status
docker compose ps

# Follow the logs
docker compose logs --follow
5

Allow Network Access

Update UFW rules to allow traffic on the application port.

terminal
# Allow the application port through firewall
sudo ufw allow 5000/tcp
sudo ufw reload

# Access your app at:
# http://your-server-ip:5000
Skip the Terminal

Don't want to type commands? We've got you.

Why type commands when you can click? Deploy Postal the easy way with Server Compass.

  • No terminal required
  • Point-and-click setup
  • Auto SSL certificates
  • Rolling deployments
  • Health monitoring
  • Instant rollbacks
Download Server Compass$29 one-time • Lifetime license

After Deployment

After deploying Postal with Server Compass, complete these steps to finish setup

1

Run postal initialize

2

Create admin user

3

Configure DNS records

Need help? Check out our documentation for detailed guides.

Postal FAQ

Common questions about self-hosting Postal

How do I deploy Postal with Server Compass?

Simply download Server Compass, connect to your VPS, and select Postal from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.

What are the system requirements for Postal?

Postal requires a minimum of 2048MB RAM. We recommend a VPS with at least 4096MB RAM for optimal performance. Any modern Linux server with Docker support will work.

Can I migrate my existing Postal data?

Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Postal backup and restore procedures.

How do I update Postal to the latest version?

Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Postal image will be pulled and deployed with zero downtime.

Is Postal free to self-host?

Postal is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.

Ready to Self-Host Postal?

Download Server Compass and deploy Postal to your VPS in under 3 minutes. No Docker expertise required.

Download Server Compass