Introducing Pf2eTools

This commit is contained in:
Johanna Rührig 2025-01-01 19:05:09 +01:00
parent aca900782e
commit a7eadb0acb
5 changed files with 159 additions and 63 deletions

View File

70
ct/Pf2eTools.sh Normal file
View File

@ -0,0 +1,70 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: TheRealVira
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://pf2etools.com/
# App Default Values
APP="Pf2eTools"
var_tags="wiki"
var_cpu="1"
var_ram="512"
var_disk="6"
var_os="debian"
var_version="12"
var_unprivileged="1"
# App Output & Base Settings
header_info "$APP"
base_settings
# Core
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
# Check if installation is present | -f for file, -d for folder
if [[ ! -d "/opt/${APP}" ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
# Crawling the new version and checking whether an update is required
msg_info "Updating System"
apt-get update &>/dev/null
apt-get -y upgrade &>/dev/null
msg_ok "Updated System"
# Execute Update
msg_info "Updating Pf2eTools"
cd /opt/Pf2eTools
git config --global http.postBuffer 1048576000
git config --global https.postBuffer 1048576000
git pull --recurse-submodules --jobs=10
msg_ok "Updated Pf2eTools"
chown -R www-data: "/opt/${APP}"
chmod -R 755 "/opt/${APP}"
# Cleaning up
msg_info "Cleaning Up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleanup Completed"
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}"

View File

@ -1,63 +0,0 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2024 community-scripts ORG
# Author: TheRealVira
# License: MIT
# Source: https://5e.tools/
# Import Functions und Setup
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
# Installing Dependencies with the 3 core dependencies (curl;sudo;mc)
msg_info "Installing Dependencies"
$STD apt-get install -y \
curl \
sudo \
git \
jq \
apache2
msg_ok "Installed Dependencies"
# Setup App
msg_info "Setup 5etools"
echo "<Location /server-status>\n"\
" SetHandler server-status\n"\
" Order deny,allow\n"\
" Allow from all\n"\
"</Location>\n"\
>> /usr/local/apache2/conf/httpd.conf
rm /usr/local/apache2/htdocs/index.html
wget -q "https://github.com/5etools-mirror-3/5etools-src/archive/refs/tags/${RELEASE}.zip"
unzip -q "${RELEASE}.zip"
mv "${APP}-src-${RELEASE}/" "/opt/${APP}"
chown -R www-data: "/opt/${APP}"
chmod -R 755 "/opt/${APP}"
# Cleaning up
msg_info "Cleaning Up"
rm -rf "v${RELEASE}.zip"
msg_ok "Setup 5etools"
# Starting httpd
msg_info "Starting httpd"
httpd-foreground
msg_ok "Started httpd"
motd_ssh
customize
# Cleanup
msg_info "Cleaning up"
rm -f "/opt/v${RELEASE}.zip"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@ -0,0 +1,55 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: TheRealVira
# License: MIT
# Source: https://pf2etools.com/
# Import Functions und Setup
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
curl \
mc \
sudo \
git \
apache2
msg_ok "Installed Dependencies"
# Setup App
msg_info "Setup Pf2eTools"
rm -rf /var/www/html
git config --global http.postBuffer 1048576000
git config --global https.postBuffer 1048576000
git clone https://github.com/Pf2eToolsOrg/Pf2eTools /opt/Pf2eTools
msg_ok "Set up Pf2eTools"
msg_info "Creating Service"
cat <<EOF >> /etc/apache2/apache2.conf
<Location /server-status>
SetHandler server-status
Order deny,allow
Allow from all
</Location>
EOF
ln -s "/opt/Pf2eTools" /var/www/html
chown -R www-data: "/opt/Pf2eTools"
chmod -R 755 "/opt/Pf2eTools"
apache2ctl start
msg_ok "Creating Service"
# Cleanup
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
motd_ssh
customize

34
json/Pf2eTools.json Normal file
View File

@ -0,0 +1,34 @@
{
"name": "Pf2eTools",
"slug": "Pf2eTools",
"categories": [
0
],
"date_created": "2025-01-01",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": "https://github.com/Pf2eToolsOrg/Pf2eTools/wiki",
"website": "https://pf2etools.com/",
"logo": "https://raw.githubusercontent.com/Pf2eToolsOrg/Pf2eTools/refs/heads/dev/android-chrome-192x192.png",
"description": "Pf2eTools is an open-source website aiming to provide tools and information for Pathfinder 2nd Edition players and gamemasters. It's built using basic web technologies to ensure wide compatibility, and utilises client-side caching for speed, efficiency, and offline access.",
"install_methods": [
{
"type": "default",
"script": "ct/Pf2eTools.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 6,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}