mirror of
https://github.com/tiredofit/docker-postal.git
synced 2024-09-20 06:55:54 +08:00
Update README
This commit is contained in:
parent
f990e11e05
commit
c45ca48a48
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
|
@ -1,7 +1,7 @@
|
|||
### Application Level Image CI
|
||||
### Dave Conroy <dave at tiredofit dot ca>
|
||||
|
||||
name: 'Build Images'
|
||||
name: 'build'
|
||||
|
||||
on:
|
||||
push:
|
||||
|
|
2
.github/workflows/manual.yml
vendored
2
.github/workflows/manual.yml
vendored
|
@ -1,6 +1,6 @@
|
|||
# Manual Workflow (Application)
|
||||
|
||||
name: Manual
|
||||
name: manual
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
|
150
README.md
150
README.md
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue