docker-postal/README.md

112 lines
3.8 KiB
Markdown
Raw Normal View History

# hub.docker.com/r/tiredofit/postal
# Introduction
Dockerfile to build a [Postal](https://github.com/atech/postal) SMTP server for sending and receiving SMTP / HTTP API email.
* This Container uses a [customized Alpine base](https://hub.docker.com/r/tiredofit/debian) which includes [s6
overlay](https://github.com/just-containers/s6-overlay) enabled for PID 1 Init capabilities, [zabbix-agent](https://zabbix.org) for
individual container monitoring, Cron also installed along with other tools (bash,curl, less, logrotate, nano, vim) for easier
management.
[Changelog](CHANGELOG.md)
# Authors
- [Dave Conroy](https://github.com/tiredofit/)
# Table of Contents
- [Introduction](#introduction)
- [Changelog](CHANGELOG.md)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Quick Start](#quick-start)
- [Configuration](#configuration)
- [Data Volumes](#data-volumes)
- [Environment Variables](#environmentvariables)
- [Maintenance](#maintenance)
- [Shell Access](#shell-access)
- [References](#references)
# Prerequisites
2018-07-15 12:08:45 +08:00
- [RabbitMQ Server](https://github.com/tiredofit/docker-rabbitmq)
- [MariaDB Server](https://github.com/tiredofit/docker-mariadb)
- [Spamassassin](https://github.com/tiredofit/docker-spamassassin) *optional*
- [Clam Antivirus](https://github.com/tiredofit/docker-clamav) *optional*
# Installation
2018-07-15 12:08:45 +08:00
Automated builds of the image are available on [Registry](https://hub.docker.com/r/tiredofit/postal) and is the recommended method of
installation.
```bash
docker pull hub.docker.com/tiredofit/postal:(imagetag)
```
The following image tags are available:
* `latest` - Most recent release of postal w/Alpine Linux 3.7
# Quick Start
* The quickest way to get started is using [docker-compose](https://docs.docker.com/compose/). See the examples folder for a working
[docker-compose.yml](examples/docker-compose.yml) that can be modified for development or production use.
* Set various [environment variables](#environment-variables) to understand the capabilities of this image.
* Map [persistent storage](#data-volumes) for access to configuration and data files for backup.
# Configuration
### Environment Variables
Along with the Environment Variables from the [Base image](https://hub.docker.com/r/tiredofit/alpine), below is the complete list of
available options that can be used to customize your installation.
| Parameter | Description |
|-----------|-------------|
| `$DB_HOST` | Hostname of MariaDB Container |
| `$DB_NAME` | Name of MariaDB Database |
| `$DB_USER` | Database Username |
| `$DB_PASS` | Password for Above User |
| `$DB_PORT` | MariaDB Server Port - Default `3306`
| `$DB_ROOT_PASS` | Needed for first boot - Assigns privileges to $DB_USER. MySQL Root Pass |
| `$RABBITMQ_HOST` | RabbitMQ Hostname or Container |
| `$RABBITMQ_VHOST` | RabbitMQ VHost shard |
| `$RABBITMQ_USER` | RabbitMQ Username |
| `$RABBITMQ_PASS` | RabbitMQ Password |
| `$RABBITMQ_PORT` | RabbitMQ Port - Default `5672` |
| `ENABLE_CLAMAV` | Enable ClamAV `true` or `false` - Default `false` |
| `ENABLE_SPAMASSASSIN` | Enable Spamassassin `true` or `false` - Default `false` |
| `CLAMAV_HOST` | Hostname of Clamd Server |
| `SPAMASSASSIN_HOST` | Hostname of Spamassassin Server |
| `CLAMAV_PORT` | TCP Port of Clamd Server - Default `3310` |
| `SPAMASSASSIN_PORT` | TCP Port of Spamassassin Process - Default `737` |
| `LOG_CONSOLE` | Log to Stdout Console `true` or `false` - Default `true` |
### Networking
| Port | Description |
|-----------|---------------|
| `5000` | Procodile |
| `25` | SMTP |
| `587` | Submission |
# Maintenance
#### Shell Access
For debugging and maintenance purposes you may want access the containers shell.
```bash
docker exec -it (whatever your container name is e.g. postal) bash
```
# References
* https://github.com/atech/postal