mirror of
https://github.com/friendica/docker
synced 2025-01-20 22:00:02 +01:00
Fixing a lot of spaces & tabs!
This commit is contained in:
parent
aa0795900a
commit
7fe1de658d
41 changed files with 1650 additions and 1632 deletions
|
@ -6,5 +6,23 @@ root = true
|
|||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
trim_trailing_whitespaces = true
|
||||
indent_style = tab
|
||||
insert_final_newline = true
|
||||
|
||||
[*.md]
|
||||
indent_style = tab
|
||||
|
||||
[*.sh]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.yml]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.template]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
[Dockerfile]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
|
|
@ -56,8 +56,8 @@ RUN set -ex; \
|
|||
--with-jpeg-dir=/usr/include/ \
|
||||
; \
|
||||
docker-php-ext-configure ldap \
|
||||
--with-libdir=lib/$debMultiarch/ \
|
||||
; \
|
||||
--with-libdir=lib/$debMultiarch/ \
|
||||
;\
|
||||
docker-php-ext-install -j "$(nproc)" \
|
||||
pdo_mysql \
|
||||
gd \
|
||||
|
@ -85,12 +85,12 @@ RUN set -ex; \
|
|||
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; \
|
||||
| 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/*
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
trap "break;exit" HUP INT TERM
|
||||
|
||||
while [ ! -f /var/www/html/bin/daemon.php ]; do
|
||||
sleep 1
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo "Waiting for MySQL $MYSQL_HOST initialization..."
|
||||
|
|
|
@ -3,147 +3,147 @@ set -eu
|
|||
|
||||
# run an command with the www-data user
|
||||
run_as() {
|
||||
set -- -c "cd /var/www/html; $*"
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
su - www-data -s /bin/sh "$@"
|
||||
else
|
||||
sh "$@"
|
||||
fi
|
||||
set -- -c "cd /var/www/html; $*"
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
su - www-data -s /bin/sh "$@"
|
||||
else
|
||||
sh "$@"
|
||||
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" ]
|
||||
[ "$(printf '%s\n' "$@" | sort -r -t '-' -k2,2 | sort -t '.' -n -k1,1 -k2,2 -s | head -n 1)" != "$1" ]
|
||||
}
|
||||
|
||||
setup_ssmtp() {
|
||||
if [ -n "${SMTP_DOMAIN+x}" ] && [ -n "${SMTP+x}" ] && [ "${SMTP}" != "localhost" ]; then
|
||||
SITENAME="${FRIENDICA_SITENAME:-Friendica Social Network}"
|
||||
echo "Setup SSMTP for '$SITENAME' with '$SMTP' ..."
|
||||
if [ -n "${SMTP_DOMAIN+x}" ] && [ -n "${SMTP+x}" ] && [ "${SMTP}" != "localhost" ]; then
|
||||
SITENAME="${FRIENDICA_SITENAME:-Friendica Social Network}"
|
||||
echo "Setup SSMTP for '$SITENAME' with '$SMTP' ..."
|
||||
|
||||
smtp_from=${SMTP_FROM:-no-reply}
|
||||
smtp_from=${SMTP_FROM:-no-reply}
|
||||
|
||||
# Setup SSMTP
|
||||
usermod --comment "$(echo "$SITENAME" | tr -dc '[:print:]')" root
|
||||
usermod --comment "$(echo "$SITENAME" | tr -dc '[:print:]')" www-data
|
||||
# Setup SSMTP
|
||||
usermod --comment "$(echo "$SITENAME" | tr -dc '[:print:]')" root
|
||||
usermod --comment "$(echo "$SITENAME" | tr -dc '[:print:]')" www-data
|
||||
|
||||
# add possible mail-senders
|
||||
{
|
||||
echo "www-data:$smtp_from@$SMTP_DOMAIN:$SMTP"
|
||||
echo "root::$smtp_from@$SMTP_DOMAIN:$SMTP"
|
||||
} > /etc/ssmtp/revaliases
|
||||
# add possible mail-senders
|
||||
{
|
||||
echo "www-data:$smtp_from@$SMTP_DOMAIN:$SMTP"
|
||||
echo "root::$smtp_from@$SMTP_DOMAIN:$SMTP"
|
||||
} > /etc/ssmtp/revaliases
|
||||
|
||||
# replace ssmtp.conf settings
|
||||
{
|
||||
echo "root=:$smtp_from@$SMTP_DOMAIN"
|
||||
echo "hostname=$SMTP_DOMAIN"
|
||||
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
|
||||
# replace ssmtp.conf settings
|
||||
{
|
||||
echo "root=:$smtp_from@$SMTP_DOMAIN"
|
||||
echo "hostname=$SMTP_DOMAIN"
|
||||
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
|
||||
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
|
||||
installed_version="0.0.0.0"
|
||||
if [ -f /var/www/html/VERSION ]; then
|
||||
installed_version="$(cat /var/www/html/VERSION)"
|
||||
fi
|
||||
|
||||
image_version="$(cat /usr/src/friendica/VERSION)"
|
||||
image_version="$(cat /usr/src/friendica/VERSION)"
|
||||
|
||||
# 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)"
|
||||
exit 1
|
||||
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)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
setup_ssmtp
|
||||
setup_ssmtp
|
||||
|
||||
# check it just in case the version is greater or if we force the upgrade
|
||||
if version_greater "$image_version" "$installed_version" || [ "${FRIENDICA_UPGRADE:-false}" = "true" ]; then
|
||||
echo "Initializing Friendica $image_version ..."
|
||||
# check it just in case the version is greater or if we force the upgrade
|
||||
if version_greater "$image_version" "$installed_version" || [ "${FRIENDICA_UPGRADE:-false}" = "true" ]; then
|
||||
echo "Initializing Friendica $image_version ..."
|
||||
|
||||
if [ "$installed_version" != "0.0.0.0" ]; then
|
||||
echo "Upgrading Friendica from $installed_version ..."
|
||||
fi
|
||||
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
|
||||
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/
|
||||
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/
|
||||
# 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
|
||||
# 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"
|
||||
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
|
||||
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}" ] && [ -n "${FRIENDICA_ADMIN_MAIL+x}" ] && [ -n "${FRIENDICA_URL+x}" ]; then
|
||||
echo "Installation with environment variables"
|
||||
install=false
|
||||
if [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${FRIENDICA_ADMIN_MAIL+x}" ] && [ -n "${FRIENDICA_URL+x}" ]; then
|
||||
echo "Installation with environment variables"
|
||||
|
||||
FRIENDICA_TZ=${FRIENDICA_TZ:-America/LosAngeles}
|
||||
FRIENDICA_LANG=${FRIENDICA_LANG:-en}
|
||||
MYSQL_PORT=${MYSQL_PORT:-3306}
|
||||
FRIENDICA_TZ=${FRIENDICA_TZ:-America/LosAngeles}
|
||||
FRIENDICA_LANG=${FRIENDICA_LANG:-en}
|
||||
MYSQL_PORT=${MYSQL_PORT:-3306}
|
||||
|
||||
# shellcheck disable=SC2016
|
||||
install_options='-s --dbhost "'$MYSQL_HOST'" --dbport "'$MYSQL_PORT'" --dbdata "'$MYSQL_DATABASE'" --dbuser "'$MYSQL_USER'" --dbpass "'$MYSQL_PASSWORD'"'
|
||||
# shellcheck disable=SC2016
|
||||
install_options='-s --dbhost "'$MYSQL_HOST'" --dbport "'$MYSQL_PORT'" --dbdata "'$MYSQL_DATABASE'" --dbuser "'$MYSQL_USER'" --dbpass "'$MYSQL_PASSWORD'"'
|
||||
|
||||
# shellcheck disable=SC2016
|
||||
install_options=$install_options' --admin "'$FRIENDICA_ADMIN_MAIL'" --tz "'$FRIENDICA_TZ'" --lang "'$FRIENDICA_LANG'" --url "'$FRIENDICA_URL'"'
|
||||
install=true
|
||||
fi
|
||||
# shellcheck disable=SC2016
|
||||
install_options=$install_options' --admin "'$FRIENDICA_ADMIN_MAIL'" --tz "'$FRIENDICA_TZ'" --lang "'$FRIENDICA_LANG'" --url "'$FRIENDICA_URL'"'
|
||||
install=true
|
||||
fi
|
||||
|
||||
if [ "$install" = true ]; then
|
||||
echo "Waiting for MySQL $MYSQL_HOST initialization..."
|
||||
if run_as "php /var/www/html/bin/wait-for-connection $MYSQL_HOST ${MYSQL_PORT:-3306} 300"; then
|
||||
if [ "$install" = true ]; then
|
||||
echo "Waiting for MySQL $MYSQL_HOST initialization..."
|
||||
if run_as "php /var/www/html/bin/wait-for-connection $MYSQL_HOST ${MYSQL_PORT:-3306} 300"; then
|
||||
|
||||
echo "Starting Friendica installation ..."
|
||||
run_as "php /var/www/html/bin/console.php autoinstall $install_options"
|
||||
echo "Starting Friendica installation ..."
|
||||
run_as "php /var/www/html/bin/console.php autoinstall $install_options"
|
||||
|
||||
rm -fr /var/www/html/view/smarty3/compiled
|
||||
rm -fr /var/www/html/view/smarty3/compiled
|
||||
|
||||
# load other config files (*.config.php) to the config folder
|
||||
if [ -d "/usr/src/config" ]; then
|
||||
rsync $rsync_options --ignore-existing /usr/src/config/ /var/www/html/config/
|
||||
fi
|
||||
# load other config files (*.config.php) to the config folder
|
||||
if [ -d "/usr/src/config" ]; then
|
||||
rsync $rsync_options --ignore-existing /usr/src/config/ /var/www/html/config/
|
||||
fi
|
||||
|
||||
echo "Installation finished"
|
||||
else
|
||||
echo "[ERROR] Waited 300 seconds, no response" >&2
|
||||
fi
|
||||
else
|
||||
echo "Running web-based installer on first connect!"
|
||||
fi
|
||||
# upgrade
|
||||
else
|
||||
echo "Upgrading Friendica ..."
|
||||
run_as 'php /var/www/html/bin/console.php dbstructure update'
|
||||
echo "Upgrading finished"
|
||||
fi
|
||||
fi
|
||||
echo "Installation finished"
|
||||
else
|
||||
echo "[ERROR] Waited 300 seconds, no response" >&2
|
||||
fi
|
||||
else
|
||||
echo "Running web-based installer on first connect!"
|
||||
fi
|
||||
# upgrade
|
||||
else
|
||||
echo "Upgrading Friendica ..."
|
||||
run_as 'php /var/www/html/bin/console.php dbstructure update'
|
||||
echo "Upgrading finished"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
|
|
|
@ -42,12 +42,12 @@ RUN set -ex; \
|
|||
; \
|
||||
\
|
||||
docker-php-ext-install -j "$(nproc)" \
|
||||
pdo_mysql \
|
||||
gd \
|
||||
zip \
|
||||
opcache \
|
||||
pcntl \
|
||||
ldap \
|
||||
pdo_mysql \
|
||||
gd \
|
||||
zip \
|
||||
opcache \
|
||||
pcntl \
|
||||
ldap \
|
||||
; \
|
||||
\
|
||||
# pecl will claim success even if one install fails, so we need to perform each install separately
|
||||
|
@ -57,17 +57,17 @@ RUN set -ex; \
|
|||
pecl install imagick-3.4.4; \
|
||||
\
|
||||
docker-php-ext-enable \
|
||||
apcu \
|
||||
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 }' \
|
||||
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 --no-network --virtual .friendica-phpext-rundeps $runDeps; \
|
||||
apk del --no-network .build-deps;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
trap "break;exit" HUP INT TERM
|
||||
|
||||
while [ ! -f /var/www/html/bin/daemon.php ]; do
|
||||
sleep 1
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo "Waiting for MySQL $MYSQL_HOST initialization..."
|
||||
|
|
|
@ -3,147 +3,147 @@ set -eu
|
|||
|
||||
# run an command with the www-data user
|
||||
run_as() {
|
||||
set -- -c "cd /var/www/html; $*"
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
su - www-data -s /bin/sh "$@"
|
||||
else
|
||||
sh "$@"
|
||||
fi
|
||||
set -- -c "cd /var/www/html; $*"
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
su - www-data -s /bin/sh "$@"
|
||||
else
|
||||
sh "$@"
|
||||
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" ]
|
||||
[ "$(printf '%s\n' "$@" | sort -r -t '-' -k2,2 | sort -t '.' -n -k1,1 -k2,2 -s | head -n 1)" != "$1" ]
|
||||
}
|
||||
|
||||
setup_ssmtp() {
|
||||
if [ -n "${SMTP_DOMAIN+x}" ] && [ -n "${SMTP+x}" ] && [ "${SMTP}" != "localhost" ]; then
|
||||
SITENAME="${FRIENDICA_SITENAME:-Friendica Social Network}"
|
||||
echo "Setup SSMTP for '$SITENAME' with '$SMTP' ..."
|
||||
if [ -n "${SMTP_DOMAIN+x}" ] && [ -n "${SMTP+x}" ] && [ "${SMTP}" != "localhost" ]; then
|
||||
SITENAME="${FRIENDICA_SITENAME:-Friendica Social Network}"
|
||||
echo "Setup SSMTP for '$SITENAME' with '$SMTP' ..."
|
||||
|
||||
smtp_from=${SMTP_FROM:-no-reply}
|
||||
smtp_from=${SMTP_FROM:-no-reply}
|
||||
|
||||
# Setup SSMTP
|
||||
usermod --comment "$(echo "$SITENAME" | tr -dc '[:print:]')" root
|
||||
usermod --comment "$(echo "$SITENAME" | tr -dc '[:print:]')" www-data
|
||||
# Setup SSMTP
|
||||
usermod --comment "$(echo "$SITENAME" | tr -dc '[:print:]')" root
|
||||
usermod --comment "$(echo "$SITENAME" | tr -dc '[:print:]')" www-data
|
||||
|
||||
# add possible mail-senders
|
||||
{
|
||||
echo "www-data:$smtp_from@$SMTP_DOMAIN:$SMTP"
|
||||
echo "root::$smtp_from@$SMTP_DOMAIN:$SMTP"
|
||||
} > /etc/ssmtp/revaliases
|
||||
# add possible mail-senders
|
||||
{
|
||||
echo "www-data:$smtp_from@$SMTP_DOMAIN:$SMTP"
|
||||
echo "root::$smtp_from@$SMTP_DOMAIN:$SMTP"
|
||||
} > /etc/ssmtp/revaliases
|
||||
|
||||
# replace ssmtp.conf settings
|
||||
{
|
||||
echo "root=:$smtp_from@$SMTP_DOMAIN"
|
||||
echo "hostname=$SMTP_DOMAIN"
|
||||
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
|
||||
# replace ssmtp.conf settings
|
||||
{
|
||||
echo "root=:$smtp_from@$SMTP_DOMAIN"
|
||||
echo "hostname=$SMTP_DOMAIN"
|
||||
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
|
||||
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
|
||||
installed_version="0.0.0.0"
|
||||
if [ -f /var/www/html/VERSION ]; then
|
||||
installed_version="$(cat /var/www/html/VERSION)"
|
||||
fi
|
||||
|
||||
image_version="$(cat /usr/src/friendica/VERSION)"
|
||||
image_version="$(cat /usr/src/friendica/VERSION)"
|
||||
|
||||
# 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)"
|
||||
exit 1
|
||||
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)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
setup_ssmtp
|
||||
setup_ssmtp
|
||||
|
||||
# check it just in case the version is greater or if we force the upgrade
|
||||
if version_greater "$image_version" "$installed_version" || [ "${FRIENDICA_UPGRADE:-false}" = "true" ]; then
|
||||
echo "Initializing Friendica $image_version ..."
|
||||
# check it just in case the version is greater or if we force the upgrade
|
||||
if version_greater "$image_version" "$installed_version" || [ "${FRIENDICA_UPGRADE:-false}" = "true" ]; then
|
||||
echo "Initializing Friendica $image_version ..."
|
||||
|
||||
if [ "$installed_version" != "0.0.0.0" ]; then
|
||||
echo "Upgrading Friendica from $installed_version ..."
|
||||
fi
|
||||
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
|
||||
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/
|
||||
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/
|
||||
# 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
|
||||
# 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"
|
||||
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
|
||||
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}" ] && [ -n "${FRIENDICA_ADMIN_MAIL+x}" ] && [ -n "${FRIENDICA_URL+x}" ]; then
|
||||
echo "Installation with environment variables"
|
||||
install=false
|
||||
if [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${FRIENDICA_ADMIN_MAIL+x}" ] && [ -n "${FRIENDICA_URL+x}" ]; then
|
||||
echo "Installation with environment variables"
|
||||
|
||||
FRIENDICA_TZ=${FRIENDICA_TZ:-America/LosAngeles}
|
||||
FRIENDICA_LANG=${FRIENDICA_LANG:-en}
|
||||
MYSQL_PORT=${MYSQL_PORT:-3306}
|
||||
FRIENDICA_TZ=${FRIENDICA_TZ:-America/LosAngeles}
|
||||
FRIENDICA_LANG=${FRIENDICA_LANG:-en}
|
||||
MYSQL_PORT=${MYSQL_PORT:-3306}
|
||||
|
||||
# shellcheck disable=SC2016
|
||||
install_options='-s --dbhost "'$MYSQL_HOST'" --dbport "'$MYSQL_PORT'" --dbdata "'$MYSQL_DATABASE'" --dbuser "'$MYSQL_USER'" --dbpass "'$MYSQL_PASSWORD'"'
|
||||
# shellcheck disable=SC2016
|
||||
install_options='-s --dbhost "'$MYSQL_HOST'" --dbport "'$MYSQL_PORT'" --dbdata "'$MYSQL_DATABASE'" --dbuser "'$MYSQL_USER'" --dbpass "'$MYSQL_PASSWORD'"'
|
||||
|
||||
# shellcheck disable=SC2016
|
||||
install_options=$install_options' --admin "'$FRIENDICA_ADMIN_MAIL'" --tz "'$FRIENDICA_TZ'" --lang "'$FRIENDICA_LANG'" --url "'$FRIENDICA_URL'"'
|
||||
install=true
|
||||
fi
|
||||
# shellcheck disable=SC2016
|
||||
install_options=$install_options' --admin "'$FRIENDICA_ADMIN_MAIL'" --tz "'$FRIENDICA_TZ'" --lang "'$FRIENDICA_LANG'" --url "'$FRIENDICA_URL'"'
|
||||
install=true
|
||||
fi
|
||||
|
||||
if [ "$install" = true ]; then
|
||||
echo "Waiting for MySQL $MYSQL_HOST initialization..."
|
||||
if run_as "php /var/www/html/bin/wait-for-connection $MYSQL_HOST ${MYSQL_PORT:-3306} 300"; then
|
||||
if [ "$install" = true ]; then
|
||||
echo "Waiting for MySQL $MYSQL_HOST initialization..."
|
||||
if run_as "php /var/www/html/bin/wait-for-connection $MYSQL_HOST ${MYSQL_PORT:-3306} 300"; then
|
||||
|
||||
echo "Starting Friendica installation ..."
|
||||
run_as "php /var/www/html/bin/console.php autoinstall $install_options"
|
||||
echo "Starting Friendica installation ..."
|
||||
run_as "php /var/www/html/bin/console.php autoinstall $install_options"
|
||||
|
||||
rm -fr /var/www/html/view/smarty3/compiled
|
||||
rm -fr /var/www/html/view/smarty3/compiled
|
||||
|
||||
# load other config files (*.config.php) to the config folder
|
||||
if [ -d "/usr/src/config" ]; then
|
||||
rsync $rsync_options --ignore-existing /usr/src/config/ /var/www/html/config/
|
||||
fi
|
||||
# load other config files (*.config.php) to the config folder
|
||||
if [ -d "/usr/src/config" ]; then
|
||||
rsync $rsync_options --ignore-existing /usr/src/config/ /var/www/html/config/
|
||||
fi
|
||||
|
||||
echo "Installation finished"
|
||||
else
|
||||
echo "[ERROR] Waited 300 seconds, no response" >&2
|
||||
fi
|
||||
else
|
||||
echo "Running web-based installer on first connect!"
|
||||
fi
|
||||
# upgrade
|
||||
else
|
||||
echo "Upgrading Friendica ..."
|
||||
run_as 'php /var/www/html/bin/console.php dbstructure update'
|
||||
echo "Upgrading finished"
|
||||
fi
|
||||
fi
|
||||
echo "Installation finished"
|
||||
else
|
||||
echo "[ERROR] Waited 300 seconds, no response" >&2
|
||||
fi
|
||||
else
|
||||
echo "Running web-based installer on first connect!"
|
||||
fi
|
||||
# upgrade
|
||||
else
|
||||
echo "Upgrading Friendica ..."
|
||||
run_as 'php /var/www/html/bin/console.php dbstructure update'
|
||||
echo "Upgrading finished"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
|
|
|
@ -56,8 +56,8 @@ RUN set -ex; \
|
|||
--with-jpeg-dir=/usr/include/ \
|
||||
; \
|
||||
docker-php-ext-configure ldap \
|
||||
--with-libdir=lib/$debMultiarch/ \
|
||||
; \
|
||||
--with-libdir=lib/$debMultiarch/ \
|
||||
;\
|
||||
docker-php-ext-install -j "$(nproc)" \
|
||||
pdo_mysql \
|
||||
gd \
|
||||
|
@ -85,12 +85,12 @@ RUN set -ex; \
|
|||
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; \
|
||||
| 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/*
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
trap "break;exit" HUP INT TERM
|
||||
|
||||
while [ ! -f /var/www/html/bin/daemon.php ]; do
|
||||
sleep 1
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo "Waiting for MySQL $MYSQL_HOST initialization..."
|
||||
|
|
|
@ -3,147 +3,147 @@ set -eu
|
|||
|
||||
# run an command with the www-data user
|
||||
run_as() {
|
||||
set -- -c "cd /var/www/html; $*"
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
su - www-data -s /bin/sh "$@"
|
||||
else
|
||||
sh "$@"
|
||||
fi
|
||||
set -- -c "cd /var/www/html; $*"
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
su - www-data -s /bin/sh "$@"
|
||||
else
|
||||
sh "$@"
|
||||
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" ]
|
||||
[ "$(printf '%s\n' "$@" | sort -r -t '-' -k2,2 | sort -t '.' -n -k1,1 -k2,2 -s | head -n 1)" != "$1" ]
|
||||
}
|
||||
|
||||
setup_ssmtp() {
|
||||
if [ -n "${SMTP_DOMAIN+x}" ] && [ -n "${SMTP+x}" ] && [ "${SMTP}" != "localhost" ]; then
|
||||
SITENAME="${FRIENDICA_SITENAME:-Friendica Social Network}"
|
||||
echo "Setup SSMTP for '$SITENAME' with '$SMTP' ..."
|
||||
if [ -n "${SMTP_DOMAIN+x}" ] && [ -n "${SMTP+x}" ] && [ "${SMTP}" != "localhost" ]; then
|
||||
SITENAME="${FRIENDICA_SITENAME:-Friendica Social Network}"
|
||||
echo "Setup SSMTP for '$SITENAME' with '$SMTP' ..."
|
||||
|
||||
smtp_from=${SMTP_FROM:-no-reply}
|
||||
smtp_from=${SMTP_FROM:-no-reply}
|
||||
|
||||
# Setup SSMTP
|
||||
usermod --comment "$(echo "$SITENAME" | tr -dc '[:print:]')" root
|
||||
usermod --comment "$(echo "$SITENAME" | tr -dc '[:print:]')" www-data
|
||||
# Setup SSMTP
|
||||
usermod --comment "$(echo "$SITENAME" | tr -dc '[:print:]')" root
|
||||
usermod --comment "$(echo "$SITENAME" | tr -dc '[:print:]')" www-data
|
||||
|
||||
# add possible mail-senders
|
||||
{
|
||||
echo "www-data:$smtp_from@$SMTP_DOMAIN:$SMTP"
|
||||
echo "root::$smtp_from@$SMTP_DOMAIN:$SMTP"
|
||||
} > /etc/ssmtp/revaliases
|
||||
# add possible mail-senders
|
||||
{
|
||||
echo "www-data:$smtp_from@$SMTP_DOMAIN:$SMTP"
|
||||
echo "root::$smtp_from@$SMTP_DOMAIN:$SMTP"
|
||||
} > /etc/ssmtp/revaliases
|
||||
|
||||
# replace ssmtp.conf settings
|
||||
{
|
||||
echo "root=:$smtp_from@$SMTP_DOMAIN"
|
||||
echo "hostname=$SMTP_DOMAIN"
|
||||
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
|
||||
# replace ssmtp.conf settings
|
||||
{
|
||||
echo "root=:$smtp_from@$SMTP_DOMAIN"
|
||||
echo "hostname=$SMTP_DOMAIN"
|
||||
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
|
||||
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
|
||||
installed_version="0.0.0.0"
|
||||
if [ -f /var/www/html/VERSION ]; then
|
||||
installed_version="$(cat /var/www/html/VERSION)"
|
||||
fi
|
||||
|
||||
image_version="$(cat /usr/src/friendica/VERSION)"
|
||||
image_version="$(cat /usr/src/friendica/VERSION)"
|
||||
|
||||
# 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)"
|
||||
exit 1
|
||||
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)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
setup_ssmtp
|
||||
setup_ssmtp
|
||||
|
||||
# check it just in case the version is greater or if we force the upgrade
|
||||
if version_greater "$image_version" "$installed_version" || [ "${FRIENDICA_UPGRADE:-false}" = "true" ]; then
|
||||
echo "Initializing Friendica $image_version ..."
|
||||
# check it just in case the version is greater or if we force the upgrade
|
||||
if version_greater "$image_version" "$installed_version" || [ "${FRIENDICA_UPGRADE:-false}" = "true" ]; then
|
||||
echo "Initializing Friendica $image_version ..."
|
||||
|
||||
if [ "$installed_version" != "0.0.0.0" ]; then
|
||||
echo "Upgrading Friendica from $installed_version ..."
|
||||
fi
|
||||
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
|
||||
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/
|
||||
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/
|
||||
# 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
|
||||
# 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"
|
||||
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
|
||||
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}" ] && [ -n "${FRIENDICA_ADMIN_MAIL+x}" ] && [ -n "${FRIENDICA_URL+x}" ]; then
|
||||
echo "Installation with environment variables"
|
||||
install=false
|
||||
if [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${FRIENDICA_ADMIN_MAIL+x}" ] && [ -n "${FRIENDICA_URL+x}" ]; then
|
||||
echo "Installation with environment variables"
|
||||
|
||||
FRIENDICA_TZ=${FRIENDICA_TZ:-America/LosAngeles}
|
||||
FRIENDICA_LANG=${FRIENDICA_LANG:-en}
|
||||
MYSQL_PORT=${MYSQL_PORT:-3306}
|
||||
FRIENDICA_TZ=${FRIENDICA_TZ:-America/LosAngeles}
|
||||
FRIENDICA_LANG=${FRIENDICA_LANG:-en}
|
||||
MYSQL_PORT=${MYSQL_PORT:-3306}
|
||||
|
||||
# shellcheck disable=SC2016
|
||||
install_options='-s --dbhost "'$MYSQL_HOST'" --dbport "'$MYSQL_PORT'" --dbdata "'$MYSQL_DATABASE'" --dbuser "'$MYSQL_USER'" --dbpass "'$MYSQL_PASSWORD'"'
|
||||
# shellcheck disable=SC2016
|
||||
install_options='-s --dbhost "'$MYSQL_HOST'" --dbport "'$MYSQL_PORT'" --dbdata "'$MYSQL_DATABASE'" --dbuser "'$MYSQL_USER'" --dbpass "'$MYSQL_PASSWORD'"'
|
||||
|
||||
# shellcheck disable=SC2016
|
||||
install_options=$install_options' --admin "'$FRIENDICA_ADMIN_MAIL'" --tz "'$FRIENDICA_TZ'" --lang "'$FRIENDICA_LANG'" --url "'$FRIENDICA_URL'"'
|
||||
install=true
|
||||
fi
|
||||
# shellcheck disable=SC2016
|
||||
install_options=$install_options' --admin "'$FRIENDICA_ADMIN_MAIL'" --tz "'$FRIENDICA_TZ'" --lang "'$FRIENDICA_LANG'" --url "'$FRIENDICA_URL'"'
|
||||
install=true
|
||||
fi
|
||||
|
||||
if [ "$install" = true ]; then
|
||||
echo "Waiting for MySQL $MYSQL_HOST initialization..."
|
||||
if run_as "php /var/www/html/bin/wait-for-connection $MYSQL_HOST ${MYSQL_PORT:-3306} 300"; then
|
||||
if [ "$install" = true ]; then
|
||||
echo "Waiting for MySQL $MYSQL_HOST initialization..."
|
||||
if run_as "php /var/www/html/bin/wait-for-connection $MYSQL_HOST ${MYSQL_PORT:-3306} 300"; then
|
||||
|
||||
echo "Starting Friendica installation ..."
|
||||
run_as "php /var/www/html/bin/console.php autoinstall $install_options"
|
||||
echo "Starting Friendica installation ..."
|
||||
run_as "php /var/www/html/bin/console.php autoinstall $install_options"
|
||||
|
||||
rm -fr /var/www/html/view/smarty3/compiled
|
||||
rm -fr /var/www/html/view/smarty3/compiled
|
||||
|
||||
# load other config files (*.config.php) to the config folder
|
||||
if [ -d "/usr/src/config" ]; then
|
||||
rsync $rsync_options --ignore-existing /usr/src/config/ /var/www/html/config/
|
||||
fi
|
||||
# load other config files (*.config.php) to the config folder
|
||||
if [ -d "/usr/src/config" ]; then
|
||||
rsync $rsync_options --ignore-existing /usr/src/config/ /var/www/html/config/
|
||||
fi
|
||||
|
||||
echo "Installation finished"
|
||||
else
|
||||
echo "[ERROR] Waited 300 seconds, no response" >&2
|
||||
fi
|
||||
else
|
||||
echo "Running web-based installer on first connect!"
|
||||
fi
|
||||
# upgrade
|
||||
else
|
||||
echo "Upgrading Friendica ..."
|
||||
run_as 'php /var/www/html/bin/console.php dbstructure update'
|
||||
echo "Upgrading finished"
|
||||
fi
|
||||
fi
|
||||
echo "Installation finished"
|
||||
else
|
||||
echo "[ERROR] Waited 300 seconds, no response" >&2
|
||||
fi
|
||||
else
|
||||
echo "Running web-based installer on first connect!"
|
||||
fi
|
||||
# upgrade
|
||||
else
|
||||
echo "Upgrading Friendica ..."
|
||||
run_as 'php /var/www/html/bin/console.php dbstructure update'
|
||||
echo "Upgrading finished"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
|
|
|
@ -56,8 +56,8 @@ RUN set -ex; \
|
|||
--with-jpeg-dir=/usr/include/ \
|
||||
; \
|
||||
docker-php-ext-configure ldap \
|
||||
--with-libdir=lib/$debMultiarch/ \
|
||||
; \
|
||||
--with-libdir=lib/$debMultiarch/ \
|
||||
;\
|
||||
docker-php-ext-install -j "$(nproc)" \
|
||||
pdo_mysql \
|
||||
gd \
|
||||
|
@ -85,12 +85,12 @@ RUN set -ex; \
|
|||
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; \
|
||||
| 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/*
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
trap "break;exit" HUP INT TERM
|
||||
|
||||
while [ ! -f /var/www/html/bin/daemon.php ]; do
|
||||
sleep 1
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo "Waiting for MySQL $MYSQL_HOST initialization..."
|
||||
|
|
|
@ -3,67 +3,67 @@ set -eu
|
|||
|
||||
# checks if the branch and repository exists
|
||||
check_branch() {
|
||||
repo=${1:-}
|
||||
branch=${2:-}
|
||||
git ls-remote --heads --tags "https://github.com/$repo" | grep -E "refs/(heads|tags)/${branch}$" >/dev/null
|
||||
[ "$?" -eq "0" ]
|
||||
repo=${1:-}
|
||||
branch=${2:-}
|
||||
git ls-remote --heads --tags "https://github.com/$repo" | grep -E "refs/(heads|tags)/${branch}$" >/dev/null
|
||||
[ "$?" -eq "0" ]
|
||||
}
|
||||
|
||||
# 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}"
|
||||
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 "{$friendica_git,,}" | grep -Eq '^.*\-dev'; then
|
||||
friendica_git="develop"
|
||||
fi
|
||||
|
||||
if echo "{$addons_git,,}" | grep -Eq '^.*\-dev'; then
|
||||
addons_git="develop"
|
||||
fi
|
||||
if echo "{$addons_git,,}" | grep -Eq '^.*\-dev'; then
|
||||
addons_git="develop"
|
||||
fi
|
||||
|
||||
# Check if the branches exist before wiping the
|
||||
if check_branch "$friendica_repo" "$friendica_git" && check_branch "$friendica_addons_repo" "$addons_git" ; then
|
||||
echo "Cloning '${friendica_git}' from GitHub repository '${friendica_repo}' ..."
|
||||
# Check if the branches exist before wiping the
|
||||
if check_branch "$friendica_repo" "$friendica_git" && check_branch "$friendica_addons_repo" "$addons_git" ; then
|
||||
echo "Cloning '${friendica_git}' from GitHub repository '${friendica_repo}' ..."
|
||||
|
||||
# Removing the whole directory first
|
||||
rm -fr /usr/src/friendica
|
||||
git clone -q -b ${friendica_git} "https://github.com/${friendica_repo}" /usr/src/friendica
|
||||
# Removing the whole directory first
|
||||
rm -fr /usr/src/friendica
|
||||
git clone -q -b ${friendica_git} "https://github.com/${friendica_repo}" /usr/src/friendica
|
||||
|
||||
mkdir /usr/src/friendica/addon
|
||||
git clone -q -b ${addons_git} "https://github.com/${friendica_addons_repo}" /usr/src/friendica/addon
|
||||
mkdir /usr/src/friendica/addon
|
||||
git clone -q -b ${addons_git} "https://github.com/${friendica_addons_repo}" /usr/src/friendica/addon
|
||||
|
||||
echo "Download finished"
|
||||
echo "Download finished"
|
||||
|
||||
if [ ! -f /usr/src/friendica/VERSION ]; then
|
||||
echo "Couldn't clone repository"
|
||||
exit 1
|
||||
fi
|
||||
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
|
||||
return 0
|
||||
/usr/src/friendica/bin/composer.phar install --no-dev -d /usr/src/friendica
|
||||
return 0
|
||||
|
||||
else
|
||||
if check_branch "$friendica_repo" "$friendica_git"; then
|
||||
echo "$friendica_repo/$friendica_git is not valid."
|
||||
else
|
||||
echo "$friendica_addons_repo/$addons_git is not valid."
|
||||
fi
|
||||
echo "Using old version."
|
||||
return 1
|
||||
else
|
||||
if check_branch "$friendica_repo" "$friendica_git"; then
|
||||
echo "$friendica_repo/$friendica_git is not valid."
|
||||
else
|
||||
echo "$friendica_addons_repo/$addons_git is not valid."
|
||||
fi
|
||||
echo "Using old version."
|
||||
return 1
|
||||
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# just check if we execute apache or php-fpm
|
||||
if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then
|
||||
# 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
|
||||
fi
|
||||
# cloning from git is just possible for develop or Release Candidate
|
||||
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
|
||||
fi
|
||||
fi
|
||||
|
||||
exec /entrypoint.sh "$@"
|
||||
|
|
|
@ -3,147 +3,147 @@ set -eu
|
|||
|
||||
# run an command with the www-data user
|
||||
run_as() {
|
||||
set -- -c "cd /var/www/html; $*"
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
su - www-data -s /bin/sh "$@"
|
||||
else
|
||||
sh "$@"
|
||||
fi
|
||||
set -- -c "cd /var/www/html; $*"
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
su - www-data -s /bin/sh "$@"
|
||||
else
|
||||
sh "$@"
|
||||
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" ]
|
||||
[ "$(printf '%s\n' "$@" | sort -r -t '-' -k2,2 | sort -t '.' -n -k1,1 -k2,2 -s | head -n 1)" != "$1" ]
|
||||
}
|
||||
|
||||
setup_ssmtp() {
|
||||
if [ -n "${SMTP_DOMAIN+x}" ] && [ -n "${SMTP+x}" ] && [ "${SMTP}" != "localhost" ]; then
|
||||
SITENAME="${FRIENDICA_SITENAME:-Friendica Social Network}"
|
||||
echo "Setup SSMTP for '$SITENAME' with '$SMTP' ..."
|
||||
if [ -n "${SMTP_DOMAIN+x}" ] && [ -n "${SMTP+x}" ] && [ "${SMTP}" != "localhost" ]; then
|
||||
SITENAME="${FRIENDICA_SITENAME:-Friendica Social Network}"
|
||||
echo "Setup SSMTP for '$SITENAME' with '$SMTP' ..."
|
||||
|
||||
smtp_from=${SMTP_FROM:-no-reply}
|
||||
smtp_from=${SMTP_FROM:-no-reply}
|
||||
|
||||
# Setup SSMTP
|
||||
usermod --comment "$(echo "$SITENAME" | tr -dc '[:print:]')" root
|
||||
usermod --comment "$(echo "$SITENAME" | tr -dc '[:print:]')" www-data
|
||||
# Setup SSMTP
|
||||
usermod --comment "$(echo "$SITENAME" | tr -dc '[:print:]')" root
|
||||
usermod --comment "$(echo "$SITENAME" | tr -dc '[:print:]')" www-data
|
||||
|
||||
# add possible mail-senders
|
||||
{
|
||||
echo "www-data:$smtp_from@$SMTP_DOMAIN:$SMTP"
|
||||
echo "root::$smtp_from@$SMTP_DOMAIN:$SMTP"
|
||||
} > /etc/ssmtp/revaliases
|
||||
# add possible mail-senders
|
||||
{
|
||||
echo "www-data:$smtp_from@$SMTP_DOMAIN:$SMTP"
|
||||
echo "root::$smtp_from@$SMTP_DOMAIN:$SMTP"
|
||||
} > /etc/ssmtp/revaliases
|
||||
|
||||
# replace ssmtp.conf settings
|
||||
{
|
||||
echo "root=:$smtp_from@$SMTP_DOMAIN"
|
||||
echo "hostname=$SMTP_DOMAIN"
|
||||
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
|
||||
# replace ssmtp.conf settings
|
||||
{
|
||||
echo "root=:$smtp_from@$SMTP_DOMAIN"
|
||||
echo "hostname=$SMTP_DOMAIN"
|
||||
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
|
||||
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
|
||||
installed_version="0.0.0.0"
|
||||
if [ -f /var/www/html/VERSION ]; then
|
||||
installed_version="$(cat /var/www/html/VERSION)"
|
||||
fi
|
||||
|
||||
image_version="$(cat /usr/src/friendica/VERSION)"
|
||||
image_version="$(cat /usr/src/friendica/VERSION)"
|
||||
|
||||
# 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)"
|
||||
exit 1
|
||||
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)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
setup_ssmtp
|
||||
setup_ssmtp
|
||||
|
||||
# check it just in case the version is greater or if we force the upgrade
|
||||
if version_greater "$image_version" "$installed_version" || [ "${FRIENDICA_UPGRADE:-false}" = "true" ]; then
|
||||
echo "Initializing Friendica $image_version ..."
|
||||
# check it just in case the version is greater or if we force the upgrade
|
||||
if version_greater "$image_version" "$installed_version" || [ "${FRIENDICA_UPGRADE:-false}" = "true" ]; then
|
||||
echo "Initializing Friendica $image_version ..."
|
||||
|
||||
if [ "$installed_version" != "0.0.0.0" ]; then
|
||||
echo "Upgrading Friendica from $installed_version ..."
|
||||
fi
|
||||
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
|
||||
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/
|
||||
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/
|
||||
# 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
|
||||
# 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"
|
||||
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
|
||||
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}" ] && [ -n "${FRIENDICA_ADMIN_MAIL+x}" ] && [ -n "${FRIENDICA_URL+x}" ]; then
|
||||
echo "Installation with environment variables"
|
||||
install=false
|
||||
if [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${FRIENDICA_ADMIN_MAIL+x}" ] && [ -n "${FRIENDICA_URL+x}" ]; then
|
||||
echo "Installation with environment variables"
|
||||
|
||||
FRIENDICA_TZ=${FRIENDICA_TZ:-America/LosAngeles}
|
||||
FRIENDICA_LANG=${FRIENDICA_LANG:-en}
|
||||
MYSQL_PORT=${MYSQL_PORT:-3306}
|
||||
FRIENDICA_TZ=${FRIENDICA_TZ:-America/LosAngeles}
|
||||
FRIENDICA_LANG=${FRIENDICA_LANG:-en}
|
||||
MYSQL_PORT=${MYSQL_PORT:-3306}
|
||||
|
||||
# shellcheck disable=SC2016
|
||||
install_options='-s --dbhost "'$MYSQL_HOST'" --dbport "'$MYSQL_PORT'" --dbdata "'$MYSQL_DATABASE'" --dbuser "'$MYSQL_USER'" --dbpass "'$MYSQL_PASSWORD'"'
|
||||
# shellcheck disable=SC2016
|
||||
install_options='-s --dbhost "'$MYSQL_HOST'" --dbport "'$MYSQL_PORT'" --dbdata "'$MYSQL_DATABASE'" --dbuser "'$MYSQL_USER'" --dbpass "'$MYSQL_PASSWORD'"'
|
||||
|
||||
# shellcheck disable=SC2016
|
||||
install_options=$install_options' --admin "'$FRIENDICA_ADMIN_MAIL'" --tz "'$FRIENDICA_TZ'" --lang "'$FRIENDICA_LANG'" --url "'$FRIENDICA_URL'"'
|
||||
install=true
|
||||
fi
|
||||
# shellcheck disable=SC2016
|
||||
install_options=$install_options' --admin "'$FRIENDICA_ADMIN_MAIL'" --tz "'$FRIENDICA_TZ'" --lang "'$FRIENDICA_LANG'" --url "'$FRIENDICA_URL'"'
|
||||
install=true
|
||||
fi
|
||||
|
||||
if [ "$install" = true ]; then
|
||||
echo "Waiting for MySQL $MYSQL_HOST initialization..."
|
||||
if run_as "php /var/www/html/bin/wait-for-connection $MYSQL_HOST ${MYSQL_PORT:-3306} 300"; then
|
||||
if [ "$install" = true ]; then
|
||||
echo "Waiting for MySQL $MYSQL_HOST initialization..."
|
||||
if run_as "php /var/www/html/bin/wait-for-connection $MYSQL_HOST ${MYSQL_PORT:-3306} 300"; then
|
||||
|
||||
echo "Starting Friendica installation ..."
|
||||
run_as "php /var/www/html/bin/console.php autoinstall $install_options"
|
||||
echo "Starting Friendica installation ..."
|
||||
run_as "php /var/www/html/bin/console.php autoinstall $install_options"
|
||||
|
||||
rm -fr /var/www/html/view/smarty3/compiled
|
||||
rm -fr /var/www/html/view/smarty3/compiled
|
||||
|
||||
# load other config files (*.config.php) to the config folder
|
||||
if [ -d "/usr/src/config" ]; then
|
||||
rsync $rsync_options --ignore-existing /usr/src/config/ /var/www/html/config/
|
||||
fi
|
||||
# load other config files (*.config.php) to the config folder
|
||||
if [ -d "/usr/src/config" ]; then
|
||||
rsync $rsync_options --ignore-existing /usr/src/config/ /var/www/html/config/
|
||||
fi
|
||||
|
||||
echo "Installation finished"
|
||||
else
|
||||
echo "[ERROR] Waited 300 seconds, no response" >&2
|
||||
fi
|
||||
else
|
||||
echo "Running web-based installer on first connect!"
|
||||
fi
|
||||
# upgrade
|
||||
else
|
||||
echo "Upgrading Friendica ..."
|
||||
run_as 'php /var/www/html/bin/console.php dbstructure update'
|
||||
echo "Upgrading finished"
|
||||
fi
|
||||
fi
|
||||
echo "Installation finished"
|
||||
else
|
||||
echo "[ERROR] Waited 300 seconds, no response" >&2
|
||||
fi
|
||||
else
|
||||
echo "Running web-based installer on first connect!"
|
||||
fi
|
||||
# upgrade
|
||||
else
|
||||
echo "Upgrading Friendica ..."
|
||||
run_as 'php /var/www/html/bin/console.php dbstructure update'
|
||||
echo "Upgrading finished"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
|
|
|
@ -42,12 +42,12 @@ RUN set -ex; \
|
|||
; \
|
||||
\
|
||||
docker-php-ext-install -j "$(nproc)" \
|
||||
pdo_mysql \
|
||||
gd \
|
||||
zip \
|
||||
opcache \
|
||||
pcntl \
|
||||
ldap \
|
||||
pdo_mysql \
|
||||
gd \
|
||||
zip \
|
||||
opcache \
|
||||
pcntl \
|
||||
ldap \
|
||||
; \
|
||||
\
|
||||
# pecl will claim success even if one install fails, so we need to perform each install separately
|
||||
|
@ -57,17 +57,17 @@ RUN set -ex; \
|
|||
pecl install imagick-3.4.4; \
|
||||
\
|
||||
docker-php-ext-enable \
|
||||
apcu \
|
||||
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 }' \
|
||||
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 --no-network --virtual .friendica-phpext-rundeps $runDeps; \
|
||||
apk del --no-network .build-deps;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||