diff --git a/CHANGELOG.md b/CHANGELOG.md index 9db742f..9cff732 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,22 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). -## [Unreleased](https://github.com/passbolt/passbolt_docker/compare/v1.6.5+1...HEAD) +## [Unreleased](https://github.com/passbolt/passbolt_docker/compare/v1.6.9...HEAD) + +## [1.6.9](https://github.com/passbolt/passbolt_docker/compare/v1.6.5+1...v1.6.9) - 2018-01-14 + +This release provides the last passbolt_api 1.x series release along with several pull requests +and fixes. + +### Fixed + +- Unable to access default installation with http [#59](https://github.com/passbolt/passbolt_docker/issues/59) +- Check and correct the permissions and ownership of /var/www/passbolt [#67](https://github.com/passbolt/passbolt_docker/issues/67) +- cp: Unrecognized option -T [#75](https://github.com/passbolt/passbolt_docker/issues/75) +- turn URL config independent from SSL var [#76](https://github.com/passbolt/passbolt_docker/pull/76) +- Set the default MySQL port to 3306 [#77](https://github.com/passbolt/passbolt_docker/pull/77) +- Add environment variable to set email client [#81](https://github.com/passbolt/passbolt_docker/pull/81) + ## [1.6.5+1](https://github.com/passbolt/passbolt_docker/compare/v1.6.5...v1.6.5+1) - 2017-11-14 diff --git a/Dockerfile b/Dockerfile index fc8bd9f..162c763 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ FROM alpine:3.6 LABEL maintainer="diego@passbolt.com" -ENV PASSBOLT_VERSION 1.6.5 +ENV PASSBOLT_VERSION 1.6.9 ENV PASSBOLT_URL https://github.com/passbolt/passbolt_api/archive/v${PASSBOLT_VERSION}.tar.gz ARG BASE_PHP_DEPS="php5-curl \ @@ -38,6 +38,7 @@ ARG PHP_GNUPG_DEPS="php5-dev \ RUN apk add --no-cache $BASE_PHP_DEPS \ sed \ + coreutils \ tar \ bash \ curl \ diff --git a/README.md b/README.md index 4a3eb8b..3449470 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ Passbolt docker image provides several environment variables to configure differ * SALT: a random string used by cakephp in security hashing methods * CIPHERSEED: a random string used by cakephp to encrypt/decrypt strings -* URL: URL of the passbolt installation (defaults to passbolt.local) +* URL: URL of the passbolt installation (defaults to http://passbolt.local) ### Database variables @@ -96,6 +96,7 @@ Passbolt docker image provides several environment variables to configure differ * EMAIL_AUTH: disable smtp auth ( defaults to true) * EMAIL_USERNAME: username for email server auth ( defaults to email_user) * EMAIL_PASSWORD: password for email server auth ( defaults to email_password) +* EMAIL_CLIENT: hostname to send as smtp helo ( defaults to null) * EMAIL_TLS: set tls, boolean ( defaults to false) ## Advanced configuration diff --git a/bin/docker-entrypoint.sh b/bin/docker-entrypoint.sh index 0a52c03..b7a52b6 100755 --- a/bin/docker-entrypoint.sh +++ b/bin/docker-entrypoint.sh @@ -45,16 +45,13 @@ core_setup() { local default_salt='DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi' local default_seed='76859309657453542496749683645' - local default_url='passbolt.local' + local default_url='http://passbolt.local' cp $core_config{.default,} sed -i s:$default_salt:${SALT:-$default_salt}:g $core_config sed -i s:$default_seed:${CIPHERSEED:-$default_seed}:g $core_config sed -i "/example.com/ s:\/\/::" $core_config - sed -i s:example.com:${URL:-$default_url}:g $core_config - if [ "${SSL:-true}" != false ]; then - sed -i s:http:https:g $core_config - fi + sed -i "s|http://example.com|${URL:-$default_url}|g" $core_config } db_setup() { @@ -109,6 +106,7 @@ email_setup() { # EMAIL_AUTH # EMAIL_USERNAME # EMAIL_PASSWORD + # EMAIL_CLIENT # EMAIL_TLS local default_transport='Smtp' @@ -118,6 +116,7 @@ email_setup() { local default_timeout='30' local default_username="''" local default_password="''" + local default_client=null cp $email_config{.default,} sed -i s:$default_transport:${EMAIL_TRANSPORT:-Smtp}:g $email_config @@ -132,7 +131,9 @@ email_setup() { sed -i "0,/"$default_username"/s:"$default_username":'${EMAIL_USERNAME:-email_user}':" $email_config sed -i "0,/"$default_password"/s:"$default_password":'${EMAIL_PASSWORD:-email_password}':" $email_config fi - + if [ -n "$EMAIL_CLIENT" ] ; then + sed -i "0,/"$default_client"/s:"$default_client":'$EMAIL_CLIENT':" $email_config + fi sed -i "0,/tls/s:false:${EMAIL_TLS:-false}:" $email_config } @@ -149,7 +150,7 @@ install() { local database_user=${DB_USER:-$(cat $db_config | grep -m1 "'login'" | sed -r "s/\s*'login' => '(.*)',/\1/")} local database_pass=${DB_PASS:-$(cat $db_config | grep -m1 "'password'" | sed -r "s/\s*'password' => '(.*)',/\1/")} local database_name=${DB_NAME:-$(cat $db_config | grep -m1 "'database'" | sed -r "s/\s*'database' => '(.*)',/\1/")} - tables=$(mysql -u ${database_user:-passbolt} -h $database_host -P $database_port -p -BN -e "SHOW TABLES FROM ${database_name:-passbolt}" -p${database_pass:-P4ssb0lt} |wc -l) + tables=$(mysql -u ${database_user:-passbolt} -h $database_host -P ${database_port:-3306} -p -BN -e "SHOW TABLES FROM ${database_name:-passbolt}" -p${database_pass:-P4ssb0lt} |wc -l) if [ $tables -eq 0 ]; then su -c "/var/www/passbolt/app/Console/cake install --send-anonymous-statistics true --no-admin" -ls /bin/bash nginx @@ -165,6 +166,12 @@ php_fpm_setup() { sed -i '/^include\s/ s:^:#:' /etc/php5/fpm.d/www.conf } +check_permissions() { + chown -R nginx:nginx /var/www/passbolt + chmod -R +w /var/www/passbolt/app/tmp + chmod +w /var/www/passbolt/app/webroot/img/public +} + email_cron_job() { local root_crontab='/etc/crontabs/root' local cron_task_dir='/etc/periodic/1min' @@ -183,7 +190,6 @@ email_cron_job() { crond -f -c /etc/crontabs & } - if [ ! -f $gpg_private_key ] && [ ! -L $gpg_private_key ] || \ [ ! -f $gpg_public_key ] && [ ! -L $gpg_public_key ]; then gpg_gen_key @@ -212,6 +218,8 @@ if [ ! -f $ssl_key ] && [ ! -L $ssl_key ] && \ gen_ssl_cert fi +check_permissions + php_fpm_setup install diff --git a/conf/passbolt.conf b/conf/passbolt.conf index c48a17a..fb8b961 100644 --- a/conf/passbolt.conf +++ b/conf/passbolt.conf @@ -4,7 +4,6 @@ server { client_body_buffer_size 100K; client_header_buffer_size 1k; client_max_body_size 100k; - large_client_header_buffers 2 1k; client_body_timeout 10; client_header_timeout 10;