This repository contains files used to build and run a copy of the phpList software on an Alpine docker image. It is a work in progress.
-
To build a Docker image containing Apache, PHP, and the phpList software run the command
docker build -t phplist-alpine:3.6.14 .
-
If you need to remove previously built images and containers all at once use the command
docker system prune -a
but be careful as this will remove everything (not just phplist-alpine)!NoteThe docker volumes which hold your images, plugins, and other persistant data are stored separately and this prune command will not remove them. The docker volumes prune -a
command will but be careful as this will remove volumes for other containers too (not just phplist-alpine)! If you want to be more surgical about what volumes you are removing thedocker volumes ls
command will list them and thedocker volumes rm
command can remove them.
-
Use the
cp .env-dist .env
command to create a working copy of the environement setup file. -
Edit the
.env
file to specify the MYSQL settings to use, the phpList admin information, and other settings -
It’s suggested to grab the latest config file for phpList and put it somewhere on the host system and use a volume to map it to
/etc/phplist/config.php
inside the containerNoteIf you want to get any settings from your .env
file instead of storing in the php file directly see the/docker-buildfiles/phplist-config.php
file in this repository for an example.
-
To run a test copy of the software use the
docker compose -f phplist.yml up
command. You can quit this with a CTRL+C -
To run a copy of the software in the background use the
docker compose -f phplist.yml up --detach
command. -
To stop a background copy of the software use the
docker compose -f phplist.yml down
command.
-
Create instrucitons for using nginx as a reverse proxy in front
-
Take out hard coding of phpList version
-
Add support for changing PHP upload and memory size from outside the container
-
Auto build and push to Docker hub as Github workflow
-
Add support for mapping of the phplist config volume from the .env file
-
Add configuration of bounce processng mailbox into the .env file
This is based on the phplist-docker project and the Dockerfile of the phpList project. These are based on a Debian container though and are quite large and heavy. These are also designed primarily for development work use while phplist-alpine is designed for production use.