#! /bin/bash if [ "$(whoami)" != "root" ]; then SUDO=sudo fi DIR="/usr/local/src/authentik" if [ -d "$DIR" ]; then ${SUDO} mkdir $DIR ${SUDO} $DIR fi ${SUDO} wget https://goauthentik.io/docker-compose.yml ${SUDO} echo "PG_PASS=$(openssl rand -base64 36)" >> .envecho "PG_PASS=$(openssl rand -base64 36)" >> .env ${SUDO} echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 36)" >> .env ${SUDO} echo "AUTHENTIK_ERROR_REPORTING__ENABLED=true" >> .env ${SUDO} read -p "Enable email notification[y/N]: " -ei 'N' EMAIL if [ "$EMAIL" == "y" -o $EMAIL == "Y" ]; then # SMTP Host Emails are sent to read -p "Email host: " -ei 'localhost' E_HOST read -p "Email port: " -ei '25' E_PORT read -p "Username: " -e E_USER read -p "Password: " -e E_PASS read -p "ENABLE TLS[true/false]: " -ei 'false' E_TLS read -p "Email address: " -e E_FROM ${SUDO} echo "AUTHENTIK_EMAIL__HOST=$E_HOST" >> .env ${SUDO} echo "AUTHENTIK_EMAIL__PORT=$E_PORT" >> .env ${SUDO} echo "AUTHENTIK_EMAIL__USERNAME=$E_USER" >> .env ${SUDO} echo "AUTHENTIK_EMAIL__PASSWORD=$E_PASS" >> .env ${SUDO} echo "AUTHENTIK_EMAIL__USE_TLS=$E_TLS" >> .env ${SUDO} echo "AUTHENTIK_EMAIL__FROM=$E_FROM" >> .env fi ${SUDO} docker-compose pull ${SUDO} docker-compose up # Create cronjob to sync deleted users from LDAP ${SUDO} mkdir /usr/local/src/authentik_ldap_sync ${SUDO} cp authentik_deleted_user_sync.sh /usr/local/src/authentik_ldap_sync if [ ! -f "/var/spool/cron/crontabs/root" ]; then ${SUDO} echo "0 0 */7 * * /usr/local/src/authentik_ldap_sync/authentik_deleted_user_sync.sh" > /var/spool/cron/crontabs/root else ${SUDO} echo "0 0 */7 * * /usr/local/src/authentik_ldap_sync/authentik_deleted_user_sync.sh" >> /var/spool/cron/crontabs/root fi