
Postal
Mail delivery platform for transactional emails
Deploy Postal in 3 Steps
Connect Your VPS
Add your server credentials to Server Compass
Select Postal
Choose from our template library
Deploy & Configure
Fill in settings and click Deploy
Set Up Postal from Terminal
Get your hands dirty: manual Postal deployment guide for developers.
Connect to Your VPS via SSH
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
Initialize Project Folder
Create a folder to house your Docker Compose configuration.
# Create and navigate to project directory
mkdir -p ~/apps/postal
cd ~/apps/postalCreate Docker Configuration
Define 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 passwordExecute the Deployment
Start 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 --followAllow Network Access
Update 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:5000Don'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
After Deployment
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.
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


