Back to Apps
Poste.io

Deploy Poste.io on Your Own Server

Complete mail server built in one container

πŸ“¦ Other

Want to deploy Poste.io on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

What is Poste.io?

SMTP + IMAP + POP3 + Antispam + Antivirus + Web Administration + Web Mail on your server in ca. 5 minutes. **Important notes:** - You may need to open the ports `25`, `110`, `143`, `465`, `587`, `993`, `995` and `4190` on your firewall - You will need access to DNS configuration after deployment - It's recommended to use `mail` as the app name

Learn more

Self-Host Poste.io

Follow these steps to deploy on your own server.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

General
Networking
3

Deploy

Copy the configuration and run it on your server.

services:
  poste_io:
    image: analogic/poste.io:2
    environment:
      DISABLE_CLAMAV: ""
      DISABLE_ROUNDCUBE: ""
      DISABLE_RSPAMD: ""
      HTTPS: OFF
      TZ: UTC
      VIRTUAL_HOST: ""
    volumes:
      - poste_io:/data
    ports:
      - 25:25
      - 110:110
      - 143:143
      - 465:465
      - 587:587
      - 993:993
      - 995:995
      - 4190:4190
volumes:
  poste_io: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:80

Why Self-Host Poste.io?

Full Data Ownership

Your data stays on your servers. No third-party access.

No Monthly Fees

Pay only for your server. No per-seat or usage charges.

Complete Control

Customize, backup, and scale on your own terms.

Privacy & Compliance

Meet GDPR, HIPAA, or internal security requirements.

Technical Details

Docker Image

analogic/poste.io:${POSTE_VERSION}

Official Docs

poste.io

Want to go faster?

Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.

Install on any Linux server:

sh -c "$(curl -sSL https://get.senate.sh)"