Public | Automated Build

Last pushed: 7 months ago
Short Description
ChurchCRM Docker Install Image - Automated Build From Github
Full Description

Docker ChurchCRM

This is the Docker Installation of ChurchCRM. This image is the latest release ChurchCRM for Docker. It is installed on Alpine Linux, Apache, PHP7 & is using MariaDB in a separate Alpine container.

How To Use

To use, first change your desired database info and passwords in the .env file. (Download that file from the main ChurchCRM/Docker repository directory)

Once complete, Start ChurchCRM in Docker by using the Docker RUN command from the directory that your .env file resides or by building and starting with docker-compose.

Starting with Docker Run

For example, you can start MariaDB first with the following command. Make sure to change the passwords in the .env file first.

docker run --name database --env-file .env -d jaskipper/alpine-mariadb

Then start the ChurchCRM container:

docker run --name churchcrm -p 80:80 --link database --env-file .env -d churchcrm/crm

Visit your website and you will be up and running. Log in with the default username admin and password changeme and then change your admin password on the next screen.

Building and Starting with Docker-Compose

To build and run with Docker-Compose, you must have all of the files in the Github repo. Download the Github Docker repository and run docker-compose build and docker-compose up from the project folder. Be SURE to Change Passwords in the .env file before starting your container.

Environment variables used in the container

It is recommended that you use the .env file to add your passwords, but you may also add those ENV's with the -e flag with docker run -e ....


This variable defines the host in order for ChurchCRM to be able to connect to the database.

-e MYSQL_DB_HOST=database *(This is default and recommended to stay that way unless you know what you are doing)*


This variable defines the password for the root user in the database, set it with

-e MYSQL_ROOT_PASSWORD=secretpassword

add quotes if there is spaces or other special character in the password

-e MYSQL_ROOT_PASSWORD='password with spaces'


This variable generate a random password for the root user, add


the password can then be found by looking at the logoutput

docker logs <container>


This allows the root password to be blank, THIS IS A MAJOR SECURITY RISK, add



Normal the root user can only use localhost to access the databases adding


allows root access from any host


creates a database with the defined name

-e MYSQL_DATABASE=databasename


creates a user with password defined with MYSQL_PASSWORD and full access to the database defined by MYSQL_DATABASE

-e MYSQL_USER=username


The password for the user defined by MYSQL_USER

-e MYSQL_PASSWORD=donottell


To come...


To come...

Docker Pull Command
Source Repository