Hacker News new | ask | show | jobs
by KronisLV 4 days ago
> A good starting point would be docker-mailserver which is a full mailserver suite deployable via Docker with sane defaults.

I am running Docker Mailserver because it's one of the very few options that were actually easy to administer: https://docker-mailserver.github.io/docker-mailserver/latest...

But the last release was like a year ago: https://github.com/docker-mailserver/docker-mailserver/relea... and same with the container that was published: https://hub.docker.com/r/mailserver/docker-mailserver/tags

I guess there is the edge version and more recent commits, and overall it should be stable, but you'd think there'd be more small patch releases to decrease the eventual risk of CVEs. Either way, cool that it exists.

1 comments

Why would docker be a good solution for an email server? Why would you run it in a pseudo-vm?
Because I already run everything else, including databases and web servers alongside apps in containers.

I don’t want to have to install packages on the host system or pollute it with configs in case I need to get rid of something or migrate the OS separately from the software. I don’t want a complex backup story, just a /data mount for all of my stuff. I also sure as hell don’t want to copy random configs or add other config management systems into the mix. I also don’t want to have to configure cgroups or resource limits per thing I’m running. I also want to be able to version the config and deploy it easily wherever needed, and sure as hell don’t want to set it up manually; Ansible is passable but less convenient than just a Docker Compose or Swarm stack. Generally, I keep the apps separate from the more bare host system.

Especially useful when you can easily tell what is transient data vs actual data you need to store longer term per-app, alongside custom port setup across all apps and not needing to care much about individual config formats, in addition to being able to run different versions alongside one another.

Nix or other methods would probably also work for folks, but Docker (OCI) containers just get out of my way and do the thing.