All Projects → chrisdone → duta

chrisdone / duta

Licence: other
No description, website, or topics provided.

Programming Languages

haskell
3896 projects
Dockerfile
14818 projects
c
50402 projects - #5 most used programming language
CSS
56736 projects

duta

A mail service written in Haskell

Components

  • duta-model - the library which reads/writes email to a PostgreSQL database. Provides the model for all other components.
  • duta-smtp-receiver - a simple server which receives mail on SMTP (port 25)
  • duta-web - a web service which provides a simple web interface and JSON API.
  • duta-types - shared types between the various packages.
  • spf - a binding to the libspf2 C library for validating SPF records. Prevents some spam.

Deploying

See Spinning up a Duta mail server on DigitalOcean.

Building

Make the image in which you can build duta, it contains the dependencies required to build duta:

$ docker image build -t chrisdone/duta-build docker -f docker/build.Dockerfile

You should now have chrisdone/duta-build on your machine.

Compile the project:

$ docker image build -t chrisdone/duta-deploy docker -f docker/deploy.Dockerfile

You should now have an image chrisdone/duta-deploy on your machine with the deploy.

$ docker images chrisdone/duta-deploy
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
chrisdone/duta-deploy   latest              e1cfecaf22b6        2 minutes ago       327MB

The executables are there ready to run under /opt/duta/:

$ docker run --rm chrisdone/duta-deploy ls /opt/duta/
duta-smtp-receiver
duta-web
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].