Loading deployment/salt/base/docker-compose.sls +7 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,13 @@ cron-check-updates: - special: '@daily' - identifier: 'check-updates' cron-sync-emails: cron.present: - name: bash /mnt/repo-base/scripts/sync-emails.sh - user: root - special: '@hourly' - identifier: 'sync-emails' /etc/docker/daemon.json: file.managed: - source: salt://docker-daemon.json Loading scripts/base.sh +1 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ SMTP_PW=$(grep ^SMTP_PW= "$ENVFILE" | awk -F= '{ print $NF }') SMTP_HOST=$(grep ^SMTP_HOST= "$ENVFILE" | awk -F= '{ print $NF }') MYSQL_ROOT_PASSWORD=$(grep ^MYSQL_ROOT_PASSWORD= "$ENVFILE" | awk -F= '{ print $NF }') # the encoding/decoding is taken from here: https://stackoverflow.com/questions/296536/how-to-urlencode-data-for-curl-command/10660730#10660730 urlencode() { Loading scripts/generate-signup-link.sh +4 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ echo "$EMAIL:$AUTH_SECRET" >> /mnt/repo-base/volumes/accounts/auth.file SIGNUP_URL="https://welcome.$DOMAIN/?authmail=$(urlencode "$EMAIL")&authsecret=$AUTH_SECRET" echo "The new user can sign up now at $SIGNUP_URL" echo -e "Subject:Signup for $DOMAIN echo -e "to:$EMAIL from:drive@$DOMAIN subject:Signup for $DOMAIN You can now sign up for your $DOMAIN account at $SIGNUP_URL" | \ docker-compose exec -T eelomailserver sendmail -f "drive@$DOMAIN" -t "$EMAIL" docker exec -i $(docker-compose ps -q eelomailserver) sendmail -t scripts/init-repo.sh +1 −4 Original line number Diff line number Diff line Loading @@ -173,10 +173,7 @@ fi # create nextcloud config mkdir -p "/mnt/repo-base/volumes/nextcloud/config/" cat /mnt/repo-base/templates/nextcloud/config.php | sed "s/@@@DOMAIN@@@/$DOMAIN/g" | \ sed "s/@@@DRIVE_SMTP_PASSWORD@@@/$DRIVE_SMTP_PASSWORD/g" | sed "s/@@@MYSQL_PASSWORD_NC@@@/$MYSQL_PASSWORD_NC/g" | \ sed "s/@@@MYSQL_DATABASE_NC@@@/$MYSQL_DATABASE_NC/g" | sed "s/@@@MYSQL_USER_NC@@@/$MYSQL_USER_NC/g" | \ sed "s/@@@PFDB_DBPASS@@@/$PFDB_DBPASS/g" > \ "/mnt/repo-base/volumes/nextcloud/config/config.php" sed "s/@@@DRIVE_SMTP_PASSWORD@@@/$DRIVE_SMTP_PASSWORD/g" > "/mnt/repo-base/volumes/nextcloud/config/config.php" chown www-data:www-data "/mnt/repo-base/volumes/nextcloud/" -R # Login to /e/ registry | not necessary when going public Loading scripts/postinstall.sh +4 −2 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ echo "Installing nextcloud plugins" docker-compose exec -T --user www-data nextcloud php /var/www/html/occ app:install calendar docker-compose exec -T --user www-data nextcloud php /var/www/html/occ app:install tasks docker-compose exec -T --user www-data nextcloud php /var/www/html/occ app:install notes docker-compose exec -T --user www-data nextcloud php /var/www/html/occ app:install user_backend_sql_raw docker-compose exec -T --user www-data nextcloud php /var/www/html/occ app:install user_external docker-compose exec -T --user www-data nextcloud php /var/www/html/occ app:install rainloop docker-compose exec -T --user www-data nextcloud php /var/www/html/occ config:app:set rainloop rainloop-autologin --value 1 Loading Loading @@ -60,7 +60,9 @@ docker-compose exec -T postfixadmin /postfixadmin/scripts/postfixadmin-cli admin # Adding domains to postfix is done by docker exec instead of docker-compose exec on purpose. Reason: with compose the loop aborts after the first item for an unknown reason echo "Adding domains to Postfix" echo "$ADD_DOMAINS" | tr "," "\n" | while read line; do docker exec -t postfixadmin /postfixadmin/scripts/postfixadmin-cli domain add $line; done # The password_expiry parameter is only a workaround, and does not have any effect # https://github.com/postfixadmin/postfixadmin/issues/280#issuecomment-511788887 echo "$ADD_DOMAINS" | tr "," "\n" | while read line; do docker exec -t postfixadmin /postfixadmin/scripts/postfixadmin-cli domain add $line --password_expiry 0; done echo "Adding email accounts used by system senders (drive, ...)" docker-compose exec -T postfixadmin /postfixadmin/scripts/postfixadmin-cli mailbox add drive@$DOMAIN --password $DRIVE_SMTP_PASSWORD --password2 $DRIVE_SMTP_PASSWORD --name "drive" --email-other $ALT_EMAIL Loading Loading
deployment/salt/base/docker-compose.sls +7 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,13 @@ cron-check-updates: - special: '@daily' - identifier: 'check-updates' cron-sync-emails: cron.present: - name: bash /mnt/repo-base/scripts/sync-emails.sh - user: root - special: '@hourly' - identifier: 'sync-emails' /etc/docker/daemon.json: file.managed: - source: salt://docker-daemon.json Loading
scripts/base.sh +1 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ SMTP_PW=$(grep ^SMTP_PW= "$ENVFILE" | awk -F= '{ print $NF }') SMTP_HOST=$(grep ^SMTP_HOST= "$ENVFILE" | awk -F= '{ print $NF }') MYSQL_ROOT_PASSWORD=$(grep ^MYSQL_ROOT_PASSWORD= "$ENVFILE" | awk -F= '{ print $NF }') # the encoding/decoding is taken from here: https://stackoverflow.com/questions/296536/how-to-urlencode-data-for-curl-command/10660730#10660730 urlencode() { Loading
scripts/generate-signup-link.sh +4 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ echo "$EMAIL:$AUTH_SECRET" >> /mnt/repo-base/volumes/accounts/auth.file SIGNUP_URL="https://welcome.$DOMAIN/?authmail=$(urlencode "$EMAIL")&authsecret=$AUTH_SECRET" echo "The new user can sign up now at $SIGNUP_URL" echo -e "Subject:Signup for $DOMAIN echo -e "to:$EMAIL from:drive@$DOMAIN subject:Signup for $DOMAIN You can now sign up for your $DOMAIN account at $SIGNUP_URL" | \ docker-compose exec -T eelomailserver sendmail -f "drive@$DOMAIN" -t "$EMAIL" docker exec -i $(docker-compose ps -q eelomailserver) sendmail -t
scripts/init-repo.sh +1 −4 Original line number Diff line number Diff line Loading @@ -173,10 +173,7 @@ fi # create nextcloud config mkdir -p "/mnt/repo-base/volumes/nextcloud/config/" cat /mnt/repo-base/templates/nextcloud/config.php | sed "s/@@@DOMAIN@@@/$DOMAIN/g" | \ sed "s/@@@DRIVE_SMTP_PASSWORD@@@/$DRIVE_SMTP_PASSWORD/g" | sed "s/@@@MYSQL_PASSWORD_NC@@@/$MYSQL_PASSWORD_NC/g" | \ sed "s/@@@MYSQL_DATABASE_NC@@@/$MYSQL_DATABASE_NC/g" | sed "s/@@@MYSQL_USER_NC@@@/$MYSQL_USER_NC/g" | \ sed "s/@@@PFDB_DBPASS@@@/$PFDB_DBPASS/g" > \ "/mnt/repo-base/volumes/nextcloud/config/config.php" sed "s/@@@DRIVE_SMTP_PASSWORD@@@/$DRIVE_SMTP_PASSWORD/g" > "/mnt/repo-base/volumes/nextcloud/config/config.php" chown www-data:www-data "/mnt/repo-base/volumes/nextcloud/" -R # Login to /e/ registry | not necessary when going public Loading
scripts/postinstall.sh +4 −2 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ echo "Installing nextcloud plugins" docker-compose exec -T --user www-data nextcloud php /var/www/html/occ app:install calendar docker-compose exec -T --user www-data nextcloud php /var/www/html/occ app:install tasks docker-compose exec -T --user www-data nextcloud php /var/www/html/occ app:install notes docker-compose exec -T --user www-data nextcloud php /var/www/html/occ app:install user_backend_sql_raw docker-compose exec -T --user www-data nextcloud php /var/www/html/occ app:install user_external docker-compose exec -T --user www-data nextcloud php /var/www/html/occ app:install rainloop docker-compose exec -T --user www-data nextcloud php /var/www/html/occ config:app:set rainloop rainloop-autologin --value 1 Loading Loading @@ -60,7 +60,9 @@ docker-compose exec -T postfixadmin /postfixadmin/scripts/postfixadmin-cli admin # Adding domains to postfix is done by docker exec instead of docker-compose exec on purpose. Reason: with compose the loop aborts after the first item for an unknown reason echo "Adding domains to Postfix" echo "$ADD_DOMAINS" | tr "," "\n" | while read line; do docker exec -t postfixadmin /postfixadmin/scripts/postfixadmin-cli domain add $line; done # The password_expiry parameter is only a workaround, and does not have any effect # https://github.com/postfixadmin/postfixadmin/issues/280#issuecomment-511788887 echo "$ADD_DOMAINS" | tr "," "\n" | while read line; do docker exec -t postfixadmin /postfixadmin/scripts/postfixadmin-cli domain add $line --password_expiry 0; done echo "Adding email accounts used by system senders (drive, ...)" docker-compose exec -T postfixadmin /postfixadmin/scripts/postfixadmin-cli mailbox add drive@$DOMAIN --password $DRIVE_SMTP_PASSWORD --password2 $DRIVE_SMTP_PASSWORD --name "drive" --email-other $ALT_EMAIL Loading