DEV Community

Cover image for Fast Guide: Install CapRover + Poste.io Mail Server in 5 Minutes on Ubuntu VPS or Localhost
Ion Iacob for Big Bang Social

Posted on

Fast Guide: Install CapRover + Poste.io Mail Server in 5 Minutes on Ubuntu VPS or Localhost

πŸš€ Why Use CapRover + Poste.io?

  1. Easy Deployment: CapRover offers one-click app deployment, including Docker apps like Poste.io.
  2. Full Mail Server: Poste.io provides a complete mail server solution (SMTP, IMAP, POP3) with ClamAV integration.
  3. Docker-Powered: Both CapRover and Poste.io run on Docker, making it easy to manage, scale, and transport between VPS or devices.
  4. Built-in HTTPS: CapRover allows automatic HTTPS using Let's Encrypt, providing security by default.
  5. Resource Efficiency: Lightweight and optimized for VPS or local environments with minimal overhead.

Image description

Step 1: Install Docker and Docker Compose

First, install Docker and Docker Compose on your system.

  1. Update your system:

    sudo apt update && sudo apt upgrade -y 
  2. Install Docker:

    sudo apt install docker.io -y 
  3. Install Docker Compose:

    sudo apt install docker-compose -y 
  4. Enable Docker service:

    sudo systemctl enable docker sudo systemctl start docker 
  5. Optional: Add your user to the Docker group (so you can run Docker without sudo):

    sudo usermod -aG docker $USER 

    Log out and back in for the changes to take effect.


Step 2: Install CapRover

  1. Run the CapRover installation script:

    docker run -e MAIN_NODE_IP_ADDRESS=YOUR_IP_ADDRESS -e MAIN_NODE_DOMAIN_NAME=YOUR_DOMAIN -v /var/run/docker.sock:/var/run/docker.sock -v /captain:/captain caprover/caprover 
- Replace `YOUR_IP_ADDRESS` with your VPS IP (or `127.0.0.1` for localhost). - Replace `YOUR_DOMAIN` with your domain name or use `captain.localhost` for testing on localhost. 
Enter fullscreen mode Exit fullscreen mode
  1. Access the CapRover dashboard:

    Open your browser and go to http://YOUR_IP_ADDRESS:3000 (or http://localhost:3000 if on localhost).


Step 3: Install Poste.io Mail Server using CapRover

  1. Log into CapRover dashboard and create a new app:
- Go to **Apps** > **Create New App**, name it `Poste` (or any name you prefer). 
Enter fullscreen mode Exit fullscreen mode
  1. Deploy Poste.io with one-click:
- Go to the app you created > **App Configs** > **HTTP Settings**: - Set the root domain or subdomain for your mail server (e.g., `mail.yourdomain.com`). - Go to **App Configs** > **Dockerfile** > **Edit Dockerfile** and add: 
Enter fullscreen mode Exit fullscreen mode
 ```yaml captainVersion: 4 services: app: image: analogic/poste.io ports: - 25:25 - 80:80 - 443:443 - 110:110 - 143:143 - 993:993 - 995:995 - 587:587 - 4190:4190 environment: - "HTTPS=ON" - "VIRTUAL_HOST=mail.yourdomain.com" - "ENABLE_CLAMAV=ON" volumes: - /captain/data/poste/maildata:/data ``` 
Enter fullscreen mode Exit fullscreen mode
  1. Deploy and finalize:
- Click **Save and Update** in CapRover. - Poste.io should now be running at `mail.yourdomain.com`. 
Enter fullscreen mode Exit fullscreen mode

Step 4: Access Poste.io

  1. Access the Poste.io admin dashboard:

    Open your browser and go to https://mail.yourdomain.com/admin (replace yourdomain.com with your actual domain).

  2. Configure your mail server:

Image description
Follow the on-screen instructions to set up your mail server.


Done!

Image description

You've now successfully installed CapRover and Poste.io in just a few minutes on your Ubuntu VPS or localhost. Make sure to configure firewall rules to allow relevant ports (25, 80, 443, 110, 143, 587, etc.).


Additional Notes:

  • For production servers, it's recommended to set up proper DNS records (MX, SPF, DKIM, etc.) for your domain to ensure your mail server works optimally.
  • You can manage your CapRover server and deploy more apps using the CapRover dashboard. """

Top comments (0)