commit 465783a090243ff7e58a2fe936bfaa0fcf0e5b1d Author: jtscott Date: Wed Nov 16 19:10:22 2016 -0700 first commit diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2c9397a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,33 @@ +FROM library/debian:stable +MAINTAINER Jared Scott + +ENV APACHE_RUN_USER www-data +ENV APACHE_RUN_GROUP www-data +ENV APACHE_LOG_DIR /var/log/apache2 + +RUN apt-get update && apt-get install -y \ + curl \ + unzip \ + apache2 \ + php5 \ + php5-mysql \ + php5-curl \ + php5-gd \ + php-fdomdocument \ +&& apt-get clean \ +&& rm -rf /var/lib/apt/lists/* + +RUN /usr/sbin/a2dismod 'mpm_*' \ +&& /usr/sbin/a2enmod mpm_prefork \ +&& /usr/sbin/a2enmod ssl \ +&& /usr/sbin/a2enmod rewrite \ +&& /usr/sbin/a2ensite default-ssl \ +&& chown -R www-data:www-data /var/www/html + +COPY download-pancake.sh /opt/ +RUN chmod 755 /opt/download-pancake.sh + +EXPOSE 80 +EXPOSE 443 + +CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..92aab59 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +# Pancake App Docker Image +This dockerfile will build a new installation of [Pancake App](https://www.pancakeapp.com/). A script is included to download and unpack your licensed copy of Pancake. This project is not affiliated with Pancake Payments and is provided as-is without any warranty. No software is included or redistributed. + +# Requirements +- A valid Pancake App license +- A linked MySQL Container + +# Usage +1. Build the image +> docker build -t docker-pancake:latest . +2. Run the download script to unpack pancake into your mounted volume. +> docker run -v /data/pancake:/var/www/html --rm docker-pancake:latest /opt/download-pancake.sh PAN-YOURLICENSEHERE +3. Run a MySQL Container +> docker run -d --restart="always" --name mysql-pancake -e MYSQL_ROOT_PASSWORD=YOURPASSWORDHERE -v /data/mysql-pancake:/var/lib/mysql -v /etc/localtime:/etc/localtime:ro mysql:latest +4. Login to MySQL and create a Pancake database user +> docker exec -it mysql-pancake /bin/bash -c "export TERM=xterm; exec bash" +~~~~ +mysql -u root -p +CREATE DATABASE pancake_db; +CREATE USER 'pancake_user'@'%' IDENTIFIED BY 'YOURPASSWORDHERE'; +GRANT ALTER,SELECT,INSERT,UPDATE,DELETE ON pancake_db.* TO 'pancake_user'@'%'; +FLUSH PRIVILEGES; +~~~~ +5. Create a pancake container on port 8282 +> docker run -d --restart="always" -p 8282:80 --name pancake -v /data/pancake:/var/www/html -v /etc/localtime:/etc/localtime:ro --link mysql-pancake:mysql docker-pancake:latest +6. Follow the pancake install wizard. +~~~~ +database host: mysql +port: 3306 +database: pancake_db +username: pancake_user +password: YOURPASSWORDHERE +~~~~ \ No newline at end of file diff --git a/download-pancake.sh b/download-pancake.sh new file mode 100644 index 0000000..4672876 --- /dev/null +++ b/download-pancake.sh @@ -0,0 +1,8 @@ +#!/bin/sh -e +curl http://manage.pancakeapp.com/download/$1 > pancake.zip \ +&& unzip pancake.zip \ +&& mv pancake_4/pancake/* /var/www/html \ +&& chmod -R 777 /var/www/html/system/pancake \ +&& chmod -R 777 /var/www/html/uploads \ +&& rm pancake.zip \ +&& rm -rf pancake_4/ \ No newline at end of file