diff --git a/.travis.yml b/.travis.yml index 803b961..fcfec2f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -58,35 +58,26 @@ jobs: - ./.travis/test-entrypoint.sh - stage: test images (amd64) - env: VERSION=2019.09-rc VARIANT=fpm-alpine ARCH=amd64 - - env: VERSION=2019.09-rc VARIANT=fpm ARCH=amd64 - - env: VERSION=2019.09-rc VARIANT=apache ARCH=amd64 - - env: VERSION=2019.09-dev VARIANT=fpm-alpine ARCH=amd64 - - env: VERSION=2019.09-dev VARIANT=fpm ARCH=amd64 - - env: VERSION=2019.09-dev VARIANT=apache ARCH=amd64 - - env: VERSION=2019.06 VARIANT=fpm-alpine ARCH=amd64 - - env: VERSION=2019.06 VARIANT=fpm ARCH=amd64 - - env: VERSION=2019.06 VARIANT=apache ARCH=amd64 + env: VERSION=2019.12-dev VARIANT=fpm-alpine ARCH=amd64 + - env: VERSION=2019.12-dev VARIANT=fpm ARCH=amd64 + - env: VERSION=2019.12-dev VARIANT=apache ARCH=amd64 + - env: VERSION=2019.09 VARIANT=fpm-alpine ARCH=amd64 + - env: VERSION=2019.09 VARIANT=fpm ARCH=amd64 + - env: VERSION=2019.09 VARIANT=apache ARCH=amd64 - stage: test images (full) - env: VERSION=2019.09-rc VARIANT=fpm-alpine ARCH=amd64 - - env: VERSION=2019.09-rc VARIANT=fpm-alpine ARCH=i386 - - env: VERSION=2019.09-rc VARIANT=fpm ARCH=amd64 - - env: VERSION=2019.09-rc VARIANT=fpm ARCH=i386 - - env: VERSION=2019.09-rc VARIANT=apache ARCH=amd64 - - env: VERSION=2019.09-rc VARIANT=apache ARCH=i386 - - env: VERSION=2019.09-dev VARIANT=fpm-alpine ARCH=amd64 - - env: VERSION=2019.09-dev VARIANT=fpm-alpine ARCH=i386 - - env: VERSION=2019.09-dev VARIANT=fpm ARCH=amd64 - - env: VERSION=2019.09-dev VARIANT=fpm ARCH=i386 - - env: VERSION=2019.09-dev VARIANT=apache ARCH=amd64 - - env: VERSION=2019.09-dev VARIANT=apache ARCH=i386 - - env: VERSION=2019.06 VARIANT=fpm-alpine ARCH=amd64 - - env: VERSION=2019.06 VARIANT=fpm-alpine ARCH=i386 - - env: VERSION=2019.06 VARIANT=fpm ARCH=amd64 - - env: VERSION=2019.06 VARIANT=fpm ARCH=i386 - - env: VERSION=2019.06 VARIANT=apache ARCH=amd64 - - env: VERSION=2019.06 VARIANT=apache ARCH=i386 + env: VERSION=2019.12-dev VARIANT=fpm-alpine ARCH=amd64 + - env: VERSION=2019.12-dev VARIANT=fpm-alpine ARCH=i386 + - env: VERSION=2019.12-dev VARIANT=fpm ARCH=amd64 + - env: VERSION=2019.12-dev VARIANT=fpm ARCH=i386 + - env: VERSION=2019.12-dev VARIANT=apache ARCH=amd64 + - env: VERSION=2019.12-dev VARIANT=apache ARCH=i386 + - env: VERSION=2019.09 VARIANT=fpm-alpine ARCH=amd64 + - env: VERSION=2019.09 VARIANT=fpm-alpine ARCH=i386 + - env: VERSION=2019.09 VARIANT=fpm ARCH=amd64 + - env: VERSION=2019.09 VARIANT=fpm ARCH=i386 + - env: VERSION=2019.09 VARIANT=apache ARCH=amd64 + - env: VERSION=2019.09 VARIANT=apache ARCH=i386 - stage: deploy env: SCRIPT=build_and_push.sh diff --git a/2019.09-dev/apache/Dockerfile b/2019.09-dev/apache/Dockerfile deleted file mode 100644 index 9e6b12a..0000000 --- a/2019.09-dev/apache/Dockerfile +++ /dev/null @@ -1,123 +0,0 @@ -# DO NOT EDIT: created by update.sh from Dockerfile-debian.template -FROM php:7.3-apache-stretch - -# entrypoint.sh and cron.sh dependencies -RUN set -ex; \ - \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - rsync \ - bzip2 \ - git \ -# For mail() support - ssmtp \ - ; \ - rm -rf /var/lib/apt/lists/*; - -# install the PHP extensions we need -# see https://friendi.ca/resources/requirements/ -RUN set -ex; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - mysql-client \ - bash \ - $PHPIZE_DEPS \ - libpng-dev \ - libjpeg62-turbo-dev \ - libtool \ - libmagick++-dev \ - libmemcached-dev \ - libgraphicsmagick1-dev \ - libfreetype6-dev \ - librsvg2-2 \ - libzip-dev \ - ; \ - docker-php-ext-configure gd \ - --with-gd \ - --with-freetype-dir=/usr/include/ \ - --with-png-dir=/usr/include/ \ - --with-jpeg-dir=/usr/include/ \ - ; \ - docker-php-ext-install -j "$(nproc)" \ - pdo_mysql \ - gd \ - zip \ - opcache \ - ctype \ - pcntl \ - ; \ - \ -# pecl will claim success even if one install fails, so we need to perform each install separately - pecl install apcu-5.1.17; \ - pecl install memcached-3.1.3; \ - pecl install redis-5.0.2; \ - pecl install imagick-3.4.4; \ - \ - docker-php-ext-enable \ - apcu \ - memcached \ - redis \ - imagick \ - ; \ - \ -# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark; \ - ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \ - | awk '/=>/ { print $3 }' \ - | sort -u \ - | xargs -r dpkg-query -S \ - | cut -d: -f1 \ - | sort -u \ - | xargs -rt apt-mark manual; \ - \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf /var/lib/apt/lists/* - -# set recommended PHP.ini settings -RUN set -ex; \ - { \ - echo 'opcache.enable=1' ; \ - echo 'opcache.interned_strings_buffer=8'; \ - echo 'opcache.max_accelerated_files=10000'; \ - echo 'opcache.memory_consumption=128'; \ - echo 'opcache.save_comments=1'; \ - echo 'opcache.revalidte_freq=1'; \ - } > /usr/local/etc/php/conf.d/opcache-recommended.ini; \ - \ - { \ - echo sendmail_path = "/usr/sbin/sendmail -t -i"; \ - } > /usr/local/etc/php/conf.d/sendmail.ini; \ - \ - echo 'apc.enable_cli=1' >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini; \ - \ - echo 'memory_limit=512M' > /usr/local/etc/php/conf.d/memory-limit.ini; \ - \ - mkdir /var/www/data; \ - chown -R www-data:root /var/www; \ - chmod -R g=u /var/www - -VOLUME /var/www/html - -RUN set -ex;\ - a2enmod rewrite remoteip ;\ - {\ - echo RemoteIPHeader X-Real-IP ;\ - echo RemoteIPTrustedProxy 10.0.0.0/8 ;\ - echo RemoteIPTrustedProxy 172.16.0.0/12 ;\ - echo RemoteIPTrustedProxy 192.168.0.0/16 ;\ - } > /etc/apache2/conf-available/remoteip.conf;\ - a2enconf remoteip - -ENV FRIENDICA_VERSION 2019.09-dev -ENV FRIENDICA_ADDONS 2019.09-dev - - -COPY *.sh upgrade.exclude / -COPY config/* /usr/src/friendica/config/ - -ENTRYPOINT ["/entrypoint.sh"] -CMD ["apache2-foreground"] diff --git a/2019.09-rc/apache/config/00apcu.config.php b/2019.09-rc/apache/config/00apcu.config.php deleted file mode 100644 index d6dac4f..0000000 --- a/2019.09-rc/apache/config/00apcu.config.php +++ /dev/null @@ -1,12 +0,0 @@ - [ - 'cache_driver' => 'apcu', - 'session_handler' => 'cache', - ], -]; diff --git a/2019.09-rc/apache/config/01redis.config.php b/2019.09-rc/apache/config/01redis.config.php deleted file mode 100644 index 1a43c95..0000000 --- a/2019.09-rc/apache/config/01redis.config.php +++ /dev/null @@ -1,15 +0,0 @@ - [ - 'lock_driver' => 'redis', - 'redis_host' => getenv('REDIS_HOST'), - 'redis_port' => (getenv('REDIS_PORT') ? getenv('REDIS_PORT') : ''), - 'redis_password' => (getenv('REDIS_PW') ? getenv('REDIS_PW') : ''), - 'redis_db' => (getenv('REDIS_DB') ? getenv('REDIS_DB') : 0), - ], - ]; -} else { - return []; -} diff --git a/2019.09-rc/apache/config/zz-docker.config.php b/2019.09-rc/apache/config/zz-docker.config.php deleted file mode 100644 index c9e5ed8..0000000 --- a/2019.09-rc/apache/config/zz-docker.config.php +++ /dev/null @@ -1,66 +0,0 @@ - [ - // Necessary because otherwise the daemon isn't working - 'pidfile' => '/var/run/friendica.pid', - - 'logfile' => '/var/www/html/friendica.log', - 'loglevel' => 'notice', - ], - 'storage' => [ - 'filesystem_path' => '/var/www/html/storage', - ], -]; - -if (getenv('FRIENDICA_TZ')) { - $config['config']['timezone'] = getenv('FRIENDICA_TZ'); -} - -if (getenv('FRIENDICA_LANG')) { - $config['config']['language'] = getenv('FRIENDICA_LANG'); -} - -if (getenv('FRIENDICA_ADMIN_MAIL')) { - $config['config']['admin_mail'] = getenv('FRIENDICA_ADMIN_MAIL'); -} - -if (getenv('FRIENDICA_SITENAME')) { - $config['config']['sitename'] = getenv('FRIENDICA_SITENAME'); -} - -if (!empty(getenv('FRIENDICA_NO_VALIDATION'))) { - $config['system']['disable_url_validation'] = true; - $config['system']['disable_email_validation'] = true; -} - -if (!empty(getenv('FRIENDICA_DATA'))) { - $config['storage']['class'] = \Friendica\Model\Storage\Filesystem::class; - - if (!empty(getenv('FRIENDICA_DATA_DIR'))) { - $config['storage']['filesystem_path'] = getenv('FRIENDICA_DATA'); - } -} - -if (!empty(getenv('FRIENDICA_DEBUGGING'))) { - $config['system']['debugging'] = true; - if (!empty(getenv('FRIENDICA_LOGFILE'))) { - $config['system']['logfile'] = getenv('FRIENDICA_LOGFILE'); - } - if (!empty(getenv('FRIENDICA_LOGLEVEL'))) { - $config['system']['loglevel'] = getenv('FRIENDICA_LOGLEVEL'); - } -} - -if (!empty(getenv('HOSTNAME'))) { - $config['config']['hostname'] = getenv('HOSTNAME'); -} - -return $config; diff --git a/2019.09-rc/apache/cron.sh b/2019.09-rc/apache/cron.sh deleted file mode 100755 index cf1f504..0000000 --- a/2019.09-rc/apache/cron.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -trap "break;exit" HUP INT TERM - -while [ ! -f /var/www/html/config/local.ini.php ] && [ ! -f /var/www/html/config/local.config.php ]; do - sleep 1 -done - -# TODO let the database and the autoinstall time to complete - not winning a beauty contest -sleep 15s - -php /var/www/html/bin/daemon.php -f start diff --git a/2019.09-rc/apache/entrypoint.sh b/2019.09-rc/apache/entrypoint.sh deleted file mode 100755 index d6750b7..0000000 --- a/2019.09-rc/apache/entrypoint.sh +++ /dev/null @@ -1,202 +0,0 @@ -#!/bin/sh -set -eu - -# run an command with the www-data user -run_as() { - if [ "$(id -u)" -eq 0 ]; then - su - www-data -s /bin/sh -c "cd /var/www/html;$1" - else - sh -c "$1" - fi -} - -# checks if the the first parameter is greater than the second parameter -version_greater() { - [ "$(printf '%s\n' "$@" | sort -r -t '-' -k2,2 | sort -t '.' -n -k1,1 -k2,2 -s | head -n 1)" != "$1" ] -} - -# clones the whole develop branch (Friendica and Addons) -clone_develop() { - friendica_git="${FRIENDICA_VERSION}" - addons_git="${FRIENDICA_ADDONS}" - friendica_repo="${FRIENDICA_REPOSITORY:-friendica/friendica}" - friendica_addons_repo="${FRIENDICA_ADDONS_REPO:-friendica/friendica-addons}" - - if echo "{$friendica_git,,}" | grep -Eq '^.*\-dev'; then - friendica_git="develop" - fi - - if echo "{$addons_git,,}" | grep -Eq '^.*\-dev'; then - addons_git="develop" - fi - - echo "Downloading Friendica from GitHub '${friendica_repo}/${friendica_git}' ..." - - # Removing the whole directory first - rm -fr /usr/src/friendica - sh -c "git clone -q -b ${friendica_git} https://github.com/${friendica_repo} /usr/src/friendica" - - mkdir /usr/src/friendica/addon - sh -c "git clone -q -b ${addons_git} https://github.com/${friendica_addons_repo} /usr/src/friendica/addon" - - echo "Download finished" - - if [ ! -f /usr/src/friendica/VERSION ]; then - echo "Couldn't clone repository" - exit 1 - fi - - /usr/src/friendica/bin/composer.phar install --no-dev -d /usr/src/friendica -} - -setup_ssmtp() { - if [ -n "${SITENAME+x}" ] && [ -n "${SMTP+x}" ] && [ "${SMTP}" != "localhost" ]; then - echo "Setup SSMTP for '$SITENAME' with '$SMTP' ..." - - smtp_from=${SMTP_FROM:-no-reply} - - # Setup SSMTP - sed -i "s/:root:/:${SITENAME}:/g" /etc/passwd - sed -i "s/:Linux\ User:/:${SITENAME}:/g" /etc/passwd - - # add possible mail-senders - { - echo "www-data:$smtp_from@$HOSTNAME:$SMTP" ; - echo "root::$smtp_from@$HOSTNAME:$SMTP" ; - } > /etc/ssmtp/revaliases; - - # replace ssmtp.conf settings - { - echo "root=:$smtp_from@$HOSTNAME" ; - echo "hostname=$HOSTNAME" ; - echo "mailhub=$SMTP" ; - echo "FromLineOverride=YES" ; - if [ -n "${SMTP_TLS+x}" ]; then echo "UseTLS=$SMTP_TLS"; fi - if [ -n "${SMTP_STARTTLS+x}" ]; then echo "UseSTARTTLS=$SMTP_STARTTLS"; fi - if [ -n "${SMTP_AUTH_USER+x}" ]; then echo "AuthUser=$SMTP_AUTH_USER"; fi - if [ -n "${SMTP_AUTH_PASS+x}" ]; then echo "AuthPass=$SMTP_AUTH_PASS";fi - if [ -n "${SMTP_AUTH_METHOD+x}" ]; then echo "AuthMethod=$SMTP_AUTH_METHOD"; fi - } > /etc/ssmtp/ssmtp.conf - - echo "Setup finished" - fi -} - -# just check if we execute apache or php-fpm -if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then - installed_version="0.0.0.0" - if [ -f /var/www/html/VERSION ]; then - installed_version="$(cat /var/www/html/VERSION)" - fi - - check=false - # cloning from git is just possible for develop or Release Candidats - if echo "${FRIENDICA_VERSION}" | grep -Eq '^.*(\-dev|-rc|-RC)' || [ "${FRIENDICA_UPGRADE:-false}" = "true" ] || [ ! -f /usr/src/friendica/VERSION ]; then - # just clone & check if it's a new install or upgrade - clone_develop - image_version="$(cat /usr/src/friendica/VERSION)" - check=true - else - image_version="$(cat /usr/src/friendica/VERSION)" - - # check it just in case the version is greater - if version_greater "$image_version" "$installed_version"; then - check=true - fi - - # no downgrading possible - if version_greater "$installed_version" "$image_version"; then - echo 'Can'\''t copy Friendica sources because the version of the data ('$installed_version') is higher than the docker image ('$image_version')', 0 - exit 1; - fi - fi - - setup_ssmtp - - if [ "$check" = true ]; then - echo "Initializing Friendica $image_version ..." - - if [ "$installed_version" != "0.0.0.0" ]; then - echo "Upgrading Friendica from $installed_version ..." - fi - - if [ "$(id -u)" -eq 0 ]; then - rsync_options="-rlDog --chown=www-data:www-data" - else - rsync_options="-rlD" - fi - - rsync $rsync_options --delete --exclude-from=/upgrade.exclude /usr/src/friendica/ /var/www/html/ - - # Update docker-based config files, but never delete other config files - rsync $rsync_options --update /usr/src/friendica/config/ /var/www/html/config/ - - # In case there is no .htaccess, copy it from the default dist file - if [ ! -f "/var/www/html/.htaccess" ]; then - cp "/var/www/html/.htaccess-dist" "/var/www/html/.htaccess" - fi - - if [ -d /var/www/html/view/smarty3 ]; then - chmod -R 777 /var/www/html/view/smarty3 - fi - echo "Initializing finished" - - # install - if [ "$installed_version" = "0.0.0.0" ]; then - echo "New Friendica instance" - - install=false - if [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ] && [ -n "${MYSQL_USER+x}" -o -n "${MYSQL_USERNAME+x}" ] && [ -n ${FRIENDICA_ADMIN_MAIL+x} ]; then - echo "Installation with environment variables" - - FRIENDICA_PHP_PATH=${FRIENDICA_PHP_PATH:-/usr/local/php} - FRIENDICA_TZ=${FRIENDICA_TZ:-America/LosAngeles} - FRIENDICA_LANG=${FRIENDICA_LANG:-en} - MYSQL_PORT=${MYSQL_PORT:-3306} - if [ -n "${MYSQL_USER+x}" ]; then - MYSQL_USERNAMEFULL=${MYSQL_USER} - else - MYSQL_USERNAMEFULL=${MYSQL_USERNAME} - fi - - # shellcheck disable=SC2016 - install_options='-s --dbhost "'$MYSQL_HOST'" --dbport "'$MYSQL_PORT'" --dbdata "'$MYSQL_DATABASE'" --dbuser "'$MYSQL_USERNAMEFULL'" --dbpass "'$MYSQL_PASSWORD'"' - - # shellcheck disable=SC2016 - install_options=$install_options' --admin "'$FRIENDICA_ADMIN_MAIL'" --tz "'$FRIENDICA_TZ'" --lang "'$FRIENDICA_LANG'"' - install=true - elif [ -f "/usr/src/config/local.config.php" ]; then - echo "Installation with prepared local.config.php" - - install_options="-f /usr/src/local.config.php" - install=true - fi - - if [ "$install" = true ]; then - echo "Starting Friendica installation ..." - # TODO Let the database time to warm up - not winning a beauty contest - sleep 10s - run_as "cd /var/www/html; php /var/www/html/bin/console.php autoinstall $install_options" - - # TODO Workaround because of a strange permission issue - rm -fr /var/www/html/view/smarty3/compiled - - # load other config files (*.config.php) to the config folder (currently only local.config.php and addon.config.php supported) - if [ -d "/usr/src/config" ]; then - rsync $rsync_options --ignore-existing /usr/src/config/ /var/www/html/config/ - fi - - echo "Installation finished" - else - echo "Running web-based installer on first connect!" - fi - # upgrade - else - echo "Upgrading Friendica ..." - run_as 'cd /var/www/html; php /var/www/html/bin/console.php dbstructure update' - echo "Upgrading finished" - fi - fi -fi - -exec "$@" diff --git a/2019.09-rc/apache/upgrade.exclude b/2019.09-rc/apache/upgrade.exclude deleted file mode 100644 index 2fb6533..0000000 --- a/2019.09-rc/apache/upgrade.exclude +++ /dev/null @@ -1,10 +0,0 @@ -/.git/ -/photo/ -/proxy/ -/.htconfig.php -/.htaccess -/home.* -/config/ -/storage/ -/log/ -*.log \ No newline at end of file diff --git a/2019.09-rc/fpm-alpine/Dockerfile b/2019.09-rc/fpm-alpine/Dockerfile deleted file mode 100644 index 2e2ab0f..0000000 --- a/2019.09-rc/fpm-alpine/Dockerfile +++ /dev/null @@ -1,104 +0,0 @@ -# DO NOT EDIT: created by update.sh from Dockerfile-alpine.template -FROM php:7.3-fpm-alpine - -# entrypoint.sh and cron.sh dependencies -RUN set -ex; \ - apk add --no-cache \ - rsync \ - git \ -# For mail() support - ssmtp; - -# install the PHP extensions we need -# see https://friendi.ca/resources/requirements/ -RUN set -ex; \ - \ - apk add -U --no-cache --virtual .build-deps \ - mysql-client \ - bash \ - $PHPIZE_DEPS \ - libpng-dev \ - libjpeg-turbo-dev \ - imagemagick-dev \ - libtool \ - libmemcached-dev \ - cyrus-sasl-dev \ - libjpeg-turbo-dev \ - freetype-dev \ - librsvg \ - pcre-dev \ - libzip-dev \ - ; \ - \ - docker-php-ext-configure gd \ - --with-gd \ - --with-freetype-dir=/usr/include/ \ - --with-png-dir=/usr/include/ \ - --with-jpeg-dir=/usr/include/ \ - ; \ - \ - docker-php-ext-install -j "$(nproc)" \ - pdo_mysql \ - gd \ - zip \ - opcache \ - pcntl \ - ; \ - \ -# pecl will claim success even if one install fails, so we need to perform each install separately - pecl install APCu-5.1.17; \ - pecl install memcached-3.1.3; \ - pecl install redis-5.0.2; \ - pecl install imagick-3.4.4; \ - \ - docker-php-ext-enable \ - apcu \ - memcached \ - redis \ - imagick \ - ; \ - \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --virtual .friendica-phpext-rundeps $runDeps; \ - apk del .build-deps; - -# set recommended PHP.ini settings -RUN set -ex; \ - { \ - echo 'opcache.enable=1' ; \ - echo 'opcache.interned_strings_buffer=8'; \ - echo 'opcache.max_accelerated_files=10000'; \ - echo 'opcache.memory_consumption=128'; \ - echo 'opcache.save_comments=1'; \ - echo 'opcache.revalidte_freq=1'; \ - } > /usr/local/etc/php/conf.d/opcache-recommended.ini; \ - \ - { \ - echo sendmail_path = "/usr/sbin/sendmail -t -i"; \ - } > /usr/local/etc/php/conf.d/sendmail.ini; \ - \ - echo 'apc.enable_cli=1' >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini; \ - \ - echo 'memory_limit=512M' > /usr/local/etc/php/conf.d/memory-limit.ini; \ - \ - mkdir /var/www/data; \ - chown -R www-data:root /var/www; \ - chmod -R g=u /var/www - -VOLUME /var/www/html - - -ENV FRIENDICA_VERSION 2019.09-rc -ENV FRIENDICA_ADDONS 2019.09-rc - - -COPY *.sh upgrade.exclude / -COPY config/* /usr/src/friendica/config/ - -ENTRYPOINT ["/entrypoint.sh"] -CMD ["php-fpm"] diff --git a/2019.09-rc/fpm-alpine/config/00apcu.config.php b/2019.09-rc/fpm-alpine/config/00apcu.config.php deleted file mode 100644 index d6dac4f..0000000 --- a/2019.09-rc/fpm-alpine/config/00apcu.config.php +++ /dev/null @@ -1,12 +0,0 @@ - [ - 'cache_driver' => 'apcu', - 'session_handler' => 'cache', - ], -]; diff --git a/2019.09-rc/fpm-alpine/config/01redis.config.php b/2019.09-rc/fpm-alpine/config/01redis.config.php deleted file mode 100644 index 1a43c95..0000000 --- a/2019.09-rc/fpm-alpine/config/01redis.config.php +++ /dev/null @@ -1,15 +0,0 @@ - [ - 'lock_driver' => 'redis', - 'redis_host' => getenv('REDIS_HOST'), - 'redis_port' => (getenv('REDIS_PORT') ? getenv('REDIS_PORT') : ''), - 'redis_password' => (getenv('REDIS_PW') ? getenv('REDIS_PW') : ''), - 'redis_db' => (getenv('REDIS_DB') ? getenv('REDIS_DB') : 0), - ], - ]; -} else { - return []; -} diff --git a/2019.09-rc/fpm-alpine/config/zz-docker.config.php b/2019.09-rc/fpm-alpine/config/zz-docker.config.php deleted file mode 100644 index c9e5ed8..0000000 --- a/2019.09-rc/fpm-alpine/config/zz-docker.config.php +++ /dev/null @@ -1,66 +0,0 @@ - [ - // Necessary because otherwise the daemon isn't working - 'pidfile' => '/var/run/friendica.pid', - - 'logfile' => '/var/www/html/friendica.log', - 'loglevel' => 'notice', - ], - 'storage' => [ - 'filesystem_path' => '/var/www/html/storage', - ], -]; - -if (getenv('FRIENDICA_TZ')) { - $config['config']['timezone'] = getenv('FRIENDICA_TZ'); -} - -if (getenv('FRIENDICA_LANG')) { - $config['config']['language'] = getenv('FRIENDICA_LANG'); -} - -if (getenv('FRIENDICA_ADMIN_MAIL')) { - $config['config']['admin_mail'] = getenv('FRIENDICA_ADMIN_MAIL'); -} - -if (getenv('FRIENDICA_SITENAME')) { - $config['config']['sitename'] = getenv('FRIENDICA_SITENAME'); -} - -if (!empty(getenv('FRIENDICA_NO_VALIDATION'))) { - $config['system']['disable_url_validation'] = true; - $config['system']['disable_email_validation'] = true; -} - -if (!empty(getenv('FRIENDICA_DATA'))) { - $config['storage']['class'] = \Friendica\Model\Storage\Filesystem::class; - - if (!empty(getenv('FRIENDICA_DATA_DIR'))) { - $config['storage']['filesystem_path'] = getenv('FRIENDICA_DATA'); - } -} - -if (!empty(getenv('FRIENDICA_DEBUGGING'))) { - $config['system']['debugging'] = true; - if (!empty(getenv('FRIENDICA_LOGFILE'))) { - $config['system']['logfile'] = getenv('FRIENDICA_LOGFILE'); - } - if (!empty(getenv('FRIENDICA_LOGLEVEL'))) { - $config['system']['loglevel'] = getenv('FRIENDICA_LOGLEVEL'); - } -} - -if (!empty(getenv('HOSTNAME'))) { - $config['config']['hostname'] = getenv('HOSTNAME'); -} - -return $config; diff --git a/2019.09-rc/fpm-alpine/cron.sh b/2019.09-rc/fpm-alpine/cron.sh deleted file mode 100755 index cf1f504..0000000 --- a/2019.09-rc/fpm-alpine/cron.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -trap "break;exit" HUP INT TERM - -while [ ! -f /var/www/html/config/local.ini.php ] && [ ! -f /var/www/html/config/local.config.php ]; do - sleep 1 -done - -# TODO let the database and the autoinstall time to complete - not winning a beauty contest -sleep 15s - -php /var/www/html/bin/daemon.php -f start diff --git a/2019.09-rc/fpm-alpine/entrypoint.sh b/2019.09-rc/fpm-alpine/entrypoint.sh deleted file mode 100755 index d6750b7..0000000 --- a/2019.09-rc/fpm-alpine/entrypoint.sh +++ /dev/null @@ -1,202 +0,0 @@ -#!/bin/sh -set -eu - -# run an command with the www-data user -run_as() { - if [ "$(id -u)" -eq 0 ]; then - su - www-data -s /bin/sh -c "cd /var/www/html;$1" - else - sh -c "$1" - fi -} - -# checks if the the first parameter is greater than the second parameter -version_greater() { - [ "$(printf '%s\n' "$@" | sort -r -t '-' -k2,2 | sort -t '.' -n -k1,1 -k2,2 -s | head -n 1)" != "$1" ] -} - -# clones the whole develop branch (Friendica and Addons) -clone_develop() { - friendica_git="${FRIENDICA_VERSION}" - addons_git="${FRIENDICA_ADDONS}" - friendica_repo="${FRIENDICA_REPOSITORY:-friendica/friendica}" - friendica_addons_repo="${FRIENDICA_ADDONS_REPO:-friendica/friendica-addons}" - - if echo "{$friendica_git,,}" | grep -Eq '^.*\-dev'; then - friendica_git="develop" - fi - - if echo "{$addons_git,,}" | grep -Eq '^.*\-dev'; then - addons_git="develop" - fi - - echo "Downloading Friendica from GitHub '${friendica_repo}/${friendica_git}' ..." - - # Removing the whole directory first - rm -fr /usr/src/friendica - sh -c "git clone -q -b ${friendica_git} https://github.com/${friendica_repo} /usr/src/friendica" - - mkdir /usr/src/friendica/addon - sh -c "git clone -q -b ${addons_git} https://github.com/${friendica_addons_repo} /usr/src/friendica/addon" - - echo "Download finished" - - if [ ! -f /usr/src/friendica/VERSION ]; then - echo "Couldn't clone repository" - exit 1 - fi - - /usr/src/friendica/bin/composer.phar install --no-dev -d /usr/src/friendica -} - -setup_ssmtp() { - if [ -n "${SITENAME+x}" ] && [ -n "${SMTP+x}" ] && [ "${SMTP}" != "localhost" ]; then - echo "Setup SSMTP for '$SITENAME' with '$SMTP' ..." - - smtp_from=${SMTP_FROM:-no-reply} - - # Setup SSMTP - sed -i "s/:root:/:${SITENAME}:/g" /etc/passwd - sed -i "s/:Linux\ User:/:${SITENAME}:/g" /etc/passwd - - # add possible mail-senders - { - echo "www-data:$smtp_from@$HOSTNAME:$SMTP" ; - echo "root::$smtp_from@$HOSTNAME:$SMTP" ; - } > /etc/ssmtp/revaliases; - - # replace ssmtp.conf settings - { - echo "root=:$smtp_from@$HOSTNAME" ; - echo "hostname=$HOSTNAME" ; - echo "mailhub=$SMTP" ; - echo "FromLineOverride=YES" ; - if [ -n "${SMTP_TLS+x}" ]; then echo "UseTLS=$SMTP_TLS"; fi - if [ -n "${SMTP_STARTTLS+x}" ]; then echo "UseSTARTTLS=$SMTP_STARTTLS"; fi - if [ -n "${SMTP_AUTH_USER+x}" ]; then echo "AuthUser=$SMTP_AUTH_USER"; fi - if [ -n "${SMTP_AUTH_PASS+x}" ]; then echo "AuthPass=$SMTP_AUTH_PASS";fi - if [ -n "${SMTP_AUTH_METHOD+x}" ]; then echo "AuthMethod=$SMTP_AUTH_METHOD"; fi - } > /etc/ssmtp/ssmtp.conf - - echo "Setup finished" - fi -} - -# just check if we execute apache or php-fpm -if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then - installed_version="0.0.0.0" - if [ -f /var/www/html/VERSION ]; then - installed_version="$(cat /var/www/html/VERSION)" - fi - - check=false - # cloning from git is just possible for develop or Release Candidats - if echo "${FRIENDICA_VERSION}" | grep -Eq '^.*(\-dev|-rc|-RC)' || [ "${FRIENDICA_UPGRADE:-false}" = "true" ] || [ ! -f /usr/src/friendica/VERSION ]; then - # just clone & check if it's a new install or upgrade - clone_develop - image_version="$(cat /usr/src/friendica/VERSION)" - check=true - else - image_version="$(cat /usr/src/friendica/VERSION)" - - # check it just in case the version is greater - if version_greater "$image_version" "$installed_version"; then - check=true - fi - - # no downgrading possible - if version_greater "$installed_version" "$image_version"; then - echo 'Can'\''t copy Friendica sources because the version of the data ('$installed_version') is higher than the docker image ('$image_version')', 0 - exit 1; - fi - fi - - setup_ssmtp - - if [ "$check" = true ]; then - echo "Initializing Friendica $image_version ..." - - if [ "$installed_version" != "0.0.0.0" ]; then - echo "Upgrading Friendica from $installed_version ..." - fi - - if [ "$(id -u)" -eq 0 ]; then - rsync_options="-rlDog --chown=www-data:www-data" - else - rsync_options="-rlD" - fi - - rsync $rsync_options --delete --exclude-from=/upgrade.exclude /usr/src/friendica/ /var/www/html/ - - # Update docker-based config files, but never delete other config files - rsync $rsync_options --update /usr/src/friendica/config/ /var/www/html/config/ - - # In case there is no .htaccess, copy it from the default dist file - if [ ! -f "/var/www/html/.htaccess" ]; then - cp "/var/www/html/.htaccess-dist" "/var/www/html/.htaccess" - fi - - if [ -d /var/www/html/view/smarty3 ]; then - chmod -R 777 /var/www/html/view/smarty3 - fi - echo "Initializing finished" - - # install - if [ "$installed_version" = "0.0.0.0" ]; then - echo "New Friendica instance" - - install=false - if [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ] && [ -n "${MYSQL_USER+x}" -o -n "${MYSQL_USERNAME+x}" ] && [ -n ${FRIENDICA_ADMIN_MAIL+x} ]; then - echo "Installation with environment variables" - - FRIENDICA_PHP_PATH=${FRIENDICA_PHP_PATH:-/usr/local/php} - FRIENDICA_TZ=${FRIENDICA_TZ:-America/LosAngeles} - FRIENDICA_LANG=${FRIENDICA_LANG:-en} - MYSQL_PORT=${MYSQL_PORT:-3306} - if [ -n "${MYSQL_USER+x}" ]; then - MYSQL_USERNAMEFULL=${MYSQL_USER} - else - MYSQL_USERNAMEFULL=${MYSQL_USERNAME} - fi - - # shellcheck disable=SC2016 - install_options='-s --dbhost "'$MYSQL_HOST'" --dbport "'$MYSQL_PORT'" --dbdata "'$MYSQL_DATABASE'" --dbuser "'$MYSQL_USERNAMEFULL'" --dbpass "'$MYSQL_PASSWORD'"' - - # shellcheck disable=SC2016 - install_options=$install_options' --admin "'$FRIENDICA_ADMIN_MAIL'" --tz "'$FRIENDICA_TZ'" --lang "'$FRIENDICA_LANG'"' - install=true - elif [ -f "/usr/src/config/local.config.php" ]; then - echo "Installation with prepared local.config.php" - - install_options="-f /usr/src/local.config.php" - install=true - fi - - if [ "$install" = true ]; then - echo "Starting Friendica installation ..." - # TODO Let the database time to warm up - not winning a beauty contest - sleep 10s - run_as "cd /var/www/html; php /var/www/html/bin/console.php autoinstall $install_options" - - # TODO Workaround because of a strange permission issue - rm -fr /var/www/html/view/smarty3/compiled - - # load other config files (*.config.php) to the config folder (currently only local.config.php and addon.config.php supported) - if [ -d "/usr/src/config" ]; then - rsync $rsync_options --ignore-existing /usr/src/config/ /var/www/html/config/ - fi - - echo "Installation finished" - else - echo "Running web-based installer on first connect!" - fi - # upgrade - else - echo "Upgrading Friendica ..." - run_as 'cd /var/www/html; php /var/www/html/bin/console.php dbstructure update' - echo "Upgrading finished" - fi - fi -fi - -exec "$@" diff --git a/2019.09-rc/fpm-alpine/upgrade.exclude b/2019.09-rc/fpm-alpine/upgrade.exclude deleted file mode 100644 index 2fb6533..0000000 --- a/2019.09-rc/fpm-alpine/upgrade.exclude +++ /dev/null @@ -1,10 +0,0 @@ -/.git/ -/photo/ -/proxy/ -/.htconfig.php -/.htaccess -/home.* -/config/ -/storage/ -/log/ -*.log \ No newline at end of file diff --git a/2019.09-rc/fpm/Dockerfile b/2019.09-rc/fpm/Dockerfile deleted file mode 100644 index 9115753..0000000 --- a/2019.09-rc/fpm/Dockerfile +++ /dev/null @@ -1,114 +0,0 @@ -# DO NOT EDIT: created by update.sh from Dockerfile-debian.template -FROM php:7.3-fpm-stretch - -# entrypoint.sh and cron.sh dependencies -RUN set -ex; \ - \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - rsync \ - bzip2 \ - git \ -# For mail() support - ssmtp \ - ; \ - rm -rf /var/lib/apt/lists/*; - -# install the PHP extensions we need -# see https://friendi.ca/resources/requirements/ -RUN set -ex; \ - \ - savedAptMark="$(apt-mark showmanual)"; \ - \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - mysql-client \ - bash \ - $PHPIZE_DEPS \ - libpng-dev \ - libjpeg62-turbo-dev \ - libtool \ - libmagick++-dev \ - libmemcached-dev \ - libgraphicsmagick1-dev \ - libfreetype6-dev \ - librsvg2-2 \ - libzip-dev \ - ; \ - docker-php-ext-configure gd \ - --with-gd \ - --with-freetype-dir=/usr/include/ \ - --with-png-dir=/usr/include/ \ - --with-jpeg-dir=/usr/include/ \ - ; \ - docker-php-ext-install -j "$(nproc)" \ - pdo_mysql \ - gd \ - zip \ - opcache \ - ctype \ - pcntl \ - ; \ - \ -# pecl will claim success even if one install fails, so we need to perform each install separately - pecl install apcu-5.1.17; \ - pecl install memcached-3.1.3; \ - pecl install redis-5.0.2; \ - pecl install imagick-3.4.4; \ - \ - docker-php-ext-enable \ - apcu \ - memcached \ - redis \ - imagick \ - ; \ - \ -# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies - apt-mark auto '.*' > /dev/null; \ - apt-mark manual $savedAptMark; \ - ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \ - | awk '/=>/ { print $3 }' \ - | sort -u \ - | xargs -r dpkg-query -S \ - | cut -d: -f1 \ - | sort -u \ - | xargs -rt apt-mark manual; \ - \ - apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ - rm -rf /var/lib/apt/lists/* - -# set recommended PHP.ini settings -RUN set -ex; \ - { \ - echo 'opcache.enable=1' ; \ - echo 'opcache.interned_strings_buffer=8'; \ - echo 'opcache.max_accelerated_files=10000'; \ - echo 'opcache.memory_consumption=128'; \ - echo 'opcache.save_comments=1'; \ - echo 'opcache.revalidte_freq=1'; \ - } > /usr/local/etc/php/conf.d/opcache-recommended.ini; \ - \ - { \ - echo sendmail_path = "/usr/sbin/sendmail -t -i"; \ - } > /usr/local/etc/php/conf.d/sendmail.ini; \ - \ - echo 'apc.enable_cli=1' >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini; \ - \ - echo 'memory_limit=512M' > /usr/local/etc/php/conf.d/memory-limit.ini; \ - \ - mkdir /var/www/data; \ - chown -R www-data:root /var/www; \ - chmod -R g=u /var/www - -VOLUME /var/www/html - - -ENV FRIENDICA_VERSION 2019.09-rc -ENV FRIENDICA_ADDONS 2019.09-rc - - -COPY *.sh upgrade.exclude / -COPY config/* /usr/src/friendica/config/ - -ENTRYPOINT ["/entrypoint.sh"] -CMD ["php-fpm"] diff --git a/2019.09-rc/fpm/config/00apcu.config.php b/2019.09-rc/fpm/config/00apcu.config.php deleted file mode 100644 index d6dac4f..0000000 --- a/2019.09-rc/fpm/config/00apcu.config.php +++ /dev/null @@ -1,12 +0,0 @@ - [ - 'cache_driver' => 'apcu', - 'session_handler' => 'cache', - ], -]; diff --git a/2019.09-rc/fpm/config/01redis.config.php b/2019.09-rc/fpm/config/01redis.config.php deleted file mode 100644 index 1a43c95..0000000 --- a/2019.09-rc/fpm/config/01redis.config.php +++ /dev/null @@ -1,15 +0,0 @@ - [ - 'lock_driver' => 'redis', - 'redis_host' => getenv('REDIS_HOST'), - 'redis_port' => (getenv('REDIS_PORT') ? getenv('REDIS_PORT') : ''), - 'redis_password' => (getenv('REDIS_PW') ? getenv('REDIS_PW') : ''), - 'redis_db' => (getenv('REDIS_DB') ? getenv('REDIS_DB') : 0), - ], - ]; -} else { - return []; -} diff --git a/2019.09-rc/fpm/config/zz-docker.config.php b/2019.09-rc/fpm/config/zz-docker.config.php deleted file mode 100644 index c9e5ed8..0000000 --- a/2019.09-rc/fpm/config/zz-docker.config.php +++ /dev/null @@ -1,66 +0,0 @@ - [ - // Necessary because otherwise the daemon isn't working - 'pidfile' => '/var/run/friendica.pid', - - 'logfile' => '/var/www/html/friendica.log', - 'loglevel' => 'notice', - ], - 'storage' => [ - 'filesystem_path' => '/var/www/html/storage', - ], -]; - -if (getenv('FRIENDICA_TZ')) { - $config['config']['timezone'] = getenv('FRIENDICA_TZ'); -} - -if (getenv('FRIENDICA_LANG')) { - $config['config']['language'] = getenv('FRIENDICA_LANG'); -} - -if (getenv('FRIENDICA_ADMIN_MAIL')) { - $config['config']['admin_mail'] = getenv('FRIENDICA_ADMIN_MAIL'); -} - -if (getenv('FRIENDICA_SITENAME')) { - $config['config']['sitename'] = getenv('FRIENDICA_SITENAME'); -} - -if (!empty(getenv('FRIENDICA_NO_VALIDATION'))) { - $config['system']['disable_url_validation'] = true; - $config['system']['disable_email_validation'] = true; -} - -if (!empty(getenv('FRIENDICA_DATA'))) { - $config['storage']['class'] = \Friendica\Model\Storage\Filesystem::class; - - if (!empty(getenv('FRIENDICA_DATA_DIR'))) { - $config['storage']['filesystem_path'] = getenv('FRIENDICA_DATA'); - } -} - -if (!empty(getenv('FRIENDICA_DEBUGGING'))) { - $config['system']['debugging'] = true; - if (!empty(getenv('FRIENDICA_LOGFILE'))) { - $config['system']['logfile'] = getenv('FRIENDICA_LOGFILE'); - } - if (!empty(getenv('FRIENDICA_LOGLEVEL'))) { - $config['system']['loglevel'] = getenv('FRIENDICA_LOGLEVEL'); - } -} - -if (!empty(getenv('HOSTNAME'))) { - $config['config']['hostname'] = getenv('HOSTNAME'); -} - -return $config; diff --git a/2019.09-rc/fpm/cron.sh b/2019.09-rc/fpm/cron.sh deleted file mode 100755 index cf1f504..0000000 --- a/2019.09-rc/fpm/cron.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -trap "break;exit" HUP INT TERM - -while [ ! -f /var/www/html/config/local.ini.php ] && [ ! -f /var/www/html/config/local.config.php ]; do - sleep 1 -done - -# TODO let the database and the autoinstall time to complete - not winning a beauty contest -sleep 15s - -php /var/www/html/bin/daemon.php -f start diff --git a/2019.09-rc/fpm/entrypoint.sh b/2019.09-rc/fpm/entrypoint.sh deleted file mode 100755 index d6750b7..0000000 --- a/2019.09-rc/fpm/entrypoint.sh +++ /dev/null @@ -1,202 +0,0 @@ -#!/bin/sh -set -eu - -# run an command with the www-data user -run_as() { - if [ "$(id -u)" -eq 0 ]; then - su - www-data -s /bin/sh -c "cd /var/www/html;$1" - else - sh -c "$1" - fi -} - -# checks if the the first parameter is greater than the second parameter -version_greater() { - [ "$(printf '%s\n' "$@" | sort -r -t '-' -k2,2 | sort -t '.' -n -k1,1 -k2,2 -s | head -n 1)" != "$1" ] -} - -# clones the whole develop branch (Friendica and Addons) -clone_develop() { - friendica_git="${FRIENDICA_VERSION}" - addons_git="${FRIENDICA_ADDONS}" - friendica_repo="${FRIENDICA_REPOSITORY:-friendica/friendica}" - friendica_addons_repo="${FRIENDICA_ADDONS_REPO:-friendica/friendica-addons}" - - if echo "{$friendica_git,,}" | grep -Eq '^.*\-dev'; then - friendica_git="develop" - fi - - if echo "{$addons_git,,}" | grep -Eq '^.*\-dev'; then - addons_git="develop" - fi - - echo "Downloading Friendica from GitHub '${friendica_repo}/${friendica_git}' ..." - - # Removing the whole directory first - rm -fr /usr/src/friendica - sh -c "git clone -q -b ${friendica_git} https://github.com/${friendica_repo} /usr/src/friendica" - - mkdir /usr/src/friendica/addon - sh -c "git clone -q -b ${addons_git} https://github.com/${friendica_addons_repo} /usr/src/friendica/addon" - - echo "Download finished" - - if [ ! -f /usr/src/friendica/VERSION ]; then - echo "Couldn't clone repository" - exit 1 - fi - - /usr/src/friendica/bin/composer.phar install --no-dev -d /usr/src/friendica -} - -setup_ssmtp() { - if [ -n "${SITENAME+x}" ] && [ -n "${SMTP+x}" ] && [ "${SMTP}" != "localhost" ]; then - echo "Setup SSMTP for '$SITENAME' with '$SMTP' ..." - - smtp_from=${SMTP_FROM:-no-reply} - - # Setup SSMTP - sed -i "s/:root:/:${SITENAME}:/g" /etc/passwd - sed -i "s/:Linux\ User:/:${SITENAME}:/g" /etc/passwd - - # add possible mail-senders - { - echo "www-data:$smtp_from@$HOSTNAME:$SMTP" ; - echo "root::$smtp_from@$HOSTNAME:$SMTP" ; - } > /etc/ssmtp/revaliases; - - # replace ssmtp.conf settings - { - echo "root=:$smtp_from@$HOSTNAME" ; - echo "hostname=$HOSTNAME" ; - echo "mailhub=$SMTP" ; - echo "FromLineOverride=YES" ; - if [ -n "${SMTP_TLS+x}" ]; then echo "UseTLS=$SMTP_TLS"; fi - if [ -n "${SMTP_STARTTLS+x}" ]; then echo "UseSTARTTLS=$SMTP_STARTTLS"; fi - if [ -n "${SMTP_AUTH_USER+x}" ]; then echo "AuthUser=$SMTP_AUTH_USER"; fi - if [ -n "${SMTP_AUTH_PASS+x}" ]; then echo "AuthPass=$SMTP_AUTH_PASS";fi - if [ -n "${SMTP_AUTH_METHOD+x}" ]; then echo "AuthMethod=$SMTP_AUTH_METHOD"; fi - } > /etc/ssmtp/ssmtp.conf - - echo "Setup finished" - fi -} - -# just check if we execute apache or php-fpm -if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then - installed_version="0.0.0.0" - if [ -f /var/www/html/VERSION ]; then - installed_version="$(cat /var/www/html/VERSION)" - fi - - check=false - # cloning from git is just possible for develop or Release Candidats - if echo "${FRIENDICA_VERSION}" | grep -Eq '^.*(\-dev|-rc|-RC)' || [ "${FRIENDICA_UPGRADE:-false}" = "true" ] || [ ! -f /usr/src/friendica/VERSION ]; then - # just clone & check if it's a new install or upgrade - clone_develop - image_version="$(cat /usr/src/friendica/VERSION)" - check=true - else - image_version="$(cat /usr/src/friendica/VERSION)" - - # check it just in case the version is greater - if version_greater "$image_version" "$installed_version"; then - check=true - fi - - # no downgrading possible - if version_greater "$installed_version" "$image_version"; then - echo 'Can'\''t copy Friendica sources because the version of the data ('$installed_version') is higher than the docker image ('$image_version')', 0 - exit 1; - fi - fi - - setup_ssmtp - - if [ "$check" = true ]; then - echo "Initializing Friendica $image_version ..." - - if [ "$installed_version" != "0.0.0.0" ]; then - echo "Upgrading Friendica from $installed_version ..." - fi - - if [ "$(id -u)" -eq 0 ]; then - rsync_options="-rlDog --chown=www-data:www-data" - else - rsync_options="-rlD" - fi - - rsync $rsync_options --delete --exclude-from=/upgrade.exclude /usr/src/friendica/ /var/www/html/ - - # Update docker-based config files, but never delete other config files - rsync $rsync_options --update /usr/src/friendica/config/ /var/www/html/config/ - - # In case there is no .htaccess, copy it from the default dist file - if [ ! -f "/var/www/html/.htaccess" ]; then - cp "/var/www/html/.htaccess-dist" "/var/www/html/.htaccess" - fi - - if [ -d /var/www/html/view/smarty3 ]; then - chmod -R 777 /var/www/html/view/smarty3 - fi - echo "Initializing finished" - - # install - if [ "$installed_version" = "0.0.0.0" ]; then - echo "New Friendica instance" - - install=false - if [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ] && [ -n "${MYSQL_USER+x}" -o -n "${MYSQL_USERNAME+x}" ] && [ -n ${FRIENDICA_ADMIN_MAIL+x} ]; then - echo "Installation with environment variables" - - FRIENDICA_PHP_PATH=${FRIENDICA_PHP_PATH:-/usr/local/php} - FRIENDICA_TZ=${FRIENDICA_TZ:-America/LosAngeles} - FRIENDICA_LANG=${FRIENDICA_LANG:-en} - MYSQL_PORT=${MYSQL_PORT:-3306} - if [ -n "${MYSQL_USER+x}" ]; then - MYSQL_USERNAMEFULL=${MYSQL_USER} - else - MYSQL_USERNAMEFULL=${MYSQL_USERNAME} - fi - - # shellcheck disable=SC2016 - install_options='-s --dbhost "'$MYSQL_HOST'" --dbport "'$MYSQL_PORT'" --dbdata "'$MYSQL_DATABASE'" --dbuser "'$MYSQL_USERNAMEFULL'" --dbpass "'$MYSQL_PASSWORD'"' - - # shellcheck disable=SC2016 - install_options=$install_options' --admin "'$FRIENDICA_ADMIN_MAIL'" --tz "'$FRIENDICA_TZ'" --lang "'$FRIENDICA_LANG'"' - install=true - elif [ -f "/usr/src/config/local.config.php" ]; then - echo "Installation with prepared local.config.php" - - install_options="-f /usr/src/local.config.php" - install=true - fi - - if [ "$install" = true ]; then - echo "Starting Friendica installation ..." - # TODO Let the database time to warm up - not winning a beauty contest - sleep 10s - run_as "cd /var/www/html; php /var/www/html/bin/console.php autoinstall $install_options" - - # TODO Workaround because of a strange permission issue - rm -fr /var/www/html/view/smarty3/compiled - - # load other config files (*.config.php) to the config folder (currently only local.config.php and addon.config.php supported) - if [ -d "/usr/src/config" ]; then - rsync $rsync_options --ignore-existing /usr/src/config/ /var/www/html/config/ - fi - - echo "Installation finished" - else - echo "Running web-based installer on first connect!" - fi - # upgrade - else - echo "Upgrading Friendica ..." - run_as 'cd /var/www/html; php /var/www/html/bin/console.php dbstructure update' - echo "Upgrading finished" - fi - fi -fi - -exec "$@" diff --git a/2019.09-rc/fpm/upgrade.exclude b/2019.09-rc/fpm/upgrade.exclude deleted file mode 100644 index 2fb6533..0000000 --- a/2019.09-rc/fpm/upgrade.exclude +++ /dev/null @@ -1,10 +0,0 @@ -/.git/ -/photo/ -/proxy/ -/.htconfig.php -/.htaccess -/home.* -/config/ -/storage/ -/log/ -*.log \ No newline at end of file diff --git a/2019.06/apache/Dockerfile b/2019.09/apache/Dockerfile similarity index 98% rename from 2019.06/apache/Dockerfile rename to 2019.09/apache/Dockerfile index 34576ce..5d385f8 100644 --- a/2019.06/apache/Dockerfile +++ b/2019.09/apache/Dockerfile @@ -112,8 +112,8 @@ RUN set -ex;\ } > /etc/apache2/conf-available/remoteip.conf;\ a2enconf remoteip -ENV FRIENDICA_VERSION 2019.06 -ENV FRIENDICA_ADDONS 2019.06 +ENV FRIENDICA_VERSION 2019.09 +ENV FRIENDICA_ADDONS 2019.09 RUN set -ex; \ curl -fsSL -o friendica.tar.gz \ diff --git a/2019.06/apache/config/00apcu.config.php b/2019.09/apache/config/00apcu.config.php similarity index 100% rename from 2019.06/apache/config/00apcu.config.php rename to 2019.09/apache/config/00apcu.config.php diff --git a/2019.06/apache/config/01redis.config.php b/2019.09/apache/config/01redis.config.php similarity index 100% rename from 2019.06/apache/config/01redis.config.php rename to 2019.09/apache/config/01redis.config.php diff --git a/2019.06/apache/config/zz-docker.config.php b/2019.09/apache/config/zz-docker.config.php similarity index 100% rename from 2019.06/apache/config/zz-docker.config.php rename to 2019.09/apache/config/zz-docker.config.php diff --git a/2019.06/apache/cron.sh b/2019.09/apache/cron.sh similarity index 100% rename from 2019.06/apache/cron.sh rename to 2019.09/apache/cron.sh diff --git a/2019.06/apache/entrypoint.sh b/2019.09/apache/entrypoint.sh similarity index 100% rename from 2019.06/apache/entrypoint.sh rename to 2019.09/apache/entrypoint.sh diff --git a/2019.06/apache/upgrade.exclude b/2019.09/apache/upgrade.exclude similarity index 100% rename from 2019.06/apache/upgrade.exclude rename to 2019.09/apache/upgrade.exclude diff --git a/2019.06/fpm-alpine/Dockerfile b/2019.09/fpm-alpine/Dockerfile similarity index 98% rename from 2019.06/fpm-alpine/Dockerfile rename to 2019.09/fpm-alpine/Dockerfile index dfa6c0d..a7a48c1 100644 --- a/2019.06/fpm-alpine/Dockerfile +++ b/2019.09/fpm-alpine/Dockerfile @@ -93,8 +93,8 @@ RUN set -ex; \ VOLUME /var/www/html -ENV FRIENDICA_VERSION 2019.06 -ENV FRIENDICA_ADDONS 2019.06 +ENV FRIENDICA_VERSION 2019.09 +ENV FRIENDICA_ADDONS 2019.09 RUN set -ex; \ curl -fsSL -o friendica.tar.gz \ diff --git a/2019.06/fpm-alpine/config/00apcu.config.php b/2019.09/fpm-alpine/config/00apcu.config.php similarity index 100% rename from 2019.06/fpm-alpine/config/00apcu.config.php rename to 2019.09/fpm-alpine/config/00apcu.config.php diff --git a/2019.06/fpm-alpine/config/01redis.config.php b/2019.09/fpm-alpine/config/01redis.config.php similarity index 100% rename from 2019.06/fpm-alpine/config/01redis.config.php rename to 2019.09/fpm-alpine/config/01redis.config.php diff --git a/2019.06/fpm-alpine/config/zz-docker.config.php b/2019.09/fpm-alpine/config/zz-docker.config.php similarity index 100% rename from 2019.06/fpm-alpine/config/zz-docker.config.php rename to 2019.09/fpm-alpine/config/zz-docker.config.php diff --git a/2019.06/fpm-alpine/cron.sh b/2019.09/fpm-alpine/cron.sh similarity index 100% rename from 2019.06/fpm-alpine/cron.sh rename to 2019.09/fpm-alpine/cron.sh diff --git a/2019.06/fpm-alpine/entrypoint.sh b/2019.09/fpm-alpine/entrypoint.sh similarity index 100% rename from 2019.06/fpm-alpine/entrypoint.sh rename to 2019.09/fpm-alpine/entrypoint.sh diff --git a/2019.06/fpm-alpine/upgrade.exclude b/2019.09/fpm-alpine/upgrade.exclude similarity index 100% rename from 2019.06/fpm-alpine/upgrade.exclude rename to 2019.09/fpm-alpine/upgrade.exclude diff --git a/2019.06/fpm/Dockerfile b/2019.09/fpm/Dockerfile similarity index 98% rename from 2019.06/fpm/Dockerfile rename to 2019.09/fpm/Dockerfile index 192ed31..abe1e9f 100644 --- a/2019.06/fpm/Dockerfile +++ b/2019.09/fpm/Dockerfile @@ -103,8 +103,8 @@ RUN set -ex; \ VOLUME /var/www/html -ENV FRIENDICA_VERSION 2019.06 -ENV FRIENDICA_ADDONS 2019.06 +ENV FRIENDICA_VERSION 2019.09 +ENV FRIENDICA_ADDONS 2019.09 RUN set -ex; \ curl -fsSL -o friendica.tar.gz \ diff --git a/2019.06/fpm/config/00apcu.config.php b/2019.09/fpm/config/00apcu.config.php similarity index 100% rename from 2019.06/fpm/config/00apcu.config.php rename to 2019.09/fpm/config/00apcu.config.php diff --git a/2019.06/fpm/config/01redis.config.php b/2019.09/fpm/config/01redis.config.php similarity index 100% rename from 2019.06/fpm/config/01redis.config.php rename to 2019.09/fpm/config/01redis.config.php diff --git a/2019.06/fpm/config/zz-docker.config.php b/2019.09/fpm/config/zz-docker.config.php similarity index 100% rename from 2019.06/fpm/config/zz-docker.config.php rename to 2019.09/fpm/config/zz-docker.config.php diff --git a/2019.06/fpm/cron.sh b/2019.09/fpm/cron.sh similarity index 100% rename from 2019.06/fpm/cron.sh rename to 2019.09/fpm/cron.sh diff --git a/2019.06/fpm/entrypoint.sh b/2019.09/fpm/entrypoint.sh similarity index 100% rename from 2019.06/fpm/entrypoint.sh rename to 2019.09/fpm/entrypoint.sh diff --git a/2019.06/fpm/upgrade.exclude b/2019.09/fpm/upgrade.exclude similarity index 100% rename from 2019.06/fpm/upgrade.exclude rename to 2019.09/fpm/upgrade.exclude diff --git a/2019.09-rc/apache/Dockerfile b/2019.12-dev/apache/Dockerfile similarity index 98% rename from 2019.09-rc/apache/Dockerfile rename to 2019.12-dev/apache/Dockerfile index d3d510d..5235f88 100644 --- a/2019.09-rc/apache/Dockerfile +++ b/2019.12-dev/apache/Dockerfile @@ -112,8 +112,8 @@ RUN set -ex;\ } > /etc/apache2/conf-available/remoteip.conf;\ a2enconf remoteip -ENV FRIENDICA_VERSION 2019.09-rc -ENV FRIENDICA_ADDONS 2019.09-rc +ENV FRIENDICA_VERSION 2019.12-dev +ENV FRIENDICA_ADDONS 2019.12-dev COPY *.sh upgrade.exclude / diff --git a/2019.09-dev/apache/config/00apcu.config.php b/2019.12-dev/apache/config/00apcu.config.php similarity index 100% rename from 2019.09-dev/apache/config/00apcu.config.php rename to 2019.12-dev/apache/config/00apcu.config.php diff --git a/2019.09-dev/apache/config/01redis.config.php b/2019.12-dev/apache/config/01redis.config.php similarity index 100% rename from 2019.09-dev/apache/config/01redis.config.php rename to 2019.12-dev/apache/config/01redis.config.php diff --git a/2019.09-dev/apache/config/zz-docker.config.php b/2019.12-dev/apache/config/zz-docker.config.php similarity index 100% rename from 2019.09-dev/apache/config/zz-docker.config.php rename to 2019.12-dev/apache/config/zz-docker.config.php diff --git a/2019.09-dev/apache/cron.sh b/2019.12-dev/apache/cron.sh similarity index 100% rename from 2019.09-dev/apache/cron.sh rename to 2019.12-dev/apache/cron.sh diff --git a/2019.09-dev/apache/entrypoint.sh b/2019.12-dev/apache/entrypoint.sh similarity index 100% rename from 2019.09-dev/apache/entrypoint.sh rename to 2019.12-dev/apache/entrypoint.sh diff --git a/2019.09-dev/apache/upgrade.exclude b/2019.12-dev/apache/upgrade.exclude similarity index 100% rename from 2019.09-dev/apache/upgrade.exclude rename to 2019.12-dev/apache/upgrade.exclude diff --git a/2019.09-dev/fpm-alpine/Dockerfile b/2019.12-dev/fpm-alpine/Dockerfile similarity index 97% rename from 2019.09-dev/fpm-alpine/Dockerfile rename to 2019.12-dev/fpm-alpine/Dockerfile index da16dbf..8e78aff 100644 --- a/2019.09-dev/fpm-alpine/Dockerfile +++ b/2019.12-dev/fpm-alpine/Dockerfile @@ -93,8 +93,8 @@ RUN set -ex; \ VOLUME /var/www/html -ENV FRIENDICA_VERSION 2019.09-dev -ENV FRIENDICA_ADDONS 2019.09-dev +ENV FRIENDICA_VERSION 2019.12-dev +ENV FRIENDICA_ADDONS 2019.12-dev COPY *.sh upgrade.exclude / diff --git a/2019.09-dev/fpm-alpine/config/00apcu.config.php b/2019.12-dev/fpm-alpine/config/00apcu.config.php similarity index 100% rename from 2019.09-dev/fpm-alpine/config/00apcu.config.php rename to 2019.12-dev/fpm-alpine/config/00apcu.config.php diff --git a/2019.09-dev/fpm-alpine/config/01redis.config.php b/2019.12-dev/fpm-alpine/config/01redis.config.php similarity index 100% rename from 2019.09-dev/fpm-alpine/config/01redis.config.php rename to 2019.12-dev/fpm-alpine/config/01redis.config.php diff --git a/2019.09-dev/fpm-alpine/config/zz-docker.config.php b/2019.12-dev/fpm-alpine/config/zz-docker.config.php similarity index 100% rename from 2019.09-dev/fpm-alpine/config/zz-docker.config.php rename to 2019.12-dev/fpm-alpine/config/zz-docker.config.php diff --git a/2019.09-dev/fpm-alpine/cron.sh b/2019.12-dev/fpm-alpine/cron.sh similarity index 100% rename from 2019.09-dev/fpm-alpine/cron.sh rename to 2019.12-dev/fpm-alpine/cron.sh diff --git a/2019.09-dev/fpm-alpine/entrypoint.sh b/2019.12-dev/fpm-alpine/entrypoint.sh similarity index 100% rename from 2019.09-dev/fpm-alpine/entrypoint.sh rename to 2019.12-dev/fpm-alpine/entrypoint.sh diff --git a/2019.09-dev/fpm-alpine/upgrade.exclude b/2019.12-dev/fpm-alpine/upgrade.exclude similarity index 100% rename from 2019.09-dev/fpm-alpine/upgrade.exclude rename to 2019.12-dev/fpm-alpine/upgrade.exclude diff --git a/2019.09-dev/fpm/Dockerfile b/2019.12-dev/fpm/Dockerfile similarity index 97% rename from 2019.09-dev/fpm/Dockerfile rename to 2019.12-dev/fpm/Dockerfile index edbccc8..d136eab 100644 --- a/2019.09-dev/fpm/Dockerfile +++ b/2019.12-dev/fpm/Dockerfile @@ -103,8 +103,8 @@ RUN set -ex; \ VOLUME /var/www/html -ENV FRIENDICA_VERSION 2019.09-dev -ENV FRIENDICA_ADDONS 2019.09-dev +ENV FRIENDICA_VERSION 2019.12-dev +ENV FRIENDICA_ADDONS 2019.12-dev COPY *.sh upgrade.exclude / diff --git a/2019.09-dev/fpm/config/00apcu.config.php b/2019.12-dev/fpm/config/00apcu.config.php similarity index 100% rename from 2019.09-dev/fpm/config/00apcu.config.php rename to 2019.12-dev/fpm/config/00apcu.config.php diff --git a/2019.09-dev/fpm/config/01redis.config.php b/2019.12-dev/fpm/config/01redis.config.php similarity index 100% rename from 2019.09-dev/fpm/config/01redis.config.php rename to 2019.12-dev/fpm/config/01redis.config.php diff --git a/2019.09-dev/fpm/config/zz-docker.config.php b/2019.12-dev/fpm/config/zz-docker.config.php similarity index 100% rename from 2019.09-dev/fpm/config/zz-docker.config.php rename to 2019.12-dev/fpm/config/zz-docker.config.php diff --git a/2019.09-dev/fpm/cron.sh b/2019.12-dev/fpm/cron.sh similarity index 100% rename from 2019.09-dev/fpm/cron.sh rename to 2019.12-dev/fpm/cron.sh diff --git a/2019.09-dev/fpm/entrypoint.sh b/2019.12-dev/fpm/entrypoint.sh similarity index 100% rename from 2019.09-dev/fpm/entrypoint.sh rename to 2019.12-dev/fpm/entrypoint.sh diff --git a/2019.09-dev/fpm/upgrade.exclude b/2019.12-dev/fpm/upgrade.exclude similarity index 100% rename from 2019.09-dev/fpm/upgrade.exclude rename to 2019.12-dev/fpm/upgrade.exclude diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index c7f3be6..e032453 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -2,8 +2,8 @@ set -Eeuo pipefail declare -A release_channel=( - [stable]='2019.06' - [latest]='2019.06' + [stable]='2019.09' + [latest]='2019.09' ) self="$(basename "$BASH_SOURCE")" diff --git a/update.sh b/update.sh index 52bac65..0d46f27 100755 --- a/update.sh +++ b/update.sh @@ -78,9 +78,8 @@ variants=( ) versions=( - 2019.06 - 2019.09-dev - 2019.09-rc + 2019.09 + 2019.12-dev ) travisEnv=