/docker-sendportal

Dockerized SendPortal.

Primary LanguageDockerfile

Docker SendPortal

This repo contains the dockerized version of SendPortal, an open-source self-hosted email marketing. The docker flow is opinionated but you can use it as reference to make something of your own. All docker-related files are stored inside docker directory.

To start the setup:

  1. Make sure you have docker installed. Check docker documentation if you haven't: https://docs.docker.com/engine/install/
  2. Create a .env file based on .env.sample. Adjust the content of your .env according to your need.
  3. Run the script: ./run.sh

The script will use environment variables from .env and builds a docker image called sendportal based on docker/Dockerfile. It will also run a redis and nginx container, namely sendportal_redis and sendportal_nginx. Lastly, the script will trigger the sendportal setup command using artisan sp:setup which asks for few details like domain name, database informations (if not provided yet), etc.

Once completed, you can access your SendPortal at http://localhost:9000.

Here's some screenshots of SendPortal running in localhost using docker:

send portal screenshots send portal template example

1. Why SendPortal?

  • The interface is clean
  • The workflow is not so complicated; create campaign, send campaign, monitor campaign, repeat
  • Good alternative if you want a DIY solution and cheaper to mailchimp
  • It's open-source!

2. Why dockerizing it?

  • You just want to quickly run the tool
  • You don't want to deal with setting up the dependencies
  • You want a flow that can be easily replicated

3. Why run.sh?

  • It's easier for me because I can just arrange the commands based on my need (hey, it's opinionated!)
  • I don't have to install docker-compose
  • It works out of the box on most platforms (ubuntu, macOS, or Windows via Git Bash or WSL)

4. Is there any alternative to SendPortal?

  • I tried Mailtrain but the flow is a bit confusing to me. And it seems to send queued emails at a slower rate (I once scheduled ~10k emails and it took 1 hour to finish).
  • I checked phplist but the UI seems too crowded for me.

5. Where can I learn more about SendPortal features?

6. Do you have a demo?

That's it. Hope it helps!