From fc5248d827147949b1162c5d0167b15e7e9fe26d Mon Sep 17 00:00:00 2001 From: Norman Date: Wed, 16 Dec 2020 16:14:54 -0800 Subject: [PATCH] created Dockerfile --- .DS_Store | Bin 0 -> 6148 bytes .docker/Dockerfile | 12 ++++++++++++ .gitignore | 2 +- README.md | 14 ++++++++++++-- {php => config}/env.example.php | 2 +- admin.php => lockbox/admin.php | 0 {css => lockbox/css}/custom.css | 0 {css => lockbox/css}/normalize.css | 0 {css => lockbox/css}/skeleton.css | 0 {img => lockbox/img}/logo.png | Bin index.php => lockbox/index.php | 2 +- {php => lockbox/php}/config.inc.php | 2 +- {php => lockbox/php}/footer.tpl.php | 0 {php => lockbox/php}/form.inc.php | 0 {php => lockbox/php}/header.tpl.php | 0 15 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 .DS_Store create mode 100644 .docker/Dockerfile rename {php => config}/env.example.php (67%) rename admin.php => lockbox/admin.php (100%) rename {css => lockbox/css}/custom.css (100%) rename {css => lockbox/css}/normalize.css (100%) rename {css => lockbox/css}/skeleton.css (100%) rename {img => lockbox/img}/logo.png (100%) rename index.php => lockbox/index.php (99%) rename {php => lockbox/php}/config.inc.php (95%) rename {php => lockbox/php}/footer.tpl.php (100%) rename {php => lockbox/php}/form.inc.php (100%) rename {php => lockbox/php}/header.tpl.php (100%) diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5138c564454cac9ccb73032d6c4e2ded5795a6bb GIT binary patch literal 6148 zcmeH~J!%6%427R!7lt%jx}3%b$PET#pTHLg*pS9{Adu8^^gR7ES*H$5cmnB-G%I%Z zD|S`@Z2x(A0VV(&x+``bW@gM+IOB%P*XiSaeZRl4;#J@&VrHyNnC;iLL0pQvfVyTmjO&;ssLc!1UOG})p;=82 zR;?Ceh}WZ?+UmMqI#RP8R>OzYoz15hnq@nzF`-!xQ4j$Um=RcIKKc27r2jVm&svm< zfC&6E0=7P!4tu^-ovjbA=k?dB`g+i*aXG_}p8zI)6mRKa+;6_1_R^8c3Qa!(fk8n8 H{*=HsYIhNR literal 0 HcmV?d00001 diff --git a/.docker/Dockerfile b/.docker/Dockerfile new file mode 100644 index 0000000..b4c3e57 --- /dev/null +++ b/.docker/Dockerfile @@ -0,0 +1,12 @@ +FROM php:7.4-apache + +# Set working directy at web server root +WORKDIR /var/www/html + +# Manually installs Lockbox +COPY ../lockbox/* / +COPY ../config/env.example.php ./php/env.php +COPY ../config/key.public . + +RUN mkdir /var/www/data +RUN chmod 666 /var/www/data \ No newline at end of file diff --git a/.gitignore b/.gitignore index dfb8373..f0772f0 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -php/env.php +lockbox/php/env.php diff --git a/README.md b/README.md index a58375c..2de18fb 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,13 @@ -![](./img/logo.png) +![](lockbox/img/logo.png) -This is the PHP/webserver component for Lockbox. For instructions visit [the Lockbox app's main repository](https://git.openprivacy.ca/openprivacy/lockbox). \ No newline at end of file +This is the PHP/webserver component for Lockbox. For instructions visit [the Lockbox app`s main repository](https://git.openprivacy.ca/openprivacy/lockbox). + + +## Docker Install Instructions +Right now, there is a very basic process to building and deploying a Docker image of Lockbox in a container that contains php and an instance of apache webserver. The image has been tested on linux base OS and will need to be run of a host that already has the OS installed. Future development will aim to have a more robust install. + +Note: This version of the Docker deployment is using an `env.php` file instead of environment variables due to some of the nuances with how php handles environment variables. + +The `.docker` directory contains a Dockerfile to build an image for your deployment. Do the following before building the image: +* Modify `config/env.example.php` based on any customizations +* Generate a keypair (you can use the script in the `cmd` folder (`genkeys.php.txt`, which needs to be renamed to `genkeys.php` prior to use, or use a key pair you have already generated) and place the public key in the `config` folder as `key.public` \ No newline at end of file diff --git a/php/env.example.php b/config/env.example.php similarity index 67% rename from php/env.example.php rename to config/env.example.php index a73f928..96318f7 100644 --- a/php/env.example.php +++ b/config/env.example.php @@ -3,7 +3,7 @@ $conf_vars = [ 'LB_DL_PASS' => '', 'LB_FILE' => '/var/www/data/lockbox.dat', // This is the submissions file -- it should not be in your web directory!!! - 'LB_PUBKEY_FILE' => 'lockbox-web/key.public' // Public key file location relative to the website root (i.e., $_SERVER['DOCUMENT_ROOT']) + 'LB_PUBKEY_FILE' => '/var/www/html/key.public' // Absolute parth of public key file ]; // restrict the (optional) admin form to these IPs diff --git a/admin.php b/lockbox/admin.php similarity index 100% rename from admin.php rename to lockbox/admin.php diff --git a/css/custom.css b/lockbox/css/custom.css similarity index 100% rename from css/custom.css rename to lockbox/css/custom.css diff --git a/css/normalize.css b/lockbox/css/normalize.css similarity index 100% rename from css/normalize.css rename to lockbox/css/normalize.css diff --git a/css/skeleton.css b/lockbox/css/skeleton.css similarity index 100% rename from css/skeleton.css rename to lockbox/css/skeleton.css diff --git a/img/logo.png b/lockbox/img/logo.png similarity index 100% rename from img/logo.png rename to lockbox/img/logo.png diff --git a/index.php b/lockbox/index.php similarity index 99% rename from index.php rename to lockbox/index.php index 4aa3908..d2f1188 100755 --- a/index.php +++ b/lockbox/index.php @@ -1,4 +1,4 @@ -