This commit is contained in:
CanbiZ 2025-05-21 14:58:16 +02:00
parent f554b54c4d
commit 1fd66479f6
2 changed files with 31 additions and 30 deletions

View File

@ -5,7 +5,7 @@
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/getmaxun/maxun
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
@ -15,10 +15,6 @@ update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
gpg \
curl \
sudo \
mc \
gcc \
libpq-dev \
libcurl4-openssl-dev \
@ -27,16 +23,12 @@ msg_ok "Installed Dependencies"
msg_info "Setup Python3"
$STD apt-get install -y \
python3 python3-dev python3-venv python3-pip
python3 python3-dev
$STD pip install --upgrade pip
msg_ok "Setup Python3"
msg_info "Setting up PostgreSQL Repository"
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >/etc/apt/sources.list.d/pgdg.list
$STD apt-get update
$STD apt-get install -y postgresql-17
msg_ok "Set up PostgreSQL Repository"
setup_uv
PG_VERSION=16 install_postgresql
msg_info "Setup Database"
DB_NAME=healthchecks_db
@ -50,41 +42,51 @@ $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8'
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'"
{
echo "healthchecks-Credentials"
echo "healthchecks Database User: $DB_USER"
echo "healthchecks Database Password: $DB_PASS"
echo "healthchecks Database Name: $DB_NAME"
} >> ~/healthchecks.creds
echo "healthchecks-Credentials"
echo "healthchecks Database User: $DB_USER"
echo "healthchecks Database Password: $DB_PASS"
echo "healthchecks Database Name: $DB_NAME"
} >>~/healthchecks.creds
msg_ok "Set up Database"
msg_info "Setup healthchecks"
cd /opt
RELEASE=$(curl -s https://api.github.com/repos/healthchecks/healthchecks/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/healthchecks/healthchecks/archive/refs/tags/v${RELEASE}.zip"
curl -fsSL "https://github.com/healthchecks/healthchecks/archive/refs/tags/v${RELEASE}.zip" -o v${RELEASE}.zip
unzip -q v${RELEASE}.zip
mv healthchecks-${RELEASE} /opt/healthchecks
cd /opt/healthchecks
pip install --upgrade pip
pip install wheel
pip install -r requirements.txt
CAT EOF
python3 -m venv hc-venv
source hc-venv/bin/activate
pip3 install wheel
pip install -r requirements.txt
$STD uv venv .venv
$STD source .venv/bin/activate
$STD uv pip install wheel
$STD uv pip install -r requirements.txt
cat <<EOF >/opt/healthchecks/.env
ALLOWED_HOSTS=localhost
DB=postgres
DB_HOST=localhost
DB_PORT=5432
DB_NAME=${DB_NAME}
DB_USER=${DB_USER}
DB_PASSWORD=${DB_PASS}
DB_CONN_MAX_AGE=0
DB_SSLMODE=prefer
DB_TARGET_SESSION_ATTRS=read-write
DEFAULT_FROM_EMAIL=healthchecks@example.org
EMAIL_HOST=
EMAIL_HOST_PASSWORD=
EMAIL_HOST_USER=
EMAIL_PORT=587
EMAIL_USE_TLS=True
EMAIL_USE_VERIFICATION=True
# Django & Healthchecks Konfiguration
SECRET_KEY=${SECRET_KEY}
DEBUG=False
ALLOWED_HOSTS=your.domain.com
SITE_ROOT=https://your.domain.com
SITE_ROOT=http://localhost:8000
SITE_NAME=Mychecks
SITE_ROOT=http://localhost:8000
EOF
source /opt/healthchecks/venv/bin/activate
@ -99,7 +101,6 @@ user.save()
EOF
./manage.py createsuperuser
msg_ok "Installed healthchecks"
msg_info "Creating Service"
@ -110,7 +111,7 @@ After=network.target postgresql.service
[Service]
WorkingDirectory=/opt/healthchecks/
ExecStart=python3 manage.py runserver 0.0.0.0:8000
ExecStart=/opt/healthchecks/.venv/bin/python3 manage.py runserver 0.0.0.0:8000
Restart=always
EnvironmentFile=/opt/healthchecks/.env