The image based on the original php:7.2-apache
image but added some extra apache module which necessary for run sendy. The following modifications added:
- MySQL module added
- Apache ModRewrite module enabled
- Apache SSL module enabled
Define your environment variables based on .env.example
file. After that place a compose file with the following content. This compose file will start two container:
- An Apache and PHP container to server sendy
- A MySQL container to store subsribers
version: '2'
services:
apache-php:
image: sendy
container_name: sendy-apache-php
volumes:
- ./sendy/:/var/www/html
- ./cron:/etc/cron.d/sendy
- ./apache.conf:/etc/apache2/sites-enabled/000-default.conf
ports:
- "80:80"
- "443:443"
env_file:
- .env
links:
- mysql
sendy-mysql:
image: mysql:5.5
container_name: sendy-mysql
volumes:
- ./data/mysql:/var/lib/mysql
ports:
- "3306:3306"
env_file:
- .env
You should run certification generation on your production server with the following command:
docker run -it --rm -p 443:443 -p 80:80 --name certbot -v "/etc/letsencrypt:/etc/letsencrypt" -v "/var/lib/letsencrypt:/var/lib/letsencrypt" certbot/certbot certonly -d DOMAIN_NAME1 -d DOMAIN_NAME2