first commit
This commit is contained in:
33
Dockerfile
Normal file
33
Dockerfile
Normal 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
33
README.md
Normal 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
8
download-pancake.sh
Normal 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/
|
||||||
Reference in New Issue
Block a user