├── 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. --------------------------------------------------------------------------------