diff --git a/.docker/release/files/entrypoint.sh b/.docker/release/files/entrypoint.sh index ae346de87..3db1d0156 100755 --- a/.docker/release/files/entrypoint.sh +++ b/.docker/release/files/entrypoint.sh @@ -61,16 +61,20 @@ sed 's/^auth_logging_filename = .*/auth_logging_filename = "auth.log"/' -i $SNAP sed 's/^auth_logging_format = .*/auth_logging_format = "[{date:Y-m-d H:i:s}] Auth failed: ip={request:ip} user={imap:login} host={imap:host} port={imap:port}"/' -i $SNAPPYMAIL_CONFIG_FILE sed 's/^auth_syslog = .*/auth_syslog = Off/' -i $SNAPPYMAIL_CONFIG_FILE -# Create snappymail admin password if absent -SNAPPYMAIL_ADMIN_PASSWORD_FILE=/var/lib/snappymail/_data_/_default_/admin_password.txt -if [ ! -f "$SNAPPYMAIL_ADMIN_PASSWORD_FILE" ]; then - ( - while ! nc -vz -w 1 localhost 8888 > /dev/null 2>&1; do echo "[INFO] Checking whether Snappymail is alive"; sleep 1; done +( + while ! nc -vz -w 1 localhost 8888 > /dev/null 2>&1; do echo "[INFO] Checking whether nginx is alive"; sleep 1; done + while ! nc -vz -w 1 localhost 9000 > /dev/null 2>&1; do echo "[INFO] Checking whether php-fpm is alive"; sleep 1; done + # Create snappymail admin password if absent + SNAPPYMAIL_ADMIN_PASSWORD_FILE=/var/lib/snappymail/_data_/_default_/admin_password.txt + if [ ! -f "$SNAPPYMAIL_ADMIN_PASSWORD_FILE" ]; then echo "[INFO] Creating Snappymail admin password file: $SNAPPYMAIL_ADMIN_PASSWORD_FILE" - wget -qO- 'http://localhost:8888/?/AdminAppData/0/12345/' > /dev/null + wget -T 1 -qO- 'http://localhost:8888/?/AdminAppData/0/12345/' > /dev/null echo "[INFO] Snappymail Admin Panel ready at http://localhost:8888/?admin. Login using password in $SNAPPYMAIL_ADMIN_PASSWORD_FILE" - ) & -fi + fi + + wget -T 1 -qO- 'http://localhost:8888/' > /dev/null + echo "[INFO] Snappymail ready at http://localhost:8888/" +) & # RUN ! exec /usr/bin/supervisord -c /supervisor.conf --pidfile /run/supervisord.pid diff --git a/.docker/release/test/config.yaml b/.docker/release/test/config.yaml index a99c970b5..9766e7f2b 100644 --- a/.docker/release/test/config.yaml +++ b/.docker/release/test/config.yaml @@ -2,7 +2,7 @@ # See: https://github.com/GoogleContainerTools/container-structure-test/issues/78 schemaVersion: 2.0.0 commandTests: - - name: Server starts + - name: Integration test command: /bin/sh args: - -c @@ -14,6 +14,10 @@ commandTests: pidof supervisord pidof nginx pidof php-fpm + ls -al /var/lib/snappymail/_data_/_default_/configs/application.ini + ls -al /var/lib/snappymail/_data_/_default_/admin_password.txt + nc -vz localhost 8888 + nc -vz localhost 9000 wget -S -T 3 -O /dev/null http://localhost:8888 kill `pidof supervisord` metadataTest: @@ -22,4 +26,4 @@ metadataTest: entrypoint: [] cmd: ["/entrypoint.sh"] workdir: /snappymail - user: '' + user: root