cmail-mta / cmail

SQLite-backed mail processing suite
BSD 2-Clause "Simplified" License
50 stars 2 forks source link

Create a Dockerfile #60

Open Immortalin opened 6 years ago

Immortalin commented 6 years ago

Cmail looks really nice :) Thanks for building it, a dockerfile would make deployment significantly easier.

cbdevnet commented 6 years ago

Thanks for your interest! I'm not that big a fan of docker, but it shouldn't be too hard to do :) I'll look into it

Immortalin commented 6 years ago

@cbdevnet why do you not like docker? It's similar to cmail in spirit, makes concepts introduced by stuff like BSD jails much more accessible etc.

cbdevnet commented 6 years ago

I mostly think its an overhyped, over-commercialised wrapper over concepts that work pretty well on their own (namespaces, etc), but I accept the reality that people seem to like it :).

I guess it has too much of the "framework" feel to it, which I am especially weary of in software development ;)

cbdevnet commented 6 years ago

There is now a dockerfile in the docker/ directory within the repo. I have only done cursory testing, but the daemons are built and run at least.

There is still a problem generating the temporary snakeoil TLS key material within docker build, we should probably pull in / generate an external OpenSSL configuration for that (you can sidestep it by passing in a certificate from the host). Might be nice to integrate a semi-automatic Lets Encrypt process somehow.

The service supervisor is currently a crude bash script, this could probably be done nicer.

The core database is mounted into the container via a volume, we might need to see what the best route for interaction with the admin tools is in this case (Run bash in container? Pass arguments to docker run? Modify db on host?).