From c1b2476a309914d4a520376f2848bdfac1a3282b Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 18 Dec 2024 10:02:52 +0100 Subject: [PATCH] Add files via upload --- ct/authentik.sh | 108 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 ct/authentik.sh diff --git a/ct/authentik.sh b/ct/authentik.sh new file mode 100644 index 00000000..14e3cea4 --- /dev/null +++ b/ct/authentik.sh @@ -0,0 +1,108 @@ +#!/usr/bin/env bash +source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2024 community-scripts ORG +# Author: remz1337 +# License: MIT +# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE + +function header_info { + clear + cat <<"EOF" + ___ __ __ __ _ __ + / | __ __/ /_/ /_ ___ ____ / /_(_) /__ + / /| |/ / / / __/ __ \/ _ \/ __ \/ __/ / //_/ + / ___ / /_/ / /_/ / / / __/ / / / /_/ / ,< +/_/ |_\__,_/\__/_/ /_/\___/_/ /_/\__/_/_/|_| + +EOF +} +header_info +echo -e "Loading..." +APP="authentik" +var_disk="15" +var_cpu="6" +var_ram="8192" +var_os="debian" +var_version="12" +variables +color +catch_errors + +function default_settings() { + CT_TYPE="1" + PW="" + CT_ID=$NEXTID + HN=$NSAPP + DISK_SIZE="$var_disk" + CORE_COUNT="$var_cpu" + RAM_SIZE="$var_ram" + BRG="vmbr0" + NET="dhcp" + GATE="" + APT_CACHER="" + APT_CACHER_IP="" + DISABLEIP6="no" + MTU="" + SD="" + NS="" + MAC="" + VLAN="" + SSH="no" + VERB="no" + echo_default +} + +function update_script() { +header_info +check_container_storage +check_container_resources +if [[ ! -f /etc/systemd/system/authentik-server.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi +RELEASE=$(curl -s https://api.github.com/repos/goauthentik/authentik/releases/latest | grep "tarball_url" | awk '{print substr($2, 2, length($2)-3)}') +if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then + msg_info "Stopping ${APP}" + systemctl stop authentik-server + systemctl stop authentik-worker + msg_ok "Stopped ${APP}" + + msg_info "Building ${APP} website" + mkdir -p /opt/authentik + wget -qO authentik.tar.gz "${RELEASE}" + tar -xzf authentik.tar.gz -C /opt/authentik --strip-components 1 --overwrite + rm -rf authentik.tar.gz + cd /opt/authentik/website + npm install &>/dev/null + npm run build-bundled &>/dev/null + cd /opt/authentik/web + npm install &>/dev/null + npm run build &>/dev/null + msg_ok "Built ${APP} website" + + msg_info "Installing Python Dependencies" + cd /opt/authentik + poetry install --only=main --no-ansi --no-interaction --no-root &>/dev/null + poetry export --without-hashes --without-urls -f requirements.txt --output requirements.txt &>/dev/null + pip install --no-cache-dir -r requirements.txt &>/dev/null + pip install . &>/dev/null + msg_ok "Installed Python Dependencies" + + msg_info "Updating ${APP} to v${RELEASE} (Patience)" + cp -r /opt/authentik/authentik/blueprints /opt/authentik/blueprints + bash /opt/authentik/lifecycle/ak migrate &>/dev/null + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Updated ${APP} to v${RELEASE}" + + msg_info "Starting ${APP}" + systemctl start authentik-server + systemctl start authentik-worker + msg_ok "Started ${APP}" +else + msg_ok "No update required. ${APP} is already at v${RELEASE}" +fi +exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" \ No newline at end of file