Update README

This commit is contained in:
Dave Conroy 2021-05-02 17:16:15 -07:00
parent f990e11e05
commit c45ca48a48
3 changed files with 77 additions and 77 deletions

View file

@ -1,7 +1,7 @@
### Application Level Image CI
### Dave Conroy <dave at tiredofit dot ca>
name: 'Build Images'
name: 'build'
on:
push:

View file

@ -1,6 +1,6 @@
# Manual Workflow (Application)
name: Manual
name: manual
on:
workflow_dispatch:

150
README.md
View file

@ -1,74 +1,48 @@
# hub.docker.com/r/tiredofit/postal
# github.com/tiredofit/docker-postal
[![Docker Pulls](https://img.shields.io/docker/pulls/tiredofit/postal.svg)](https://hub.docker.com/r/tiredofit/postal)
[![Docker Stars](https://img.shields.io/docker/stars/tiredofit/postal.svg)](https://hub.docker.com/r/tiredofit/postal)
[![Docker Layers](https://images.microbadger.com/badges/image/tiredofit/postal.svg)]
[![GitHub release](https://img.shields.io/github/v/tag/tiredofit/docker-postal?style=flat-square)](https://github.com/tiredofit/docker-postal/releases/latest)
[![Build Status](https://img.shields.io/github/workflow/status/tiredofit/docker-postal/build?style=flat-square)](https://github.com/tiredofit/docker-postal/actions?query=workflow%3Abuild)
[![Docker Stars](https://img.shields.io/docker/stars/tiredofit/postal.svg?style=flat-square&logo=docker)](https://hub.docker.com/r/tiredofit/postal/)
[![Docker Pulls](https://img.shields.io/docker/pulls/tiredofit/postal.svg?style=flat-square&logo=docker)](https://hub.docker.com/r/tiredofit/postal/)
[![Become a sponsor](https://img.shields.io/badge/sponsor-tiredofit-181717.svg?logo=github&style=flat-square)](https://github.com/sponsors/tiredofit)
[![Paypal Donate](https://img.shields.io/badge/donate-paypal-00457c.svg?logo=paypal&style=flat-square)](https://www.paypal.me/tiredofit)
## Introduction
* * *
## About
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/alpine) 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.
* Contains Fail2Ban for blocking repeat authentication offenders
[Changelog](CHANGELOG.md)
## Authors
## Maintainer
- [Dave Conroy](https://github.com/tiredofit/)
## Table of Contents
- [Introduction](#introduction)
- [Authors](#authors)
- [Table of Contents](#table-of-contents)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Quick Start](#quick-start)
- [Configuration](#configuration)
- [Environment Variables](#environment-variables)
- [Application Settings](#application-settings)
- [DNS Settings](#dns-settings)
- [Security Settings](#security-settings)
- [Performance Settings](#performance-settings)
- [Logging Settings](#logging-settings)
- [Database Settings](#database-settings)
- [Anti Spam Settings](#anti-spam-settings)
- [Anti Virus Settings](#anti-virus-settings)
- [SMTP Settings](#smtp-settings)
- [Client](#client)
- [Server](#server)
- [Management System](#management-system)
- [Relay](#relay)
- [Other Settings](#other-settings)
- [Networking](#networking)
- [Maintenance](#maintenance)
- [Shell Access](#shell-access)
- [References](#references)
## Prerequisites
[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*
## Prerequisites and Assumptions
- Required [RabbitMQ Server](https://github.com/tiredofit/docker-rabbitmq)
- Required [MariaDB Server](https://github.com/tiredofit/docker-mariadb)
- Optional [Spamassassin](https://github.com/tiredofit/docker-spamassassin)
- Optional [Clam Antivirus](https://github.com/tiredofit/docker-clamav)
## Installation
Automated builds of the image are available on [Docker Hub](https://hub.docker.com/r/tiredofit/postal) and is the recommended method of
installation.
### Build from Source
Clone this repository and build the image with `docker build <arguments> (imagename) .`
### Prebuilt Images
Builds of the image are available on [Docker Hub](https://hub.docker.com/r/tiredofit/postal) and is the recommended method of installation.
```bash
docker pull tiredofit/postal:(imagetag)
```
The following image tags are available along with their taged release based on what's written in the [Changelog](CHANGELOG.md):
The following image tags are available:
* `latest` - Most recent release of Postal
| Container OS | Tag |
| ------------ | --------- |
| Alpine | `:latest` |
#### Multi Archictecture
Images are built primarily for `amd64` architecture, and may also include builds for `arm/v6`, `arm/v7`, `arm64` and others. These variants are all unsupported. Consider [sponsoring](https://github.com/sponsors/tiredofit) my work so that I can work with various hardware. To see if this image supports multiple architecures, type `docker manifest (image):(tag)`
## Configuration
### Quick Start
@ -77,13 +51,19 @@ The following image tags are available:
* 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.
#### Base Images used
This image relies on an [Alpine Linux](https://hub.docker.com/r/tiredofit/alpine) base image that relies on an [init system](https://github.com/just-containers/s6-overlay) for added capabilities. Outgoing SMTP capabilities are handlded via `msmtp`. Individual container performance monitoring is performed by [zabbix-agent](https://zabbix.org). Additional tools include: `bash`,`curl`,`less`,`logrotate`, `nano`,`vim`.
Be sure to view the following repositories to understand all the customizable options:
| Image | Description |
| ------------------------------------------------------ | -------------------------------------- |
| [OS Base](https://github.com/tiredofit/docker-alpine/) | Customized Image based on Alpine Linux |
| [Nginx](https://github.com/tiredofit/docker-nginx/) | Nginx webserver |
#### Application Settings
| Parameter | Description | Default |
@ -107,13 +87,13 @@ available options that can be used to customize your installation.
| `DNS_RETURN_PATH_PREFIX` | Custom Return Path Prefix | `psrp` |
#### Security Settings
| Parameter | Description | Default |
| -------------------- | ------------------------------------------------------- | ----------------------------- |
| `ENABLE_FAIL2BAN` | Block hsots that repeatedly fail authentication | `TRUE` |
| `FAIL2BAN_LOG_FILE` | Log Location for Fail2ban | `/logs/fail2ban/fail2ban.log` |
| `FAIL2BAN_TIME_FIND` | Track failures for this time period | `10m` |
| `FAIL2BAN_TIME_BAN` | Time to ban repeat offenders | `10m` |
| `FAIL2BAN_MAX_RETRY` | Ban after how many tries during time period | `5` |
| Parameter | Description | Default |
| -------------------- | ----------------------------------------------- | ----------------------------- |
| `ENABLE_FAIL2BAN` | Block hsots that repeatedly fail authentication | `TRUE` |
| `FAIL2BAN_LOG_FILE` | Log Location for Fail2ban | `/logs/fail2ban/fail2ban.log` |
| `FAIL2BAN_TIME_FIND` | Track failures for this time period | `10m` |
| `FAIL2BAN_TIME_BAN` | Time to ban repeat offenders | `10m` |
| `FAIL2BAN_MAX_RETRY` | Ban after how many tries during time period | `5` |
#### Performance Settings
@ -162,10 +142,10 @@ available options that can be used to customize your installation.
#### SMTP Settings
##### Client
| Parameter | Description | Default |
| --------------- | ------------------------------- | ------- |
| `SMTP_CLIENT_OPEN_TIMEOUT` | Timeout for an Open Connection in seconds | `30` |
| `SMTP_CLIENT_READ_TIMEOUT` | Timeout for Reading Data in seconds | `60` |
| Parameter | Description | Default |
| -------------------------- | ----------------------------------------- | ------- |
| `SMTP_CLIENT_OPEN_TIMEOUT` | Timeout for an Open Connection in seconds | `30` |
| `SMTP_CLIENT_READ_TIMEOUT` | Timeout for Reading Data in seconds | `60` |
##### Server
| Parameter | Description | Default |
@ -223,17 +203,37 @@ available options that can be used to customize your installation.
| `8443` | Fast Server / Tracking |
| `5000` | Puma` |
* * *
## 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
```
``bash
docker exec -it (whatever your container name is) bash
``
## Support
These images were built to serve a specific need in a production environment and gradually have had more functionality added based on requests from the community.
### Usage
- The [Discussions board](../../discussions) is a great place for working with the community on tips and tricks of using this image.
- Consider [sponsoring me](https://github.com/sponsors/tiredofit) personalized support.
### Bugfixes
- Please, submit a [Bug Report](issues/new) if something isn't working as expected. I'll do my best to issue a fix in short order.
### Feature Requests
- Feel free to submit a feature request, however there is no guarantee that it will be added, or at what timeline.
- Consider [sponsoring me](https://github.com/sponsors/tiredofit) regarding development of features.
### Updates
- Best effort to track upstream changes, More priority if I am actively using the image in a production environment.
- Consider [sponsoring me](https://github.com/sponsors/tiredofit) for up to date releases.
## License
MIT. See [LICENSE](LICENSE) for more details.
## References
* https://github.com/atech/postal
* https://github.com/postalhq/postal