Replaces the custom settings directory with a .env file for configuration. Updates backup and restore logic to handle .env instead of settings, and sets required Django environment variables explicitly. Simplifies installation and update scripts for better maintainability and security.
78 lines
2.2 KiB
Bash
78 lines
2.2 KiB
Bash
#!/usr/bin/env bash
|
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
|
|
# Copyright (c) 2021-2026 community-scripts ORG
|
|
# Author: Slaviša Arežina (tremor021)
|
|
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
|
|
# Source: https://github.com/wger-project/wger
|
|
|
|
APP="wger"
|
|
var_tags="${var_tags:-management;fitness}"
|
|
var_cpu="${var_cpu:-2}"
|
|
var_ram="${var_ram:-2048}"
|
|
var_disk="${var_disk:-8}"
|
|
var_os="${var_os:-debian}"
|
|
var_version="${var_version:-13}"
|
|
var_unprivileged="${var_unprivileged:-1}"
|
|
|
|
header_info "$APP"
|
|
variables
|
|
color
|
|
catch_errors
|
|
|
|
function update_script() {
|
|
header_info
|
|
check_container_storage
|
|
check_container_resources
|
|
|
|
if [[ ! -d /opt/wger ]]; then
|
|
msg_error "No ${APP} Installation Found!"
|
|
exit
|
|
fi
|
|
|
|
if check_for_gh_release "wger" "wger-project/wger"; then
|
|
msg_info "Stopping Service"
|
|
systemctl stop apache2
|
|
msg_ok "Stopped Service"
|
|
|
|
msg_info "Backing up Data"
|
|
cp -r /opt/wger/db /opt/wger_db_backup
|
|
cp -r /opt/wger/media /opt/wger_media_backup
|
|
cp /opt/wger/.env /opt/wger_env_backup
|
|
msg_ok "Backed up Data"
|
|
|
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "wger" "wger-project/wger" "tarball" "latest" "/opt/wger"
|
|
|
|
msg_info "Restoring Data"
|
|
cp -r /opt/wger_db_backup/. /opt/wger/db
|
|
cp -r /opt/wger_media_backup/. /opt/wger/media
|
|
cp /opt/wger_env_backup /opt/wger/.env
|
|
rm -rf /opt/wger_db_backup /opt/wger_media_backup /opt/wger_env_backup
|
|
msg_ok "Restored Data"
|
|
|
|
msg_info "Updating wger"
|
|
cd /opt/wger
|
|
source /opt/wger/.env
|
|
export DJANGO_SETTINGS_MODULE=settings.main
|
|
export DJANGO_DB_DATABASE DJANGO_MEDIA_ROOT DJANGO_STATIC_ROOT SECRET_KEY
|
|
$STD uv pip install .
|
|
$STD uv run python manage.py migrate
|
|
$STD uv run python manage.py collectstatic --no-input
|
|
msg_ok "Updated wger"
|
|
|
|
msg_info "Starting Service"
|
|
systemctl start apache2
|
|
msg_ok "Started Service"
|
|
msg_ok "Updated Successfully"
|
|
fi
|
|
exit
|
|
}
|
|
|
|
start
|
|
build_container
|
|
description
|
|
|
|
msg_ok "Completed Successfully!\n"
|
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
|