first commit

This commit is contained in:
jtscott
2016-11-16 19:10:22 -07:00
commit 465783a090
3 changed files with 74 additions and 0 deletions

33
Dockerfile Normal file
View File

@@ -0,0 +1,33 @@
FROM library/debian:stable
MAINTAINER Jared Scott <jtscott@gmail.com>
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"]

33
README.md Normal file
View File

@@ -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
~~~~

8
download-pancake.sh Normal file
View File

@@ -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/