├── 3.2
└── sqlite
│ ├── public
│ ├── .htaccess
│ └── index.php
│ ├── app
│ ├── config
│ │ └── config_local.yml
│ └── database
│ │ └── bolt.db
│ ├── server
│ ├── php-config.ini
│ └── apache-vhost.conf
│ ├── .bolt.yml
│ ├── composer.json
│ ├── Dockerfile
│ └── start.sh
├── 3.3
├── mariadb
│ ├── public
│ │ ├── .htaccess
│ │ └── index.php
│ ├── server
│ │ ├── php-config.ini
│ │ └── apache-vhost.conf
│ ├── app
│ │ └── config
│ │ │ └── config_local.yml
│ ├── README.md
│ ├── composer.json
│ ├── start.sh
│ └── Dockerfile
└── sqlite
│ ├── public
│ ├── .htaccess
│ └── index.php
│ ├── app
│ ├── config
│ │ └── config_local.yml
│ └── database
│ │ └── bolt.db
│ ├── server
│ ├── php-config.ini
│ └── apache-vhost.conf
│ ├── composer.json
│ ├── Dockerfile
│ └── start.sh
├── 3.4
├── mariadb
│ ├── public
│ │ ├── .htaccess
│ │ └── index.php
│ ├── server
│ │ ├── php-config.ini
│ │ └── apache-vhost.conf
│ ├── app
│ │ └── config
│ │ │ └── config_local.yml
│ ├── README.md
│ ├── start.sh
│ ├── composer.json
│ └── Dockerfile
└── sqlite
│ ├── public
│ ├── .htaccess
│ └── index.php
│ ├── app
│ ├── config
│ │ └── config_local.yml
│ └── database
│ │ └── bolt.db
│ ├── server
│ ├── php-config.ini
│ └── apache-vhost.conf
│ ├── composer.json
│ ├── Dockerfile
│ └── start.sh
├── 3.5
├── mariadb
│ ├── public
│ │ ├── .htaccess
│ │ └── index.php
│ ├── server
│ │ ├── php-config.ini
│ │ └── apache-vhost.conf
│ ├── app
│ │ └── config
│ │ │ └── config_local.yml
│ ├── README.md
│ ├── start.sh
│ ├── composer.json
│ └── Dockerfile
└── sqlite
│ ├── public
│ ├── .htaccess
│ └── index.php
│ ├── app
│ ├── config
│ │ └── config_local.yml
│ └── database
│ │ └── bolt.db
│ ├── server
│ ├── php-config.ini
│ └── apache-vhost.conf
│ ├── composer.json
│ ├── Dockerfile
│ └── start.sh
├── 3.6
├── mariadb
│ ├── public
│ │ ├── .htaccess
│ │ └── index.php
│ ├── server
│ │ ├── php-config.ini
│ │ └── apache-vhost.conf
│ ├── app
│ │ └── config
│ │ │ └── config_local.yml
│ ├── README.md
│ ├── start.sh
│ ├── composer.json
│ └── Dockerfile
└── sqlite
│ ├── public
│ ├── .htaccess
│ └── index.php
│ ├── app
│ ├── config
│ │ └── config_local.yml
│ └── database
│ │ └── bolt.db
│ ├── server
│ ├── php-config.ini
│ └── apache-vhost.conf
│ ├── composer.json
│ ├── Dockerfile
│ └── start.sh
├── .gitignore
├── supervisor
├── php.conf
├── user.conf
└── nginx.conf
├── app
└── database
│ └── bolt.db
├── public
└── index.php
├── .bolt.php
├── config
└── nginx.conf
├── composer.json
├── start.sh
├── Dockerfile
└── README.md
/3.2/sqlite/public/.htaccess:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/3.3/mariadb/public/.htaccess:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/3.3/sqlite/public/.htaccess:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/3.4/mariadb/public/.htaccess:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/3.4/sqlite/public/.htaccess:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/3.5/mariadb/public/.htaccess:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/3.5/sqlite/public/.htaccess:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/3.6/mariadb/public/.htaccess:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/3.6/sqlite/public/.htaccess:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_*
2 | /vendor
3 | composer.lock
--------------------------------------------------------------------------------
/supervisor/php.conf:
--------------------------------------------------------------------------------
1 | [program:php7-fpm]
2 | command=/usr/sbin/php-fpm7.0 -c /etc/php/7.0/fpm -F
--------------------------------------------------------------------------------
/app/database/bolt.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rossriley/docker-bolt/HEAD/app/database/bolt.db
--------------------------------------------------------------------------------
/3.2/sqlite/app/config/config_local.yml:
--------------------------------------------------------------------------------
1 | extensions:
2 | composer:
3 | minimum-stability: dev
--------------------------------------------------------------------------------
/3.3/sqlite/app/config/config_local.yml:
--------------------------------------------------------------------------------
1 | extensions:
2 | composer:
3 | minimum-stability: dev
--------------------------------------------------------------------------------
/3.4/sqlite/app/config/config_local.yml:
--------------------------------------------------------------------------------
1 | extensions:
2 | composer:
3 | minimum-stability: dev
--------------------------------------------------------------------------------
/3.5/sqlite/app/config/config_local.yml:
--------------------------------------------------------------------------------
1 | extensions:
2 | composer:
3 | minimum-stability: dev
--------------------------------------------------------------------------------
/3.6/sqlite/app/config/config_local.yml:
--------------------------------------------------------------------------------
1 | extensions:
2 | composer:
3 | minimum-stability: dev
--------------------------------------------------------------------------------
/3.2/sqlite/server/php-config.ini:
--------------------------------------------------------------------------------
1 | upload_max_filesize = 64M
2 | post_max_size = 64M
3 | memory_limit = 1024M
--------------------------------------------------------------------------------
/3.3/mariadb/server/php-config.ini:
--------------------------------------------------------------------------------
1 | upload_max_filesize = 64M
2 | post_max_size = 64M
3 | memory_limit = 1024M
--------------------------------------------------------------------------------
/3.3/sqlite/server/php-config.ini:
--------------------------------------------------------------------------------
1 | upload_max_filesize = 64M
2 | post_max_size = 64M
3 | memory_limit = 1024M
--------------------------------------------------------------------------------
/3.4/mariadb/server/php-config.ini:
--------------------------------------------------------------------------------
1 | upload_max_filesize = 64M
2 | post_max_size = 64M
3 | memory_limit = 1024M
--------------------------------------------------------------------------------
/3.4/sqlite/server/php-config.ini:
--------------------------------------------------------------------------------
1 | upload_max_filesize = 64M
2 | post_max_size = 64M
3 | memory_limit = 1024M
--------------------------------------------------------------------------------
/3.5/mariadb/server/php-config.ini:
--------------------------------------------------------------------------------
1 | upload_max_filesize = 64M
2 | post_max_size = 64M
3 | memory_limit = 1024M
--------------------------------------------------------------------------------
/3.5/sqlite/server/php-config.ini:
--------------------------------------------------------------------------------
1 | upload_max_filesize = 64M
2 | post_max_size = 64M
3 | memory_limit = 1024M
--------------------------------------------------------------------------------
/3.6/mariadb/server/php-config.ini:
--------------------------------------------------------------------------------
1 | upload_max_filesize = 64M
2 | post_max_size = 64M
3 | memory_limit = 1024M
--------------------------------------------------------------------------------
/3.6/sqlite/server/php-config.ini:
--------------------------------------------------------------------------------
1 | upload_max_filesize = 64M
2 | post_max_size = 64M
3 | memory_limit = 1024M
--------------------------------------------------------------------------------
/3.2/sqlite/app/database/bolt.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rossriley/docker-bolt/HEAD/3.2/sqlite/app/database/bolt.db
--------------------------------------------------------------------------------
/3.3/sqlite/app/database/bolt.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rossriley/docker-bolt/HEAD/3.3/sqlite/app/database/bolt.db
--------------------------------------------------------------------------------
/3.4/sqlite/app/database/bolt.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rossriley/docker-bolt/HEAD/3.4/sqlite/app/database/bolt.db
--------------------------------------------------------------------------------
/3.5/sqlite/app/database/bolt.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rossriley/docker-bolt/HEAD/3.5/sqlite/app/database/bolt.db
--------------------------------------------------------------------------------
/3.6/sqlite/app/database/bolt.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rossriley/docker-bolt/HEAD/3.6/sqlite/app/database/bolt.db
--------------------------------------------------------------------------------
/3.2/sqlite/.bolt.yml:
--------------------------------------------------------------------------------
1 | paths:
2 | web: public
3 | themebase: public/theme
4 | files: public/files
5 | view: public/bolt-public/view
6 |
--------------------------------------------------------------------------------
/public/index.php:
--------------------------------------------------------------------------------
1 | run();
--------------------------------------------------------------------------------
/3.3/mariadb/app/config/config_local.yml:
--------------------------------------------------------------------------------
1 | database:
2 | host: mysql
3 | driver: mysql
4 | username: %APP_USER%
5 | password: %APP_PASSWORD%
6 | databasename: %APP_USER%
--------------------------------------------------------------------------------
/3.4/mariadb/app/config/config_local.yml:
--------------------------------------------------------------------------------
1 | database:
2 | driver: mysql
3 | host: mysql
4 | username: %APP_USER%
5 | password: %APP_PASSWORD%
6 | databasename: %APP_USER%
--------------------------------------------------------------------------------
/3.5/mariadb/app/config/config_local.yml:
--------------------------------------------------------------------------------
1 | database:
2 | driver: mysql
3 | host: mysql
4 | username: %APP_USER%
5 | password: %APP_PASSWORD%
6 | databasename: %APP_USER%
--------------------------------------------------------------------------------
/3.6/mariadb/app/config/config_local.yml:
--------------------------------------------------------------------------------
1 | database:
2 | driver: mysql
3 | host: mysql
4 | username: %APP_USER%
5 | password: %APP_PASSWORD%
6 | databasename: %APP_USER%
--------------------------------------------------------------------------------
/supervisor/user.conf:
--------------------------------------------------------------------------------
1 | [program:user-startup]
2 | environment = HOME="/root",USER="root",COMPOSER_HOME="/root/.composer"
3 | command=sh /var/www/start.sh
4 | directory=/var/www/
5 | autorestart=false
--------------------------------------------------------------------------------
/supervisor/nginx.conf:
--------------------------------------------------------------------------------
1 | [program:nginx]
2 | command=/usr/sbin/nginx
3 | stdout_logfile=/var/log/supervisor/%(program_name)s.log
4 | stderr_logfile=/var/log/supervisor/%(program_name)s.log
5 | autorestart=true
--------------------------------------------------------------------------------
/3.2/sqlite/server/apache-vhost.conf:
--------------------------------------------------------------------------------
1 |
2 | DocumentRoot /var/www/html/public
3 | DirectoryIndex index.php
4 |
5 |
6 | Options Indexes FollowSymLinks MultiViews
7 | Require all granted
8 | FallbackResource /index.php
9 |
10 |
--------------------------------------------------------------------------------
/3.3/sqlite/server/apache-vhost.conf:
--------------------------------------------------------------------------------
1 |
2 | DocumentRoot /var/www/html/public
3 | DirectoryIndex index.php
4 |
5 |
6 | Options Indexes FollowSymLinks MultiViews
7 | Require all granted
8 | FallbackResource /index.php
9 |
10 |
--------------------------------------------------------------------------------
/3.4/sqlite/server/apache-vhost.conf:
--------------------------------------------------------------------------------
1 |
2 | DocumentRoot /var/www/html/public
3 | DirectoryIndex index.php
4 |
5 |
6 | Options Indexes FollowSymLinks MultiViews
7 | Require all granted
8 | FallbackResource /index.php
9 |
10 |
--------------------------------------------------------------------------------
/3.5/sqlite/server/apache-vhost.conf:
--------------------------------------------------------------------------------
1 |
2 | DocumentRoot /var/www/html/public
3 | DirectoryIndex index.php
4 |
5 |
6 | Options Indexes FollowSymLinks MultiViews
7 | Require all granted
8 | FallbackResource /index.php
9 |
10 |
--------------------------------------------------------------------------------
/3.6/sqlite/server/apache-vhost.conf:
--------------------------------------------------------------------------------
1 |
2 | DocumentRoot /var/www/html/public
3 | DirectoryIndex index.php
4 |
5 |
6 | Options Indexes FollowSymLinks MultiViews
7 | Require all granted
8 | FallbackResource /index.php
9 |
10 |
--------------------------------------------------------------------------------
/3.2/sqlite/public/index.php:
--------------------------------------------------------------------------------
1 | run();
--------------------------------------------------------------------------------
/3.3/sqlite/public/index.php:
--------------------------------------------------------------------------------
1 | run();
--------------------------------------------------------------------------------
/3.4/sqlite/public/index.php:
--------------------------------------------------------------------------------
1 | run();
--------------------------------------------------------------------------------
/3.5/sqlite/public/index.php:
--------------------------------------------------------------------------------
1 | run();
--------------------------------------------------------------------------------
/3.6/sqlite/public/index.php:
--------------------------------------------------------------------------------
1 | run();
--------------------------------------------------------------------------------
/3.3/mariadb/public/index.php:
--------------------------------------------------------------------------------
1 | run();
13 |
--------------------------------------------------------------------------------
/3.4/mariadb/public/index.php:
--------------------------------------------------------------------------------
1 | run();
13 |
--------------------------------------------------------------------------------
/3.5/mariadb/public/index.php:
--------------------------------------------------------------------------------
1 | run();
13 |
--------------------------------------------------------------------------------
/3.6/mariadb/public/index.php:
--------------------------------------------------------------------------------
1 | run();
13 |
--------------------------------------------------------------------------------
/3.3/mariadb/server/apache-vhost.conf:
--------------------------------------------------------------------------------
1 |
2 | DocumentRoot /var/www/html/public
3 | DirectoryIndex index.php
4 |
5 |
6 | Options Indexes FollowSymLinks MultiViews
7 | AllowOverride All
8 | Require all granted
9 | FallbackResource /index.php
10 |
11 |
12 |
--------------------------------------------------------------------------------
/3.4/mariadb/server/apache-vhost.conf:
--------------------------------------------------------------------------------
1 |
2 | DocumentRoot /var/www/html/public
3 | DirectoryIndex index.php
4 |
5 |
6 | Options Indexes FollowSymLinks MultiViews
7 | AllowOverride All
8 | Require all granted
9 | FallbackResource /index.php
10 |
11 |
12 |
--------------------------------------------------------------------------------
/3.5/mariadb/server/apache-vhost.conf:
--------------------------------------------------------------------------------
1 |
2 | DocumentRoot /var/www/html/public
3 | DirectoryIndex index.php
4 |
5 |
6 | Options Indexes FollowSymLinks MultiViews
7 | AllowOverride All
8 | Require all granted
9 | FallbackResource /index.php
10 |
11 |
12 |
--------------------------------------------------------------------------------
/3.6/mariadb/server/apache-vhost.conf:
--------------------------------------------------------------------------------
1 |
2 | DocumentRoot /var/www/html/public
3 | DirectoryIndex index.php
4 |
5 |
6 | Options Indexes FollowSymLinks MultiViews
7 | AllowOverride All
8 | Require all granted
9 | FallbackResource /index.php
10 |
11 |
12 |
--------------------------------------------------------------------------------
/3.3/mariadb/README.md:
--------------------------------------------------------------------------------
1 | ## Bolt Image with adjustments to be capable of running MySQL/MariaDB
2 |
3 | #### Note this is still an early WIP and should not be used apart from for testing.
4 |
5 | ### Getting Started
6 |
7 | You need to create a `docker-compose.yml` file and a `.env` file for your db credentials.
8 |
9 | Then add this image and the relevant MySQL/MariaDB image as services and start.
10 |
11 | #### Example docker-compose file
--------------------------------------------------------------------------------
/3.4/mariadb/README.md:
--------------------------------------------------------------------------------
1 | ## Bolt Image with adjustments to be capable of running MySQL/MariaDB
2 |
3 | #### Note this is still an early WIP and should not be used apart from for testing.
4 |
5 | ### Getting Started
6 |
7 | You need to create a `docker-compose.yml` file and a `.env` file for your db credentials.
8 |
9 | Then add this image and the relevant MySQL/MariaDB image as services and start.
10 |
11 | #### Example docker-compose file
--------------------------------------------------------------------------------
/3.5/mariadb/README.md:
--------------------------------------------------------------------------------
1 | ## Bolt Image with adjustments to be capable of running MySQL/MariaDB
2 |
3 | #### Note this is still an early WIP and should not be used apart from for testing.
4 |
5 | ### Getting Started
6 |
7 | You need to create a `docker-compose.yml` file and a `.env` file for your db credentials.
8 |
9 | Then add this image and the relevant MySQL/MariaDB image as services and start.
10 |
11 | #### Example docker-compose file
--------------------------------------------------------------------------------
/3.6/mariadb/README.md:
--------------------------------------------------------------------------------
1 | ## Bolt Image with adjustments to be capable of running MySQL/MariaDB
2 |
3 | #### Note this is still an early WIP and should not be used apart from for testing.
4 |
5 | ### Getting Started
6 |
7 | You need to create a `docker-compose.yml` file and a `.env` file for your db credentials.
8 |
9 | Then add this image and the relevant MySQL/MariaDB image as services and start.
10 |
11 | #### Example docker-compose file
--------------------------------------------------------------------------------
/3.4/mariadb/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | ./vendor/bin/nut database:update -n;
3 | mkdir -p ./app/cache;
4 | mkdir -p ./app/config;
5 | mkdir -p ./app/database;
6 | mkdir -p ./public/extensions;
7 | mkdir -p ./public/extensions/var;
8 | mkdir -p ./public/files;
9 | mkdir -p ./extensions;
10 | chmod -R 0777 ./app;
11 | chmod -R 0777 ./public/extensions;
12 | chmod 0777 ./public/files;
13 |
14 |
15 | chmod -R 0777 ./extensions;
16 | rm -f /var/run/apache2/apache2.pid
17 | exec apache2-foreground
18 |
--------------------------------------------------------------------------------
/3.5/mariadb/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | ./vendor/bin/nut database:update -n;
3 | mkdir -p ./app/cache;
4 | mkdir -p ./app/config;
5 | mkdir -p ./app/database;
6 | mkdir -p ./public/extensions;
7 | mkdir -p ./public/extensions/var;
8 | mkdir -p ./public/files;
9 | mkdir -p ./extensions;
10 | chmod -R 0777 ./app;
11 | chmod -R 0777 ./public/extensions;
12 | chmod 0777 ./public/files;
13 |
14 |
15 | chmod -R 0777 ./extensions;
16 | rm -f /var/run/apache2/apache2.pid
17 | exec apache2-foreground
18 |
--------------------------------------------------------------------------------
/3.6/mariadb/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | ./vendor/bin/nut database:update -n;
3 | mkdir -p ./app/cache;
4 | mkdir -p ./app/config;
5 | mkdir -p ./app/database;
6 | mkdir -p ./public/extensions;
7 | mkdir -p ./public/extensions/var;
8 | mkdir -p ./public/files;
9 | mkdir -p ./extensions;
10 | chmod -R 0777 ./app;
11 | chmod -R 0777 ./public/extensions;
12 | chmod 0777 ./public/files;
13 |
14 |
15 | chmod -R 0777 ./extensions;
16 | rm -f /var/run/apache2/apache2.pid
17 | exec apache2-foreground
18 |
--------------------------------------------------------------------------------
/.bolt.php:
--------------------------------------------------------------------------------
1 | setPath("web", "public");
5 | $configuration->setPath("files", "public/files");
6 | $configuration->setPath("themebase", "public/theme");
7 | $configuration->getVerifier()->disableApacheChecks();
8 | $configuration->verify();
9 | $app = new Bolt\Application(array('resources'=>$configuration));
10 | $app->initialize();
11 |
12 | $config = [
13 | 'application' => $app,
14 | 'resources' => null,
15 | ];
16 |
17 | return $config;
--------------------------------------------------------------------------------
/config/nginx.conf:
--------------------------------------------------------------------------------
1 | server {
2 | listen 80 default_server;
3 | listen [::]:80 default_server ipv6only=on;
4 | root /var/www/public;
5 | index index.php index.html index.htm;
6 |
7 |
8 | location / {
9 | try_files $uri /index.php?$query_string;
10 | }
11 |
12 | location ~ \.php$ {
13 | include /etc/nginx/fastcgi_params;
14 | fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
15 | fastcgi_index index.php;
16 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
17 | fastcgi_param ENV DOCKER;
18 | }
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rossriley/docker-bolt",
3 | "require": {
4 | "bolt/bolt": "^3.0"
5 | },
6 | "authors": [
7 | {
8 | "name": "Ross Riley",
9 | "email": "riley.ross@gmail.com"
10 | }
11 | ],
12 | "minimum-stability": "beta",
13 | "prefer-stable": true,
14 | "scripts": {
15 | "post-install-cmd": [
16 | "Bolt\\Composer\\ScriptHandler::installAssets"
17 | ],
18 | "post-update-cmd": [
19 | "Bolt\\Composer\\ScriptHandler::installAssets"
20 | ]
21 | },
22 |
23 | "extra":{
24 | "bolt-web-dir": "./public"
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/3.2/sqlite/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rossriley/docker-bolt",
3 | "require": {
4 | "bolt/bolt": "^3.0"
5 | },
6 | "authors": [
7 | {
8 | "name": "Ross Riley",
9 | "email": "riley.ross@gmail.com"
10 | }
11 | ],
12 | "minimum-stability": "beta",
13 | "prefer-stable": true,
14 | "scripts": {
15 | "post-install-cmd": [
16 | "Bolt\\Composer\\ScriptHandler::installAssets"
17 | ],
18 | "post-update-cmd": [
19 | "Bolt\\Composer\\ScriptHandler::updateProject",
20 | "Bolt\\Composer\\ScriptHandler::installAssets"
21 | ]
22 | },
23 | "extra": {
24 | "bolt-web-dir": "./public"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/3.4/mariadb/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rossriley/docker-bolt",
3 | "require": {
4 | "bolt/bolt": "^3.4"
5 | },
6 | "authors": [
7 | {
8 | "name": "Ross Riley",
9 | "email": "riley.ross@gmail.com"
10 | }
11 | ],
12 | "minimum-stability": "beta",
13 | "prefer-stable": true,
14 | "scripts": {
15 | "post-install-cmd": [
16 | "Bolt\\Composer\\ScriptHandler::installAssets"
17 | ],
18 | "post-update-cmd": [
19 | "Bolt\\Composer\\ScriptHandler::updateProject",
20 | "Bolt\\Composer\\ScriptHandler::installAssets"
21 | ]
22 | },
23 | "extra": {
24 | "bolt-web-dir": "./public"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | chmod -R 0777 ./app;
3 | IFS=","
4 | set -- $BOLT_EXT
5 | for element in $@
6 | do
7 | eval "./vendor/bin/nut config:set extensions/stability dev";
8 | echo "Installing extestion $element";
9 | eval "./vendor/bin/nut extensions:install $element";
10 | done
11 |
12 | if [ -n "$BOLT_THEME" ]
13 | then
14 | echo "Installing theme $BOLT_THEME";
15 | eval "./vendor/bin/nut config:set theme demo";
16 | eval "cp -prf extensions/vendor/$BOLT_THEME public/theme/demo"
17 | eval "cp -prf extensions/vendor/$BOLT_THEME public/theme/`basename $BOLT_THEME`"
18 | else
19 | echo -e "BOLT_THEME not set\n"
20 | fi
21 |
22 | if [ -n "$BOLT_TITLE" ]
23 | then
24 | eval "./vendor/bin/nut config:set sitename '$BOLT_TITLE'";
25 | fi
--------------------------------------------------------------------------------
/3.3/sqlite/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rossriley/docker-bolt",
3 | "require": {
4 | "bolt/bolt": "^3.3",
5 | "doctrine/dbal": "2.5.*"
6 | },
7 | "authors": [
8 | {
9 | "name": "Ross Riley",
10 | "email": "riley.ross@gmail.com"
11 | }
12 | ],
13 | "minimum-stability": "beta",
14 | "prefer-stable": true,
15 | "scripts": {
16 | "post-install-cmd": [
17 | "Bolt\\Composer\\ScriptHandler::installAssets"
18 | ],
19 | "post-update-cmd": [
20 | "Bolt\\Composer\\ScriptHandler::updateProject",
21 | "Bolt\\Composer\\ScriptHandler::installAssets"
22 | ]
23 | },
24 | "extra": {
25 | "bolt-web-dir": "./public"
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/3.4/sqlite/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rossriley/docker-bolt",
3 | "require": {
4 | "bolt/bolt": "^3.4",
5 | "doctrine/dbal": "2.5.*"
6 | },
7 | "authors": [
8 | {
9 | "name": "Ross Riley",
10 | "email": "riley.ross@gmail.com"
11 | }
12 | ],
13 | "minimum-stability": "beta",
14 | "prefer-stable": true,
15 | "scripts": {
16 | "post-install-cmd": [
17 | "Bolt\\Composer\\ScriptHandler::installAssets"
18 | ],
19 | "post-update-cmd": [
20 | "Bolt\\Composer\\ScriptHandler::updateProject",
21 | "Bolt\\Composer\\ScriptHandler::installAssets"
22 | ]
23 | },
24 | "extra": {
25 | "bolt-web-dir": "./public"
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/3.3/mariadb/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rossriley/docker-bolt",
3 | "require": {
4 | "bolt/bolt": "^3.3",
5 | "passwordlib/passwordlib": "^1.0@beta"
6 | },
7 | "authors": [
8 | {
9 | "name": "Ross Riley",
10 | "email": "riley.ross@gmail.com"
11 | }
12 | ],
13 | "minimum-stability": "stable",
14 | "prefer-stable": true,
15 | "scripts": {
16 | "post-install-cmd": [
17 | "Bolt\\Composer\\ScriptHandler::installAssets"
18 | ],
19 | "post-update-cmd": [
20 | "Bolt\\Composer\\ScriptHandler::updateProject",
21 | "Bolt\\Composer\\ScriptHandler::installAssets"
22 | ]
23 | },
24 | "extra": {
25 | "bolt-web-dir": "./public"
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/3.3/mariadb/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | ./vendor/bin/nut database:update;
3 | mkdir -p ./app/cache;
4 | mkdir -p ./app/config;
5 | mkdir -p ./app/database;
6 | mkdir -p ./public/extensions;
7 | mkdir -p ./public/extensions/var;
8 | mkdir -p ./public/files;
9 | mkdir -p ./extensions;
10 | chmod -R 0777 ./app;
11 | chmod -R 0777 ./public/extensions;
12 | chmod 0777 ./public/files;
13 |
14 |
15 | chmod -R 0777 ./extensions;
16 |
17 | eval "./vendor/bin/nut config:set database/driver mysql";
18 | if [[ $APP_USER ]]
19 | then
20 | eval "./vendor/bin/nut config:set database/username '$APP_USER'";
21 | eval "./vendor/bin/nut config:set database/databasename '$APP_USER'";
22 | fi
23 |
24 | if [[ $APP_PASSWORD ]]
25 | then
26 | eval "./vendor/bin/nut config:set database/password '$APP_PASSWORD'";
27 | fi
28 |
29 | rm -f /var/run/apache2/apache2.pid
30 | exec apache2-foreground
31 |
--------------------------------------------------------------------------------
/3.5/mariadb/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rossriley/docker-bolt",
3 | "require": {
4 | "bolt/bolt": "^3.5"
5 | },
6 | "authors": [
7 | {
8 | "name": "Ross Riley",
9 | "email": "riley.ross@gmail.com"
10 | }
11 | ],
12 | "minimum-stability": "beta",
13 | "prefer-stable": true,
14 | "scripts": {
15 | "post-install-cmd": [
16 | "Bolt\\Composer\\ScriptHandler::installAssets"
17 | ],
18 | "post-update-cmd": [
19 | "Bolt\\Composer\\ScriptHandler::updateProject",
20 | "Bolt\\Composer\\ScriptHandler::installAssets"
21 | ],
22 | "post-create-project-cmd": [
23 | "Bolt\\Composer\\ScriptHandler::configureProject",
24 | "Bolt\\Composer\\ScriptHandler::installThemesAndFiles",
25 | "nut extensions:setup"
26 | ]
27 | },
28 | "extra": {
29 | "bolt-web-dir": "./public"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/3.5/sqlite/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rossriley/docker-bolt",
3 | "require": {
4 | "bolt/bolt": "^3.5"
5 | },
6 | "authors": [
7 | {
8 | "name": "Ross Riley",
9 | "email": "riley.ross@gmail.com"
10 | }
11 | ],
12 | "minimum-stability": "beta",
13 | "prefer-stable": true,
14 | "scripts": {
15 | "post-install-cmd": [
16 | "Bolt\\Composer\\ScriptHandler::installAssets"
17 | ],
18 | "post-update-cmd": [
19 | "Bolt\\Composer\\ScriptHandler::updateProject",
20 | "Bolt\\Composer\\ScriptHandler::installAssets"
21 | ],
22 | "post-create-project-cmd": [
23 | "Bolt\\Composer\\ScriptHandler::configureProject",
24 | "Bolt\\Composer\\ScriptHandler::installThemesAndFiles",
25 | "nut extensions:setup"
26 | ]
27 | },
28 | "extra": {
29 | "bolt-web-dir": "./public"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/3.6/mariadb/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rossriley/docker-bolt",
3 | "require": {
4 | "bolt/bolt": "^3.6"
5 | },
6 | "authors": [
7 | {
8 | "name": "Ross Riley",
9 | "email": "riley.ross@gmail.com"
10 | }
11 | ],
12 | "minimum-stability": "beta",
13 | "prefer-stable": true,
14 | "scripts": {
15 | "post-install-cmd": [
16 | "Bolt\\Composer\\ScriptHandler::installAssets"
17 | ],
18 | "post-update-cmd": [
19 | "Bolt\\Composer\\ScriptHandler::updateProject",
20 | "Bolt\\Composer\\ScriptHandler::installAssets"
21 | ],
22 | "post-create-project-cmd": [
23 | "Bolt\\Composer\\ScriptHandler::configureProject",
24 | "Bolt\\Composer\\ScriptHandler::installThemesAndFiles",
25 | "nut extensions:setup"
26 | ]
27 | },
28 | "extra": {
29 | "bolt-web-dir": "./public"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/3.6/sqlite/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rossriley/docker-bolt",
3 | "require": {
4 | "bolt/bolt": "^3.6"
5 | },
6 | "authors": [
7 | {
8 | "name": "Ross Riley",
9 | "email": "riley.ross@gmail.com"
10 | }
11 | ],
12 | "minimum-stability": "beta",
13 | "prefer-stable": true,
14 | "scripts": {
15 | "post-install-cmd": [
16 | "Bolt\\Composer\\ScriptHandler::installAssets"
17 | ],
18 | "post-update-cmd": [
19 | "Bolt\\Composer\\ScriptHandler::updateProject",
20 | "Bolt\\Composer\\ScriptHandler::installAssets"
21 | ],
22 | "post-create-project-cmd": [
23 | "Bolt\\Composer\\ScriptHandler::configureProject",
24 | "Bolt\\Composer\\ScriptHandler::installThemesAndFiles",
25 | "nut extensions:setup"
26 | ]
27 | },
28 | "extra": {
29 | "bolt-web-dir": "./public"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/3.2/sqlite/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7.1-apache
2 | MAINTAINER Ross Riley "riley.ross@gmail.com"
3 |
4 | RUN apt-get update && apt-get install -y libpq-dev git libpng-dev libjpeg62-turbo-dev libfreetype6-dev wget libxrender1 libfontconfig1 libsqlite3-dev sqlite3 curl git
5 | RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
6 | docker-php-ext-install gd && \
7 | docker-php-ext-install pdo_sqlite && \
8 | docker-php-ext-install exif && \
9 | docker-php-ext-install zip && \
10 | apt-get clean && \
11 | rm -rf /var/lib/apt/lists/*
12 |
13 |
14 | RUN curl -sS https://getcomposer.org/installer | php
15 | RUN mv composer.phar /usr/local/bin/composer
16 |
17 | # Copy across the local files to the root directory
18 | ADD . /var/www/html/
19 | ADD ./server/apache-vhost.conf /etc/apache2/sites-enabled/000-default.conf
20 | ADD ./server/php-config.ini /usr/local/etc/php/conf.d/php-config.ini
21 | RUN chmod +x /var/www/html/start.sh
22 | RUN cd /var/www/html && composer install
23 |
24 | CMD ["/var/www/html/start.sh"]
--------------------------------------------------------------------------------
/3.3/sqlite/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7.1-apache
2 | MAINTAINER Ross Riley "riley.ross@gmail.com"
3 |
4 | RUN apt-get update && apt-get install -y libpq-dev git libpng-dev libjpeg62-turbo-dev libfreetype6-dev wget libxrender1 libfontconfig1 libsqlite3-dev sqlite3 curl git
5 | RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
6 | docker-php-ext-install gd && \
7 | docker-php-ext-install pdo_sqlite && \
8 | docker-php-ext-install exif && \
9 | docker-php-ext-install zip && \
10 | apt-get clean && \
11 | rm -rf /var/lib/apt/lists/*
12 |
13 |
14 | RUN curl -sS https://getcomposer.org/installer | php
15 | RUN mv composer.phar /usr/local/bin/composer
16 |
17 | # Copy across the local files to the root directory
18 | ADD . /var/www/html/
19 | ADD ./server/apache-vhost.conf /etc/apache2/sites-enabled/000-default.conf
20 | ADD ./server/php-config.ini /usr/local/etc/php/conf.d/php-config.ini
21 | RUN chmod +x /var/www/html/start.sh
22 | RUN cd /var/www/html && composer install
23 |
24 | CMD ["/var/www/html/start.sh"]
--------------------------------------------------------------------------------
/3.4/sqlite/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7.1-apache
2 | MAINTAINER Ross Riley "riley.ross@gmail.com"
3 |
4 | RUN apt-get update && apt-get install -y libpq-dev git libpng-dev libjpeg62-turbo-dev libfreetype6-dev wget libxrender1 libfontconfig1 libsqlite3-dev sqlite3 curl git
5 | RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
6 | docker-php-ext-install gd && \
7 | docker-php-ext-install pdo_sqlite && \
8 | docker-php-ext-install exif && \
9 | docker-php-ext-install zip && \
10 | apt-get clean && \
11 | rm -rf /var/lib/apt/lists/*
12 |
13 |
14 | RUN curl -sS https://getcomposer.org/installer | php
15 | RUN mv composer.phar /usr/local/bin/composer
16 |
17 | # Copy across the local files to the root directory
18 | ADD . /var/www/html/
19 | ADD ./server/apache-vhost.conf /etc/apache2/sites-enabled/000-default.conf
20 | ADD ./server/php-config.ini /usr/local/etc/php/conf.d/php-config.ini
21 | RUN chmod +x /var/www/html/start.sh
22 | RUN cd /var/www/html && composer install
23 |
24 | CMD ["/var/www/html/start.sh"]
--------------------------------------------------------------------------------
/3.5/sqlite/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7.1-apache
2 | MAINTAINER Ross Riley "riley.ross@gmail.com"
3 |
4 | RUN apt-get update && apt-get install -y libpq-dev git libpng-dev libjpeg62-turbo-dev libfreetype6-dev wget libxrender1 libfontconfig1 libsqlite3-dev sqlite3 curl git
5 | RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
6 | docker-php-ext-install gd && \
7 | docker-php-ext-install pdo_sqlite && \
8 | docker-php-ext-install exif && \
9 | docker-php-ext-install zip && \
10 | apt-get clean && \
11 | rm -rf /var/lib/apt/lists/*
12 |
13 |
14 | RUN curl -sS https://getcomposer.org/installer | php
15 | RUN mv composer.phar /usr/local/bin/composer
16 |
17 | # Copy across the local files to the root directory
18 | ADD . /var/www/html/
19 | ADD ./server/apache-vhost.conf /etc/apache2/sites-enabled/000-default.conf
20 | ADD ./server/php-config.ini /usr/local/etc/php/conf.d/php-config.ini
21 | RUN chmod +x /var/www/html/start.sh
22 | RUN cd /var/www/html && composer install
23 |
24 | CMD ["/var/www/html/start.sh"]
--------------------------------------------------------------------------------
/3.6/sqlite/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7.2-apache
2 | MAINTAINER Ross Riley "riley.ross@gmail.com"
3 |
4 | RUN apt-get update && apt-get install -y libpq-dev git libpng-dev libjpeg62-turbo-dev libfreetype6-dev wget libxrender1 libfontconfig1 libsqlite3-dev sqlite3 curl git
5 | RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
6 | docker-php-ext-install gd && \
7 | docker-php-ext-install pdo_sqlite && \
8 | docker-php-ext-install exif && \
9 | docker-php-ext-install zip && \
10 | apt-get clean && \
11 | rm -rf /var/lib/apt/lists/*
12 |
13 |
14 | RUN curl -sS https://getcomposer.org/installer | php
15 | RUN mv composer.phar /usr/local/bin/composer
16 |
17 | # Copy across the local files to the root directory
18 | ADD . /var/www/html/
19 | ADD ./server/apache-vhost.conf /etc/apache2/sites-enabled/000-default.conf
20 | ADD ./server/php-config.ini /usr/local/etc/php/conf.d/php-config.ini
21 | RUN chmod +x /var/www/html/start.sh
22 | RUN cd /var/www/html && composer install
23 |
24 | CMD ["/var/www/html/start.sh"]
--------------------------------------------------------------------------------
/3.2/sqlite/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | ./vendor/bin/nut database:update;
3 | mkdir -p ./app/cache;
4 | mkdir -p ./app/config;
5 | mkdir -p ./public/extensions;
6 | mkdir -p ./public/extensions/var;
7 | mkdir -p ./public/files;
8 | mkdir -p ./extensions;
9 | chmod -R 0777 ./app;
10 | chmod -R 0777 ./public/extensions;
11 | chmod 0777 ./public/files;
12 | IFS=","
13 | set -- $BOLT_EXT
14 | for element in $@
15 | do
16 | echo "Installing extension $element";
17 | eval "./vendor/bin/nut extensions:install $element";
18 | done
19 |
20 | if [ -n "$BOLT_THEME" ]
21 | then
22 | echo "Installing theme $BOLT_THEME";
23 | eval "./vendor/bin/nut config:set theme demo";
24 | eval "cp -prf extensions/vendor/$BOLT_THEME public/theme/demo"
25 | eval "cp -prf extensions/vendor/$BOLT_THEME public/theme/`basename $BOLT_THEME`"
26 | eval "cp -prf vendor/bolt/bolt/files/* public/files/"
27 | else
28 | echo -e "BOLT_THEME not set\n"
29 | fi
30 |
31 | if [ -n "$BOLT_TITLE" ]
32 | then
33 | eval "./vendor/bin/nut config:set sitename '$BOLT_TITLE'";
34 | fi
35 |
36 | chmod -R 0777 ./extensions;
37 | rm -f /var/run/apache2/apache2.pid
38 | exec apache2-foreground
--------------------------------------------------------------------------------
/3.3/sqlite/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | ./vendor/bin/nut database:update;
3 | mkdir -p ./app/cache;
4 | mkdir -p ./app/config;
5 | mkdir -p ./public/extensions;
6 | mkdir -p ./public/extensions/var;
7 | mkdir -p ./public/files;
8 | mkdir -p ./extensions;
9 | chmod -R 0777 ./app;
10 | chmod -R 0777 ./public/extensions;
11 | chmod 0777 ./public/files;
12 | IFS=","
13 | set -- $BOLT_EXT
14 | for element in $@
15 | do
16 | echo "Installing extension $element";
17 | eval "./vendor/bin/nut extensions:install $element";
18 | done
19 |
20 | if [ -n "$BOLT_THEME" ]
21 | then
22 | echo "Installing theme $BOLT_THEME";
23 | eval "./vendor/bin/nut config:set theme demo";
24 | eval "cp -prf extensions/vendor/$BOLT_THEME public/theme/demo"
25 | eval "cp -prf extensions/vendor/$BOLT_THEME public/theme/`basename $BOLT_THEME`"
26 | eval "cp -prf vendor/bolt/bolt/files/* public/files/"
27 | else
28 | echo -e "BOLT_THEME not set\n"
29 | fi
30 |
31 | if [ -n "$BOLT_TITLE" ]
32 | then
33 | eval "./vendor/bin/nut config:set sitename '$BOLT_TITLE'";
34 | fi
35 |
36 | chmod -R 0777 ./extensions;
37 | rm -f /var/run/apache2/apache2.pid
38 | exec apache2-foreground
--------------------------------------------------------------------------------
/3.4/sqlite/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | ./vendor/bin/nut database:update -n;
3 | mkdir -p ./app/cache;
4 | mkdir -p ./app/config;
5 | mkdir -p ./public/extensions;
6 | mkdir -p ./public/extensions/var;
7 | mkdir -p ./public/files;
8 | mkdir -p ./extensions;
9 | chmod -R 0777 ./app;
10 | chmod -R 0777 ./public/extensions;
11 | chmod 0777 ./public/files;
12 | IFS=","
13 | set -- $BOLT_EXT
14 | for element in $@
15 | do
16 | echo "Installing extension $element";
17 | eval "./vendor/bin/nut extensions:install $element";
18 | done
19 |
20 | if [ -n "$BOLT_THEME" ]
21 | then
22 | echo "Installing theme $BOLT_THEME";
23 | eval "./vendor/bin/nut config:set theme demo";
24 | eval "cp -prf extensions/vendor/$BOLT_THEME public/theme/demo"
25 | eval "cp -prf extensions/vendor/$BOLT_THEME public/theme/`basename $BOLT_THEME`"
26 | eval "cp -prf vendor/bolt/bolt/files/* public/files/"
27 | else
28 | echo -e "BOLT_THEME not set\n"
29 | fi
30 |
31 | if [ -n "$BOLT_TITLE" ]
32 | then
33 | eval "./vendor/bin/nut config:set sitename '$BOLT_TITLE'";
34 | fi
35 |
36 | chmod -R 0777 ./extensions;
37 | rm -f /var/run/apache2/apache2.pid
38 | exec apache2-foreground
--------------------------------------------------------------------------------
/3.5/sqlite/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | ./vendor/bin/nut database:update -n;
3 | mkdir -p ./app/cache;
4 | mkdir -p ./app/config;
5 | mkdir -p ./public/extensions;
6 | mkdir -p ./public/extensions/var;
7 | mkdir -p ./public/files;
8 | mkdir -p ./extensions;
9 | chmod -R 0777 ./app;
10 | chmod -R 0777 ./public/extensions;
11 | chmod 0777 ./public/files;
12 | IFS=","
13 | set -- $BOLT_EXT
14 | for element in $@
15 | do
16 | echo "Installing extension $element";
17 | eval "./vendor/bin/nut extensions:install $element";
18 | done
19 |
20 | if [ -n "$BOLT_THEME" ]
21 | then
22 | echo "Installing theme $BOLT_THEME";
23 | eval "./vendor/bin/nut config:set theme demo";
24 | eval "cp -prf extensions/vendor/$BOLT_THEME public/theme/demo"
25 | eval "cp -prf extensions/vendor/$BOLT_THEME public/theme/`basename $BOLT_THEME`"
26 | eval "cp -prf vendor/bolt/bolt/files/* public/files/"
27 | else
28 | echo -e "BOLT_THEME not set\n"
29 | fi
30 |
31 | if [ -n "$BOLT_TITLE" ]
32 | then
33 | eval "./vendor/bin/nut config:set sitename '$BOLT_TITLE'";
34 | fi
35 |
36 | chmod -R 0777 ./extensions;
37 | rm -f /var/run/apache2/apache2.pid
38 | exec apache2-foreground
--------------------------------------------------------------------------------
/3.6/sqlite/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | ./vendor/bin/nut database:update -n;
3 | mkdir -p ./app/cache;
4 | mkdir -p ./app/config;
5 | mkdir -p ./public/extensions;
6 | mkdir -p ./public/extensions/var;
7 | mkdir -p ./public/files;
8 | mkdir -p ./extensions;
9 | chmod -R 0777 ./app;
10 | chmod -R 0777 ./public/extensions;
11 | chmod 0777 ./public/files;
12 | IFS=","
13 | set -- $BOLT_EXT
14 | for element in $@
15 | do
16 | echo "Installing extension $element";
17 | eval "./vendor/bin/nut extensions:install $element";
18 | done
19 |
20 | if [ -n "$BOLT_THEME" ]
21 | then
22 | echo "Installing theme $BOLT_THEME";
23 | eval "./vendor/bin/nut config:set theme demo";
24 | eval "cp -prf extensions/vendor/$BOLT_THEME public/theme/demo"
25 | eval "cp -prf extensions/vendor/$BOLT_THEME public/theme/`basename $BOLT_THEME`"
26 | eval "cp -prf vendor/bolt/bolt/files/* public/files/"
27 | else
28 | echo -e "BOLT_THEME not set\n"
29 | fi
30 |
31 | if [ -n "$BOLT_TITLE" ]
32 | then
33 | eval "./vendor/bin/nut config:set sitename '$BOLT_TITLE'";
34 | fi
35 |
36 | chmod -R 0777 ./extensions;
37 | rm -f /var/run/apache2/apache2.pid
38 | exec apache2-foreground
--------------------------------------------------------------------------------
/3.3/mariadb/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7.1-apache
2 | MAINTAINER Ross Riley "riley.ross@gmail.com"
3 |
4 | RUN apt-get update && apt-get install -y libpq-dev git libpng-dev libjpeg62-turbo-dev libfreetype6-dev wget libxrender1 libfontconfig1
5 | RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
6 | docker-php-ext-install -j$(nproc) gd && \
7 | docker-php-ext-install pdo_mysql && \
8 | docker-php-ext-install exif && \
9 | docker-php-ext-install zip && \
10 | apt-get clean && \
11 | rm -rf /var/lib/apt/lists/*
12 |
13 | RUN a2enmod headers
14 | RUN a2enmod rewrite
15 |
16 | RUN curl -sS https://getcomposer.org/installer | php
17 | RUN mv composer.phar /usr/local/bin/composer
18 |
19 | # Copy across the local files to the root directory
20 | ADD . /var/www/html/
21 | ADD ./server/apache-vhost.conf /etc/apache2/sites-enabled/
22 | RUN rm /etc/apache2/sites-enabled/000-default.conf
23 | ADD ./server/php-config.ini /usr/local/etc/php/conf.d/php-config.ini
24 | RUN chmod +x /var/www/html/start.sh
25 |
26 | RUN cd /var/www/html && composer install
27 |
28 | CMD ["/var/www/html/start.sh"]
29 |
--------------------------------------------------------------------------------
/3.4/mariadb/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7.1-apache
2 | MAINTAINER Ross Riley "riley.ross@gmail.com"
3 |
4 | RUN apt-get update && apt-get install -y libpq-dev git libpng-dev libjpeg62-turbo-dev libfreetype6-dev wget libxrender1 libfontconfig1
5 | RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
6 | docker-php-ext-install -j$(nproc) gd && \
7 | docker-php-ext-install pdo_mysql && \
8 | docker-php-ext-install exif && \
9 | docker-php-ext-install zip && \
10 | apt-get clean && \
11 | rm -rf /var/lib/apt/lists/*
12 |
13 | RUN a2enmod headers
14 | RUN a2enmod rewrite
15 |
16 | RUN curl -sS https://getcomposer.org/installer | php
17 | RUN mv composer.phar /usr/local/bin/composer
18 |
19 | # Copy across the local files to the root directory
20 | ADD . /var/www/html/
21 | ADD ./server/apache-vhost.conf /etc/apache2/sites-enabled/
22 | RUN rm /etc/apache2/sites-enabled/000-default.conf
23 | ADD ./server/php-config.ini /usr/local/etc/php/conf.d/php-config.ini
24 | RUN chmod +x /var/www/html/start.sh
25 |
26 | RUN cd /var/www/html && composer install
27 |
28 | CMD ["/var/www/html/start.sh"]
29 |
--------------------------------------------------------------------------------
/3.5/mariadb/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7.1-apache
2 | MAINTAINER Ross Riley "riley.ross@gmail.com"
3 |
4 | RUN apt-get update && apt-get install -y libpq-dev git libpng-dev libjpeg62-turbo-dev libfreetype6-dev wget libxrender1 libfontconfig1
5 | RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
6 | docker-php-ext-install -j$(nproc) gd && \
7 | docker-php-ext-install pdo_mysql && \
8 | docker-php-ext-install exif && \
9 | docker-php-ext-install zip && \
10 | apt-get clean && \
11 | rm -rf /var/lib/apt/lists/*
12 |
13 | RUN a2enmod headers
14 | RUN a2enmod rewrite
15 |
16 | RUN curl -sS https://getcomposer.org/installer | php
17 | RUN mv composer.phar /usr/local/bin/composer
18 |
19 | # Copy across the local files to the root directory
20 | ADD . /var/www/html/
21 | ADD ./server/apache-vhost.conf /etc/apache2/sites-enabled/
22 | RUN rm /etc/apache2/sites-enabled/000-default.conf
23 | ADD ./server/php-config.ini /usr/local/etc/php/conf.d/php-config.ini
24 | RUN chmod +x /var/www/html/start.sh
25 |
26 | RUN cd /var/www/html && composer install
27 |
28 | CMD ["/var/www/html/start.sh"]
29 |
--------------------------------------------------------------------------------
/3.6/mariadb/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7.1-apache
2 | MAINTAINER Ross Riley "riley.ross@gmail.com"
3 |
4 | RUN apt-get update && apt-get install -y libpq-dev git libpng-dev libjpeg62-turbo-dev libfreetype6-dev wget libxrender1 libfontconfig1
5 | RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
6 | docker-php-ext-install -j$(nproc) gd && \
7 | docker-php-ext-install pdo_mysql && \
8 | docker-php-ext-install exif && \
9 | docker-php-ext-install zip && \
10 | apt-get clean && \
11 | rm -rf /var/lib/apt/lists/*
12 |
13 | RUN a2enmod headers
14 | RUN a2enmod rewrite
15 |
16 | RUN curl -sS https://getcomposer.org/installer | php
17 | RUN mv composer.phar /usr/local/bin/composer
18 |
19 | # Copy across the local files to the root directory
20 | ADD . /var/www/html/
21 | ADD ./server/apache-vhost.conf /etc/apache2/sites-enabled/
22 | RUN rm /etc/apache2/sites-enabled/000-default.conf
23 | ADD ./server/php-config.ini /usr/local/etc/php/conf.d/php-config.ini
24 | RUN chmod +x /var/www/html/start.sh
25 |
26 | RUN cd /var/www/html && composer install
27 |
28 | CMD ["/var/www/html/start.sh"]
29 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu:16.04
2 | MAINTAINER Ross Riley "riley.ross@gmail.com"
3 |
4 | # Install nginx
5 | ENV HOME /root
6 | RUN apt-get update && apt-get install -y nginx supervisor curl git
7 | RUN echo "daemon off;" >> /etc/nginx/nginx.conf
8 |
9 | RUN locale-gen en_US.UTF-8 && \
10 | echo 'LANG="en_US.utf-8"' > /etc/default/locale
11 | RUN dpkg-reconfigure locales
12 |
13 | # Install PHP7 and modules along with composer binary
14 | RUN apt-get -y install php7.0-fpm php7.0-pgsql php7.0-mcrypt php7.0-curl php7.0-gd php7.0-json php7.0-cli php-ssh2 php7.0-sqlite php7.0-mbstring php7.0-xml
15 | RUN sed -i -e "s/short_open_tag = Off/short_open_tag = On/g" /etc/php/7.0/fpm/php.ini
16 | RUN sed -i -e "s/post_max_size = 8M/post_max_size = 20M/g" /etc/php/7.0/fpm/php.ini
17 | RUN sed -i -e "s/upload_max_filesize = 2M/upload_max_filesize = 20M/g" /etc/php/7.0/fpm/php.ini
18 | RUN curl -sS https://getcomposer.org/installer | php
19 | RUN mv composer.phar /usr/local/bin/composer
20 |
21 | # Configure nginx for PHP websites
22 | RUN mkdir /var/run/php
23 | RUN echo "cgi.fix_pathinfo = 0;" >> /etc/php/7.0/fpm/php.ini
24 | RUN echo "max_input_vars = 10000;" >> /etc/php/7.0/fpm/php.ini
25 | RUN echo "date.timezone = Europe/London;" >> etc/php/7.0/fpm/php.ini
26 |
27 | # Setup supervisor
28 | COPY supervisor/nginx.conf /etc/supervisor/conf.d/
29 | COPY supervisor/php.conf /etc/supervisor/conf.d/
30 | COPY supervisor/user.conf /etc/supervisor/conf.d/
31 |
32 | # Disallow key checking
33 | RUN echo " StrictHostKeyChecking no" >> /etc/ssh/ssh_config
34 |
35 |
36 | # Adds the default server to nginx config
37 | COPY config/nginx.conf /etc/nginx/sites-available/default
38 |
39 | # Internal Port Expose
40 | EXPOSE 80 443
41 |
42 | COPY ./ /var/www/
43 |
44 | RUN chmod +x /var/www/start.sh
45 | RUN chmod -R 0777 /var/www/public
46 | RUN cd /var/www/ && composer update
47 | RUN mkdir -p /var/www/app/config
48 | RUN chmod -R 0777 /var/www/app
49 | RUN cd /var/www/ && vendor/bin/nut database:update
50 | RUN cd /var/www/ && vendor/bin/nut user:add admin Admin admin@bolt.cm password root
51 | RUN mkdir -p /var/www/public/theme
52 | RUN mkdir -p /var/www/public/extensions
53 | RUN mkdir -p /var/www/public/files
54 | RUN chmod -R 0777 /var/www/public/extensions
55 | RUN chmod -R 0777 /var/www/public/files
56 | RUN cp -r /var/www/vendor/bolt/bolt/files/* /var/www/public/files/
57 | RUN ln -sf /var/www/vendor/bolt/bolt/theme/base-2016 /var/www/public/theme/base-2016
58 | RUN ln -sf /var/www/vendor/bolt/bolt/theme /var/www/theme
59 |
60 | CMD ["/usr/bin/supervisord", "-n"]
61 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## The official Bolt Docker Image
2 |
3 | This is also the image that powers the container Bolt demo sites on https://try.bolt.cm
4 | and https://market.bolt.cm.
5 |
6 | It uses Apache, PHP-FPM and SQLite in a single service.
7 |
8 | It should be used in production with a separate http proxy container, we'd recommend
9 | jwilder/nginx-proxy which will allow you to define a virtual host for each container.
10 |
11 | ### Supported Tags
12 |
13 | * `3.6`, `latest`
14 | * `3.5`,
15 | * `3.4`,
16 | * `3.3`,
17 | * `3.2`
18 |
19 |
20 | ### Releases
21 |
22 | This repo by default uses SQLite requesting the version number only will fetch this
23 | There is now experimental mysql support which you can specify by prefixing `mysql-` to
24 | the release tag.
25 |
26 | As new versions are released we will tag a corresponding version for the image. You can
27 | always leave the tag empty or define `latest` which will have the same effect of installing
28 | the latest stable version.
29 |
30 |
31 | ### Quick Start
32 |
33 | All you need to do to get started is pull the image and then launch a container.
34 |
35 | ```bash
36 | docker pull rossriley/docker-bolt
37 | ```
38 |
39 | If you want to specify a specific tag then append that as below
40 |
41 | ```bash
42 | docker pull rossriley/docker-bolt:3.3
43 | ```
44 |
45 | Once the pull has completed then you can launch a container using the `docker run` command,
46 | there are a few additional environment variables that you can pass, the one shown below installs
47 | the default Bolt theme.
48 |
49 | ```bash
50 | docker run -p 80 --name my_bolt_site -e BOLT_EXT='bolt/theme-2016 dev-master' -e BOLT_TITLE='My Bolt Site' -e BOLT_THEME='bolt/theme-2016' -d -t rossriley/docker-bolt
51 | ```
52 |
53 | ### Using Docker-Compose
54 |
55 | If you use `docker-compose` then all you need is a `docker-compose.yml` file that looks something
56 | like this:
57 |
58 | ```yaml
59 | version: '2'
60 |
61 | services:
62 | bolt:
63 | image: rossriley/docker-bolt:3.6
64 | network_mode: bridge
65 | environment:
66 | - BOLT_EXT=bolt/theme-2018 dev-master
67 | - BOLT_TITLE=My Bolt Site
68 | - BOLT_THEME=bolt/theme-2018
69 | volumes:
70 | - ./db-data:/var/www/html/app/database
71 | - ./files:/var/www/html/public/files
72 | - ./extensions:/var/www/html/extensions
73 | ```
74 |
75 | This config will get you the latest 3.6.x release, note the additional environment variables
76 | you can set to install and configure a theme, in this case the default Bolt theme.
77 |
78 | A few volumes are also defined here which will allow you to persist the database, files
79 | and extensions to the host.
80 |
81 | Please note that you may want to define additional persistent volumes here depending on what
82 | files you allow the admin users to edit.
--------------------------------------------------------------------------------