mirror of
https://github.com/community-scripts/ProxmoxVED.git
synced 2026-02-25 14:05:54 +00:00
ref. wger
This commit is contained in:
@@ -1,90 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: hoholms
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/grafana/loki
|
||||
|
||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||
color
|
||||
verb_ip6
|
||||
catch_errors
|
||||
setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Loki"
|
||||
$STD apk add loki
|
||||
$STD sed -i '/http_addr/s/127.0.0.1/0.0.0.0/g' /etc/conf.d/loki
|
||||
|
||||
mkdir -p /var/lib/loki/{chunks,boltdb-shipper-active,boltdb-shipper-cache}
|
||||
chown -R loki:grafana /var/lib/loki
|
||||
mkdir -p /var/log/loki
|
||||
chown -R loki:grafana /var/log/loki
|
||||
|
||||
cat <<EOF >/etc/loki/loki-local-config.yaml
|
||||
auth_enabled: false
|
||||
|
||||
server:
|
||||
http_listen_port: 3100
|
||||
log_level: info
|
||||
|
||||
common:
|
||||
instance_addr: 127.0.0.1
|
||||
path_prefix: /var/lib/loki
|
||||
storage:
|
||||
filesystem:
|
||||
chunks_directory: /var/lib/loki/chunks
|
||||
rules_directory: /var/lib/loki/rules
|
||||
replication_factor: 1
|
||||
ring:
|
||||
kvstore:
|
||||
store: inmemory
|
||||
|
||||
schema_config:
|
||||
configs:
|
||||
- from: 2020-10-24
|
||||
store: tsdb
|
||||
object_store: filesystem
|
||||
schema: v13
|
||||
index:
|
||||
prefix: index_
|
||||
period: 24h
|
||||
|
||||
query_range:
|
||||
results_cache:
|
||||
cache:
|
||||
embedded_cache:
|
||||
enabled: true
|
||||
max_size_mb: 100
|
||||
|
||||
limits_config:
|
||||
metric_aggregation_enabled: true
|
||||
|
||||
ruler:
|
||||
alertmanager_url: http://localhost:9093
|
||||
EOF
|
||||
|
||||
chown loki:grafana /etc/loki/loki-local-config.yaml
|
||||
chmod 644 /etc/loki/loki-local-config.yaml
|
||||
|
||||
echo "output_log=\"\${output_log:-/var/log/loki/output.log}\"" >> /etc/init.d/loki
|
||||
echo "error_log=\"\${error_log:-/var/log/loki/error.log}\"" >> /etc/init.d/loki
|
||||
echo "start_stop_daemon_args=\"\${SSD_OPTS} -1 \${output_log} -2 \${error_log}\"" >> /etc/init.d/loki
|
||||
|
||||
$STD rc-update add loki default
|
||||
$STD rc-service loki start
|
||||
msg_ok "Installed Loki"
|
||||
|
||||
read -rp "Would you like to install Promtail? (y/N): " INSTALL_PROMTAIL
|
||||
if [[ "${INSTALL_PROMTAIL,,}" =~ ^(y|yes)$ ]]; then
|
||||
msg_info "Installing Promtail"
|
||||
$STD apk add loki-promtail
|
||||
$STD sed -i '/http_addr/s/127.0.0.1/0.0.0.0/g' /etc/conf.d/loki-promtail
|
||||
$STD rc-update add loki-promtail default
|
||||
$STD rc-service loki-promtail start
|
||||
msg_ok "Installed Promtail"
|
||||
fi
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# Copyright (c) 2021-2026 community-scripts ORG
|
||||
# Author: Slaviša Arežina (tremor021)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
|
||||
# Source: https://github.com/wger-project/wger
|
||||
|
||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||
@@ -14,48 +14,48 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y \
|
||||
git \
|
||||
$STD apt-get install -y \
|
||||
apache2 \
|
||||
libapache2-mod-wsgi-py3
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Installing Python"
|
||||
$STD apt install -y python3-pip
|
||||
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
||||
msg_ok "Installed Python"
|
||||
|
||||
NODE_VERSION="22" NODE_MODULE="yarn,sass" setup_nodejs
|
||||
setup_uv
|
||||
|
||||
fetch_and_deploy_gh_release "wger" "wger-project/wger" "tarball" "latest" "/opt/wger"
|
||||
|
||||
msg_info "Setting up wger"
|
||||
$STD adduser wger --disabled-password --gecos ""
|
||||
mkdir /home/wger/db
|
||||
touch /home/wger/db/database.sqlite
|
||||
chown :www-data -R /home/wger/db
|
||||
chmod g+w /home/wger/db /home/wger/db/database.sqlite
|
||||
mkdir /home/wger/{static,media}
|
||||
chmod o+w /home/wger/media
|
||||
temp_dir=$(mktemp -d)
|
||||
cd "$temp_dir"
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/wger-project/wger/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')
|
||||
curl -fsSL "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz" -o "$RELEASE.tar.gz"
|
||||
tar xzf "$RELEASE".tar.gz
|
||||
mv wger-"$RELEASE" /home/wger/src
|
||||
cd /home/wger/src
|
||||
$STD pip install -r requirements_prod.txt --ignore-installed
|
||||
$STD pip install -e .
|
||||
$STD wger create-settings --database-path /home/wger/db/database.sqlite
|
||||
sed -i "s#home/wger/src/media#home/wger/media#g" /home/wger/src/settings.py
|
||||
sed -i "/MEDIA_ROOT = '\/home\/wger\/media'/a STATIC_ROOT = '/home/wger/static'" /home/wger/src/settings.py
|
||||
$STD wger bootstrap
|
||||
$STD python3 manage.py collectstatic
|
||||
rm -rf "$temp_dir"
|
||||
echo "${RELEASE}" >/opt/wger_version.txt
|
||||
msg_ok "Finished setting up wger"
|
||||
mkdir -p /opt/wger/{db,static,media}
|
||||
touch /opt/wger/db/database.sqlite
|
||||
chown :www-data -R /opt/wger/db
|
||||
chmod g+w /opt/wger/db /opt/wger/db/database.sqlite
|
||||
chmod o+w /opt/wger/media
|
||||
cd /opt/wger
|
||||
$STD uv sync --no-dev
|
||||
mkdir -p /opt/wger/settings
|
||||
cat <<EOF >/opt/wger/settings/main.py
|
||||
from wger.settings_global import *
|
||||
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.sqlite3',
|
||||
'NAME': '/opt/wger/db/database.sqlite',
|
||||
}
|
||||
}
|
||||
|
||||
MEDIA_ROOT = '/opt/wger/media'
|
||||
STATIC_ROOT = '/opt/wger/static'
|
||||
EOF
|
||||
touch /opt/wger/settings/__init__.py
|
||||
export DJANGO_SETTINGS_MODULE=settings.main
|
||||
export PYTHONPATH=/opt/wger
|
||||
$STD uv run python manage.py migrate
|
||||
$STD uv run python manage.py collectstatic --no-input
|
||||
msg_ok "Set up wger"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/apache2/sites-available/wger.conf
|
||||
<Directory /home/wger/src>
|
||||
<Directory /opt/wger>
|
||||
<Files wsgi.py>
|
||||
Require all granted
|
||||
</Files>
|
||||
@@ -63,18 +63,20 @@ cat <<EOF >/etc/apache2/sites-available/wger.conf
|
||||
|
||||
<VirtualHost *:80>
|
||||
WSGIApplicationGroup %{GLOBAL}
|
||||
WSGIDaemonProcess wger python-path=/home/wger/src python-home=/home/wger
|
||||
WSGIDaemonProcess wger python-path=/opt/wger python-home=/opt/wger/.venv
|
||||
WSGIProcessGroup wger
|
||||
WSGIScriptAlias / /home/wger/src/wger/wsgi.py
|
||||
WSGIScriptAlias / /opt/wger/wger/wsgi.py
|
||||
WSGIPassAuthorization On
|
||||
SetEnv DJANGO_SETTINGS_MODULE settings.main
|
||||
SetEnv PYTHONPATH /opt/wger
|
||||
|
||||
Alias /static/ /home/wger/static/
|
||||
<Directory /home/wger/static>
|
||||
Alias /static/ /opt/wger/static/
|
||||
<Directory /opt/wger/static>
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
Alias /media/ /home/wger/media/
|
||||
<Directory /home/wger/media>
|
||||
Alias /media/ /opt/wger/media/
|
||||
<Directory /opt/wger/media>
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
@@ -85,21 +87,6 @@ EOF
|
||||
$STD a2dissite 000-default.conf
|
||||
$STD a2ensite wger
|
||||
systemctl restart apache2
|
||||
cat <<EOF >/etc/systemd/system/wger.service
|
||||
[Unit]
|
||||
Description=wger Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
ExecStart=/usr/local/bin/wger start -a 0.0.0.0 -p 3000
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl enable -q --now wger
|
||||
msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
|
||||
Reference in New Issue
Block a user