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.


Mail delivery platform for transactional emails
Add your server credentials to Server Compass
Choose from our template library
Fill in settings and click Deploy
Use the Postal template in Server Compass to deploy the web, worker, SMTP, MariaDB, and RabbitMQ services, then verify the Postal login page.
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.

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

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

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

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.

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

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.

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

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 Postal login page loaded through the configured sslip.io hostname, and the web logs showed Puma listening on port 5000.
It deploys Postal web, worker, SMTP, MariaDB, RabbitMQ, a one-shot database/admin bootstrap service, and generated configuration/signing-key files.
The tutorial used host web port 5000, which maps to the Postal web service on container port 5000.
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.
No. The deployment guide should live on the Postal template detail page and be linked from the reusable template deployment docs page.
Get your hands dirty: manual Postal deployment guide for developers.
Fire up your terminal application and establish a connection to your remote server.
# Access your VPS
ssh root@YOUR_SERVER_IP
# With SSH key authentication
ssh -i ~/.ssh/your-private-key root@YOUR_SERVER_IPFirst time? Ensure Docker is installed first: curl -fsSL https://get.docker.com | sh
Create a folder to house your Docker Compose configuration.
# Create and navigate to project directory
mkdir -p ~/apps/postal
cd ~/apps/postalDefine your services in a docker-compose.yml file:
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:
PORTWeb port(default: 5000)SMTP_PORTSMTP port(default: 25)DB_ROOT_PASSWORDRoot passwordStart your containers and verify they're running correctly.
# Launch the stack
docker compose up -d
# Verify container status
docker compose ps
# Follow the logs
docker compose logs --followUpdate UFW rules to allow traffic on the application port.
# Allow the application port through firewall
sudo ufw allow 5000/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:5000Why type commands when you can click? Deploy Postal the easy way with Server Compass.
After deploying Postal with Server Compass, complete these steps to finish setup
Run postal initialize
Create admin user
Configure DNS records
Need help? Check out our documentation for detailed guides.
Common questions about self-hosting Postal
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.
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.
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Postal backup and restore procedures.
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.
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.
Download Server Compass and deploy Postal to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass