Skip to content

Docker container running Posfix running on Ubuntu

Notifications You must be signed in to change notification settings

htmlgraphic/Postfix

Repository files navigation

Postfix Docker

Run Status CircleCI

Postfix is a very nice mail courier service, enjoyed by many. This repo will give you a turn key, fully functional build of a Docker container for use in production or your dev environment.


Quick Start

	> git clone https://github.com/htmlgraphic/Postfix.git && cd Postfix
	> cp .env.example .env
	> make
	> make build

Google Cloud

Use the following command with Google Compute. This will create a virtual machine instance running COS (Container Operating System).

	> gcloud compute instances create-with-container postfix0 --zone us-central1-b --machine-type f1-micro --container-env-file .env --container-image=docker.io/htmlgraphic/postfix:latest

Build Breakdown

Postfix
├── app/                     # → App conf to manage application on container
│   ├── preseed.txt   			 # → Params used on initial Postfix setup
│   ├── run.sh            	 # → Setup apache, move around conf files, start process on container
│   ├── supervisord.conf   	 # → Supervisor is a system which monitors and controls a number of processes
│   ├── virtual   					 # → Map `root` to an actual email
│   ├── run.sh               # → Setup apache, conf files, and start process on container
│   ├── sample.conf          # → Located within `/data/apache2/sites-enabled` duplicate / modify to add domains
│   └── supervisord          # → Supervisor is a system which monitors and controls a number of processes
├── .env.example             # → Useful environment variables 
├── .circleci/
│   └── config.yml           # → CircleCI 2.0 Config
├── docker-compose.yml       # → Production build
├── Dockerfile               # → Uses a basefile build to help speed up the docker container build process
├── Makefile                 # → Build command shortcuts
├── shippable.yml            # → Shippable configuration
└── tests/
    ├── build_tests.sh       # → Build test processes
    └── shunit2-2.1.7.tar.gz # → sh unit teesting