mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-09-19 09:40:07 +00:00
parent
3aff0d9d7e
commit
cc1c2f84ca
52
ct/grist.sh
52
ct/grist.sh
@ -1,5 +1,8 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: cfurrow | Co-Author: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://github.com/gristlabs/grist-core
|
# Source: https://github.com/gristlabs/grist-core
|
||||||
|
|
||||||
APP="Grist"
|
APP="Grist"
|
||||||
@ -26,57 +29,34 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
if check_for_gh_release "grist" "gristlabs/grist-core"; then
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
|
||||||
|
|
||||||
msg_info "Stopping ${APP} Service"
|
msg_info "Stopping ${APP} Service"
|
||||||
systemctl stop grist
|
systemctl stop grist
|
||||||
msg_ok "Stopped ${APP} Service"
|
msg_ok "Stopped ${APP} Service"
|
||||||
|
|
||||||
msg_info "Updating ${APP} to v${RELEASE}"
|
msg_info "Creating backup"
|
||||||
|
rm -rf /opt/grist_bak
|
||||||
cd /opt
|
|
||||||
rm -rf grist_bak
|
|
||||||
mv grist grist_bak
|
mv grist grist_bak
|
||||||
curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip")
|
msg_ok "Backup created"
|
||||||
$STD unzip v$RELEASE.zip
|
|
||||||
mv grist-core-${RELEASE} grist
|
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "grist" "gristlabs/grist-core" "tarball"
|
||||||
|
|
||||||
|
msg_info "Updating ${APP}"
|
||||||
mkdir -p grist/docs
|
mkdir -p grist/docs
|
||||||
|
cp -n /opt/grist_bak/.env /opt/grist/.env
|
||||||
cp -n grist_bak/.env grist/.env || true
|
cp -r /opt/grist_bak/docs/* /opt/grist/docs/
|
||||||
cp -r grist_bak/docs/* grist/docs/ || true
|
cp /opt/grist_bak/grist-sessions.db /opt/grist/grist-sessions.db
|
||||||
cp grist_bak/grist-sessions.db grist/grist-sessions.db || true
|
cp /opt/grist_bak/landing.db /opt/grist/landing.db
|
||||||
cp grist_bak/landing.db grist/landing.db || true
|
|
||||||
|
|
||||||
cd grist
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD yarn install
|
$STD yarn install
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Building"
|
|
||||||
$STD yarn run build:prod
|
$STD yarn run build:prod
|
||||||
msg_ok "Done building"
|
|
||||||
|
|
||||||
msg_info "Installing Python"
|
|
||||||
$STD yarn run install:python
|
$STD yarn run install:python
|
||||||
msg_ok "Installed Python"
|
msg_ok "Updated ${APP}"
|
||||||
|
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
|
|
||||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
|
||||||
|
|
||||||
msg_info "Starting ${APP} Service"
|
msg_info "Starting ${APP} Service"
|
||||||
systemctl start grist
|
systemctl start grist
|
||||||
msg_ok "Started ${APP} Service"
|
msg_ok "Started ${APP} Service"
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_ok "Updated Successfully"
|
||||||
rm -rf /opt/v$RELEASE.zip
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
|
|
||||||
msg_ok "Updated Successfully!\n"
|
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
|
||||||
fi
|
fi
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
"website": "https://www.getgrist.com/",
|
"website": "https://www.getgrist.com/",
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/grist.webp",
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/grist.webp",
|
||||||
"config_path": "/opt/grist/.env",
|
"config_path": "/opt/grist/.env",
|
||||||
"description": "Grist is a modern, open source spreadsheet that goes beyond the grid",
|
"description": "Grist is like a spreadsheet + database hybrid. It lets you store structured data, use relational links between tables, apply formulas (even with Python), build custom layouts (cards, forms, dashboards), set fine-grained access rules, and visualize data with charts or pivot-tables.",
|
||||||
"install_methods": [
|
"install_methods": [
|
||||||
{
|
{
|
||||||
"type": "default",
|
"type": "default",
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2025 community-scripts ORG
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: cfurrow
|
# Author: cfurrow | Co-Author: Slaviša Arežina (tremor021)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://github.com/gristlabs/grist-core
|
# Source: https://github.com/gristlabs/grist-core
|
||||||
|
|
||||||
@ -17,20 +17,15 @@ msg_info "Installing Dependencies"
|
|||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
make \
|
make \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
python3.11-venv
|
python3-venv
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
|
||||||
|
fetch_and_deploy_gh_release "grist" "gristlabs/grist-core" "tarball"
|
||||||
|
|
||||||
msg_info "Installing Grist"
|
msg_info "Installing Grist"
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
|
||||||
export CYPRESS_INSTALL_BINARY=0
|
export CYPRESS_INSTALL_BINARY=0
|
||||||
export NODE_OPTIONS="--max-old-space-size=2048"
|
export NODE_OPTIONS="--max-old-space-size=2048"
|
||||||
cd /opt
|
cd /opt/grist
|
||||||
curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
|
|
||||||
$STD unzip v$RELEASE.zip
|
|
||||||
mv grist-core-${RELEASE} grist
|
|
||||||
cd grist
|
|
||||||
$STD yarn install
|
$STD yarn install
|
||||||
$STD yarn run build:prod
|
$STD yarn run build:prod
|
||||||
$STD yarn run install:python
|
$STD yarn run install:python
|
||||||
@ -64,7 +59,6 @@ motd_ssh
|
|||||||
customize
|
customize
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
rm -rf /opt/v${RELEASE}.zip
|
|
||||||
$STD apt-get -y autoremove
|
$STD apt-get -y autoremove
|
||||||
$STD apt-get -y autoclean
|
$STD apt-get -y autoclean
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user