Compare commits

..

3 Commits

Author SHA1 Message Date
MickLesk 35a2d5da85 outline: fix env generation (empty DB user, duplicate secrets, URL sed) 2026-08-11 08:57:02 +02:00
community-scripts-pr-app[bot] 5c10a942a1 Update CHANGELOG.md (#16406)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-08-11 05:39:28 +00:00
CanbiZ (MickLesk) dbbdc93a0b karakeep: pin Node.js to 22 LTS, avoid Node 24.19 better-sqlite3 crash (#16396) 2026-08-11 07:39:01 +02:00
6 changed files with 29 additions and 15 deletions
+8
View File
@@ -521,6 +521,14 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
</details> </details>
## 2026-08-11
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- karakeep: pin Node.js to 22 LTS, avoid Node 24.19 better-sqlite3 crash [@MickLesk](https://github.com/MickLesk) ([#16396](https://github.com/community-scripts/ProxmoxVE/pull/16396))
## 2026-08-10 ## 2026-08-10
### 🆕 New Scripts ### 🆕 New Scripts
+4 -2
View File
@@ -88,8 +88,9 @@ EOF
$STD corepack disable $STD corepack disable
fi fi
sed -i "s/^SERVER_VERSION=.*$/SERVER_VERSION=${CHECK_UPDATE_RELEASE#v}/" /etc/karakeep/karakeep.env sed -i "s/^SERVER_VERSION=.*$/SERVER_VERSION=${CHECK_UPDATE_RELEASE#v}/" /etc/karakeep/karakeep.env
# Node 24.19.x crashes better-sqlite3 on cleanup (karakeep-app/karakeep#2989); stay on 22 LTS until upstream reverts.
MODULE_VERSION="$(jq -r '.packageManager | split("@")[1]' /opt/karakeep/package.json)" MODULE_VERSION="$(jq -r '.packageManager | split("@")[1]' /opt/karakeep/package.json)"
NODE_VERSION="24" NODE_MODULE="corepack,pnpm@${MODULE_VERSION}" setup_nodejs NODE_VERSION="22" NODE_MODULE="corepack,pnpm@${MODULE_VERSION}" setup_nodejs
setup_meilisearch setup_meilisearch
msg_info "Updating Karakeep" msg_info "Updating Karakeep"
@@ -101,8 +102,9 @@ EOF
cd /opt/karakeep/apps/web cd /opt/karakeep/apps/web
$STD pnpm install --frozen-lockfile $STD pnpm install --frozen-lockfile
$STD pnpm build $STD pnpm build
cd /opt/karakeep/apps/workers cd /opt/karakeep/apps/workers
$STD pnpm install --frozen-lockfile $STD pnpm install --frozen-lockfile
$STD pnpm rebuild better-sqlite3
$STD pnpm build $STD pnpm build
cd /opt/karakeep/apps/cli cd /opt/karakeep/apps/cli
$STD pnpm install --frozen-lockfile $STD pnpm install --frozen-lockfile
+3 -3
View File
@@ -50,12 +50,12 @@ function update_script() {
cp -a /opt/pelican-panel/.env /opt/backup cp -a /opt/pelican-panel/.env /opt/backup
mkdir -p /opt/backup/storage/app/ mkdir -p /opt/backup/storage/app/
cp -a /opt/pelican-panel/storage/app/public /opt/backup/storage/app/ cp -a /opt/pelican-panel/storage/app/public /opt/backup/storage/app/
SQLITE_INSTALL=$(ls /opt/pelican-panel/database/*.sqlite 1>/dev/null 2>&1 && echo "true" || echo "false") SQLITE_INSTALL=$(ls /opt/pelican-panel/database/*.sqlite 1>/dev/null 2>&1 && echo "true" || echo "false")
$SQLITE_INSTALL && cp -r /opt/pelican-panel/database/*.sqlite /opt/backup $SQLITE_INSTALL && cp -r /opt/pelican-panel/database/*.sqlite /opt/backup
find /opt/pelican-panel -mindepth 1 -maxdepth 1 ! -name 'backup' ! -name 'plugins' -exec rm -rf {} + find /opt/pelican-panel -mindepth 1 -maxdepth 1 ! -name 'backup' ! -name 'plugins' -exec rm -rf {} +
fetch_and_deploy_gh_release "pelican-panel" "pelican-dev/panel" "prebuild" "latest" "/opt/pelican-panel" "panel.tar.gz" fetch_and_deploy_gh_release "pelican-panel" "pelican-dev/panel" "prebuild" "latest" "/opt/pelican-panel" "panel.tar.gz"
msg_info "Updating Pelican Panel" msg_info "Updating Pelican Panel"
+2 -1
View File
@@ -31,8 +31,9 @@ setup_meilisearch
fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep" "tarball" fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep" "tarball"
cd /opt/karakeep cd /opt/karakeep
# Node 24.19.x crashes better-sqlite3 on cleanup (karakeep-app/karakeep#2989); stay on 22 LTS until upstream reverts.
MODULE_VERSION="$(jq -r '.packageManager | split("@")[1]' /opt/karakeep/package.json)" MODULE_VERSION="$(jq -r '.packageManager | split("@")[1]' /opt/karakeep/package.json)"
NODE_VERSION="24" NODE_MODULE="pnpm@${MODULE_VERSION}" setup_nodejs NODE_VERSION="22" NODE_MODULE="pnpm@${MODULE_VERSION}" setup_nodejs
msg_info "Installing external JavaScript Extension for yt-dlp" msg_info "Installing external JavaScript Extension for yt-dlp"
$STD pip install -U yt-dlp-ejs --break-system-packages $STD pip install -U yt-dlp-ejs --break-system-packages
+12 -8
View File
@@ -22,27 +22,31 @@ msg_ok "Installed Dependencies"
NODE_VERSION="26" NODE_MODULE="corepack" setup_nodejs NODE_VERSION="26" NODE_MODULE="corepack" setup_nodejs
PG_VERSION="16" setup_postgresql PG_VERSION="16" setup_postgresql
PG_DB_NAME="outline" PG_DB_USER="outline" setup_postgresql_db PG_DB_NAME="outline"
PG_DB_USER="outline"
setup_postgresql_db
fetch_and_deploy_gh_release "outline" "outline/outline" "tarball" fetch_and_deploy_gh_release "outline" "outline/outline" "tarball"
msg_info "Configuring Outline (Patience)" msg_info "Configuring Outline (Patience)"
SECRET_KEY="$(openssl rand -hex 32)" SECRET_KEY="$(openssl rand -hex 32)"
UTILS_SECRET="$(openssl rand -hex 32)"
cd /opt/outline cd /opt/outline
cp .env.sample .env cp .env.sample .env
export NODE_ENV=development export NODE_ENV=development
sed -i 's/NODE_ENV=production/NODE_ENV=development/g' /opt/outline/.env sed -i "s#^NODE_ENV=.*#NODE_ENV=development#" /opt/outline/.env
sed -i "s/generate_a_new_key/${SECRET_KEY}/g" /opt/outline/.env sed -i "s#^SECRET_KEY=.*#SECRET_KEY=${SECRET_KEY}#" /opt/outline/.env
sed -i "s/user:pass@postgres/${PG_DB_USER}:${PG_DB_PASS}@localhost/g" /opt/outline/.env sed -i "s#^UTILS_SECRET=.*#UTILS_SECRET=${UTILS_SECRET}#" /opt/outline/.env
sed -i 's/redis:6379/localhost:6379/g' /opt/outline/.env sed -i "s#^DATABASE_URL=.*#DATABASE_URL=postgres://${PG_DB_USER}:${PG_DB_PASS}@localhost:5432/${PG_DB_NAME}#" /opt/outline/.env
sed -i "5s#URL=#URL=http://${LOCAL_IP}#g" /opt/outline/.env sed -i "s#^REDIS_URL=.*#REDIS_URL=redis://localhost:6379#" /opt/outline/.env
sed -i 's/FORCE_HTTPS=true/FORCE_HTTPS=false/g' /opt/outline/.env sed -i "s#^URL=.*#URL=http://${LOCAL_IP}#" /opt/outline/.env
sed -i "s#^FORCE_HTTPS=.*#FORCE_HTTPS=false#" /opt/outline/.env
export NODE_OPTIONS="--max-old-space-size=3584" export NODE_OPTIONS="--max-old-space-size=3584"
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0 export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
$STD yarn install --immutable $STD yarn install --immutable
export NODE_ENV=production export NODE_ENV=production
sed -i 's/NODE_ENV=development/NODE_ENV=production/g' /opt/outline/.env sed -i "s#^NODE_ENV=.*#NODE_ENV=production#" /opt/outline/.env
$STD yarn build $STD yarn build
msg_ok "Configured Outline" msg_ok "Configured Outline"
-1
View File
@@ -27,7 +27,6 @@ msg_info "Installing Pelican Panel"
cd /opt/pelican-panel cd /opt/pelican-panel
$STD composer install --no-dev --optimize-autoloader --no-interaction $STD composer install --no-dev --optimize-autoloader --no-interaction
$STD php artisan p:environment:setup $STD php artisan p:environment:setup
echo "yes" | $STD php artisan p:environment:database --driver mariadb --host localhost --port 3306 --database "$MARIADB_DB_NAME" --username "$MARIADB_DB_USER" --password "$MARIADB_DB_PASS"
$STD php artisan p:environment:queue-service --no-interaction $STD php artisan p:environment:queue-service --no-interaction
echo "* * * * * php /opt/pelican-panel/artisan schedule:run >> /dev/null 2>&1" | crontab -u www-data - echo "* * * * * php /opt/pelican-panel/artisan schedule:run >> /dev/null 2>&1" | crontab -u www-data -
chown -R www-data:www-data /opt/pelican-panel chown -R www-data:www-data /opt/pelican-panel