From 3eecbd64702ee19d25510c1c8d6b42d320b26458 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= Date: Thu, 19 Dec 2024 08:14:21 +0100 Subject: [PATCH] [plane] Initial configuration - Create the admin user - Configure email - Disallow uninvited signup - Fixes --- lib/plane.sh | 73 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 67 insertions(+), 6 deletions(-) diff --git a/lib/plane.sh b/lib/plane.sh index 9ce8abc..0613af7 100644 --- a/lib/plane.sh +++ b/lib/plane.sh @@ -4,6 +4,8 @@ PATH=$HOME/.docker/cli-plugins:/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +. /federated/lib/helpers.sh + # FIXME plane's nginx proxy has a few additional rules that we may # need to port to Traefik: # add_header X-Content-Type-Options "nosniff" always; @@ -23,6 +25,7 @@ config_plane() { fi POSTGRES_PASSWORD=$(create_password) + EMAIL_PASSWORD="$(cat /federated/apps/panel/.env |grep ^SMTP_PASSWORD= |cut -d= -f2-)" USE_TRAEFIK=true @@ -84,6 +87,15 @@ FILE_SIZE_LIMIT=5242880 # Gunicorn Workers GUNICORN_WORKERS=1 +# Email +EMAIL_HOST=mail.@DOMAIN@ +EMAIL_HOST_USER=fcore@@DOMAIN@ +EMAIL_HOST_PASSWORD=@EMAIL_PASSWORD@ +EMAIL_PORT=587 +EMAIL_FROM=admin@@DOMAIN@ +EMAIL_USE_TLS=1 +EMAIL_USE_SSL=0 + # UNCOMMENT `DOCKER_PLATFORM` IF YOU ARE ON `ARM64` AND DOCKER IMAGE IS NOT AVAILABLE FOR RESPECTIVE `APP_RELEASE` # DOCKER_PLATFORM=linux/amd64 @@ -455,16 +467,15 @@ networks: EOF sed -i -e "s,@DOMAIN@,${DOMAIN},g" \ -e "s,@POSTGRES_PASSWORD@,${POSTGRES_PASSWORD},g" \ + -e "s,@EMAIL_PASSWORD@,${EMAIL_PASSWORD},g" \ /federated/apps/plane/docker-compose.yml \ /federated/apps/plane/plane.env - set -x # Create database and user in postgresql - docker exec postgresql psql -U postgres -c "CREATE DATABASE plane" &> /dev/null - docker exec postgresql psql -U postgres -c "CREATE USER plane WITH PASSWORD '${POSTGRES_PASSWORD}'" &> /dev/null - docker exec postgresql psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE plane TO plane" &> /dev/null - set +x - + SQL="docker exec postgresql psql --csv -U postgres" + $SQL -c "CREATE DATABASE plane" &> /dev/null + $SQL -c "CREATE USER plane WITH PASSWORD '${POSTGRES_PASSWORD}'" &> /dev/null + $SQL -c "GRANT ALL PRIVILEGES ON DATABASE plane TO plane" &> /dev/null unset POSTGRES_PASSWORD cat > /federated/apps/plane/.env </federated/apps/postgresql/data/var/lib/postgresql/data/plane-initial-user.sql < /dev/null" "7" + /federated/bin/start plane echo -ne "done." } uninstall_plane() {