Skip to content

Quick Start

Get SirrMesh up and running in minutes with our one-click installation script.

System Requirements

Hardware Requirements

yaml
System Requirements:
  Operating System: Ubuntu 20.04+ / macOS 12+ / CentOS 8+
  CPU: 2 cores or more
  Memory: 2GB minimum (4GB recommended)
  Storage: 20GB SSD
  Network: 100Mbps

Software Dependencies:
  Go: 1.24+ (only required for compilation)
  Git: Latest version
  Make: Latest version

Required Ports

Ensure the following ports are available:

PortServiceRequired
25SMTPOptional
587SubmissionYes
465SMTPSOptional
993IMAPSYes
143IMAPOptional
8825SMTP AltYes

One-Click Installation

Install and configure SirrMesh with a single command:

bash
# Download and run the installation script
curl -sSL https://raw.githubusercontent.com/sirrmesh/SirrMesh/main/start.sh | bash

The automatic installer will perform the following:

  1. Download and Install - Downloads the sirrmeshd binary for your platform
  2. Domain Configuration - Sets up your mail domain
  3. DNS Provider Setup - Choose from 15 supported providers
  4. TLS Certificates - Automatic ACME DNS-01 challenge setup
  5. Service Management - Creates and starts the systemd service

Supported DNS Providers

The installation script supports automatic TLS certificate configuration with the following DNS providers:

ProviderTypeAuthentication
CloudflareGlobal CDNAPI Token
Amazon Route53AWS DNSAccess Key + Secret
DigitalOceanCloud DNSAPI Token
Google Cloud DNSGCP DNSService Account JSON
VultrCloud DNSAPI Key
HetznerEuropean DNSAPI Token
GandiDomain RegistrarAPI Token
NamecheapDomain RegistrarAPI Credentials
+ 7 moreVariousVarious

Manual Installation

If you prefer manual installation:

1. Build from Source

bash
# Clone the repository
git clone https://github.com/sirrmesh/SirrMesh.git
cd SirrMesh

# Build the binary
make build

# Verify installation
./build/sirrmeshd --help

2. Start the Server

bash
# Run the mail server
./build/sirrmeshd run

# Or use the start.sh script for automatic configuration
./start.sh

Configure Your Mail Client

Use any standard mail client (Thunderbird, Outlook, Apple Mail, etc.) with the following configuration:

Incoming Mail (IMAP):

  • Server: your-domain.com
  • Port: 993
  • Security: SSL/TLS
  • Username: user@example.com
  • Password: your-password

Outgoing Mail (SMTP):

  • Server: your-domain.com
  • Port: 587
  • Security: STARTTLS
  • Username: user@example.com
  • Password: your-password

Send Your First Email

Once configured, you can send and receive emails through your SirrMesh server!

Next Steps

Troubleshooting

Common Issues

Port already in use:

bash
# Check which process is using the port
sudo lsof -i :25
sudo lsof -i :587

# Stop conflicting services
sudo systemctl stop postfix  # Postfix example

TLS certificate issues:

bash
# Check DNS configuration
sirrmeshd dns check

# Verify DNS records
sirrmeshd dns export

Service won't start:

bash
# Check service status
sudo systemctl status sirrmeshd

# View detailed logs
sudo journalctl -u sirrmeshd -n 50

Getting Help


Congratulations! You now have a working SirrMesh server.

Released under the GPL 3.0 License.