Compare commits

...

12 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
7fd08cbe69 Update CHANGELOG.md (#7892)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-25 00:13:14 +00:00
community-scripts-pr-app[bot]
285447b67f Update versions.json (#7891)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-25 02:12:49 +02:00
community-scripts-pr-app[bot]
b394cdf6e0 Update CHANGELOG.md (#7884)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-24 12:28:46 +00:00
community-scripts-pr-app[bot]
ab2a6ed38e Update CHANGELOG.md (#7883)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-24 12:28:32 +00:00
community-scripts-pr-app[bot]
f8e109c529 Update .app files (#7882)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-24 12:28:28 +00:00
community-scripts-pr-app[bot]
46e4bc3a04 Update date in json (#7881)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-09-24 12:28:21 +00:00
push-app-to-main[bot]
d0a1f305c7 Add Script: Joplin Server (#7879)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-09-24 14:28:02 +02:00
community-scripts-pr-app[bot]
6948e1f695 Update CHANGELOG.md (#7880)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-24 12:26:43 +00:00
Slaviša Arežina
8c860da4ed Fix dependencies (#7877) 2025-09-24 14:26:19 +02:00
community-scripts-pr-app[bot]
d32e9fad59 Update versions.json (#7878)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-24 14:06:22 +02:00
community-scripts-pr-app[bot]
9096a388c7 Update CHANGELOG.md (#7873)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-24 07:42:47 +00:00
Michel Roegl-Brunner
9f0efc27df Update name in lxc-delete.json to 'PVE LXC Deletion' (#7872) 2025-09-24 09:42:20 +02:00
9 changed files with 343 additions and 117 deletions

View File

@@ -10,8 +10,26 @@
> [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-09-25
## 2025-09-24
### 🆕 New Scripts
- Add Script: Joplin Server ([#7879](https://github.com/community-scripts/ProxmoxVE/pull/7879))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Monica: Fix dependencies [@tremor021](https://github.com/tremor021) ([#7877](https://github.com/community-scripts/ProxmoxVE/pull/7877))
### 🌐 Website
- #### 📝 Script Information
- Update name in lxc-delete.json to 'PVE LXC Deletion' [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#7872](https://github.com/community-scripts/ProxmoxVE/pull/7872))
## 2025-09-23
### 🆕 New Scripts

6
ct/headers/joplin-server Normal file
View File

@@ -0,0 +1,6 @@
__ ___ _____
/ /___ ____ / (_)___ / ___/___ ______ _____ _____
__ / / __ \/ __ \/ / / __ \______\__ \/ _ \/ ___/ | / / _ \/ ___/
/ /_/ / /_/ / /_/ / / / / / /_____/__/ / __/ / | |/ / __/ /
\____/\____/ .___/_/_/_/ /_/ /____/\___/_/ |___/\___/_/
/_/

62
ct/joplin-server.sh Normal file
View File

@@ -0,0 +1,62 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://joplinapp.org/
APP="Joplin-Server"
var_tags="${var_tags:-notes}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-20}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
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/joplin-server ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "joplin-server" "laurent22/joplin"; then
msg_info "Stopping Services"
systemctl stop joplin-server
msg_ok "Stopped Services"
fetch_and_deploy_gh_release "joplin-server" "laurent22/joplin" "tarball" "latest"
msg_info "Updating ${APP}"
cd /opt/joplin-server
sed -i "/onenote-converter/d" packages/lib/package.json
$STD yarn config set --home enableTelemetry 0
export BUILD_SEQUENCIAL=1
$STD yarn install --inline-builds
msg_ok "Updated ${APP}"
msg_info "Starting Services"
systemctl start joplin-server
msg_ok "Started Services"
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}:22300${CL}"

View File

@@ -46,6 +46,7 @@ function update_script() {
cp -r /opt/monica-backup/.env /opt/monica
cp -r /opt/monica-backup/storage/* /opt/monica/storage/
$STD composer install --no-interaction --no-dev
$STD yarn config set ignore-engines true
$STD yarn install
$STD yarn run production
$STD php artisan monica:update --force

View File

@@ -0,0 +1,40 @@
{
"name": "Joplin Server",
"slug": "joplin-server",
"categories": [
12
],
"date_created": "2025-09-24",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 22300,
"documentation": "https://joplinapp.org/help/",
"config_path": "/opt/joplin-server/.env",
"website": "https://joplinapp.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/joplin.webp",
"description": "Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.",
"install_methods": [
{
"type": "default",
"script": "ct/joplin-server.sh",
"resources": {
"cpu": 2,
"ram": 4096,
"hdd": 20,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": "admin@localhost",
"password": "admin"
},
"notes": [
{
"text": "Application can take some time to build, depending on your host speed. Please be patient.",
"type": "info"
}
]
}

View File

@@ -1,5 +1,5 @@
{
"name": "Container LXC Deletion",
"name": "PVE LXC Deletion",
"slug": "lxc-delete",
"categories": [
1

View File

@@ -1,14 +1,124 @@
[
{
"name": "9001/copyparty",
"version": "v1.19.14",
"date": "2025-09-23T22:57:50Z"
"name": "henrygd/beszel",
"version": "v0.12.11",
"date": "2025-09-24T22:19:00Z"
},
{
"name": "ollama/ollama",
"version": "v0.12.1-rc2",
"date": "2025-09-23T06:20:20Z"
},
{
"name": "home-assistant/core",
"version": "2025.9.4",
"date": "2025-09-19T21:09:39Z"
},
{
"name": "mongodb/mongo",
"version": "r8.2.1-rc1",
"date": "2025-09-24T19:54:34Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.26.3",
"date": "2025-09-24T17:37:55Z"
},
{
"name": "TandoorRecipes/recipes",
"version": "2.2.4",
"date": "2025-09-24T17:11:29Z"
},
{
"name": "go-gitea/gitea",
"version": "v1.26.0-dev",
"date": "2025-09-24T16:45:38Z"
},
{
"name": "rclone/rclone",
"version": "v1.71.1",
"date": "2025-09-24T16:32:16Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.112.5",
"date": "2025-09-24T14:44:25Z"
},
{
"name": "alexta69/metube",
"version": "2025.09.24",
"date": "2025-09-24T13:51:23Z"
},
{
"name": "AlexxIT/go2rtc",
"version": "v1.9.10",
"date": "2025-09-24T13:49:53Z"
},
{
"name": "influxdata/influxdb",
"version": "v1.11.9",
"date": "2025-09-24T13:15:07Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-typescript@4.0.9",
"date": "2025-09-24T12:52:59Z"
},
{
"name": "element-hq/synapse",
"version": "v1.138.2",
"date": "2025-09-24T12:45:13Z"
},
{
"name": "zwave-js/zwave-js-ui",
"version": "v11.3.1",
"date": "2025-09-24T11:58:00Z"
},
{
"name": "jupyter/notebook",
"version": "@jupyter-notebook/ui-components@7.5.0-alpha.3",
"date": "2025-09-24T09:14:14Z"
},
{
"name": "meilisearch/meilisearch",
"version": "latest",
"date": "2025-09-24T08:45:07Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w39-4.14.0",
"date": "2025-09-24T08:44:08Z"
},
{
"name": "syncthing/syncthing",
"version": "v2.0.10",
"date": "2025-09-24T08:33:37Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.23.59",
"date": "2025-09-24T06:04:32Z"
},
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-09-24T00:27:13Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v3.6.2",
"date": "2025-07-17T12:08:03Z"
},
{
"name": "grafana/grafana",
"version": "v12.2.0",
"date": "2025-09-23T23:47:02Z"
},
{
"name": "9001/copyparty",
"version": "v1.19.14",
"date": "2025-09-23T22:57:50Z"
},
{
"name": "HabitRPG/habitica",
"version": "v5.41.3",
@@ -19,11 +129,6 @@
"version": "v2.2.0",
"date": "2025-09-23T21:46:21Z"
},
{
"name": "mongodb/mongo",
"version": "r8.2.1-rc0",
"date": "2025-09-23T21:09:30Z"
},
{
"name": "immich-app/immich",
"version": "v1.143.1",
@@ -39,11 +144,6 @@
"version": "1.2.38",
"date": "2025-09-23T17:49:33Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.26.2",
"date": "2025-09-23T17:32:47Z"
},
{
"name": "getumbrel/umbrel",
"version": "1.4.2",
@@ -54,21 +154,11 @@
"version": "v1.6.4",
"date": "2025-08-18T20:22:07Z"
},
{
"name": "element-hq/synapse",
"version": "v1.139.0rc1",
"date": "2025-09-23T13:28:58Z"
},
{
"name": "jenkinsci/jenkins",
"version": "jenkins-2.529",
"date": "2025-09-23T14:40:20Z"
},
{
"name": "wazuh/wazuh",
"version": "v4.13.0",
"date": "2025-09-19T16:35:02Z"
},
{
"name": "zabbix/zabbix",
"version": "7.4.3rc1",
@@ -79,71 +169,31 @@
"version": "v2.1.1.102-2.1.1.102_canary_2025-09-23",
"date": "2025-09-23T13:32:25Z"
},
{
"name": "syncthing/syncthing",
"version": "v2.0.9",
"date": "2025-09-13T09:37:24Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.112.4",
"date": "2025-09-23T11:10:21Z"
},
{
"name": "documenso/documenso",
"version": "v1.12.5",
"date": "2025-09-23T11:00:48Z"
},
{
"name": "meilisearch/meilisearch",
"version": "prototype-speedup-post-processing-1",
"date": "2025-09-23T09:02:57Z"
"name": "keycloak/keycloak",
"version": "26.2.9",
"date": "2025-09-17T15:11:25Z"
},
{
"name": "chrisvel/tududi",
"version": "v0.82-rc5",
"date": "2025-09-23T07:31:12Z"
},
{
"name": "ollama/ollama",
"version": "v0.12.1-rc2",
"date": "2025-09-23T06:20:20Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3",
"date": "2025-09-20T12:12:33Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.23.56",
"date": "2025-09-23T05:54:39Z"
},
{
"name": "booklore-app/booklore",
"version": "v1.3.3",
"date": "2025-09-23T00:41:08Z"
},
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-09-23T00:27:09Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v3.6.2",
"date": "2025-07-17T12:08:03Z"
},
{
"name": "henrygd/beszel",
"version": "v0.12.10",
"date": "2025-09-22T22:40:43Z"
},
{
"name": "keycloak/keycloak",
"version": "26.2.9",
"date": "2025-09-17T15:11:25Z"
},
{
"name": "postgres/postgres",
"version": "REL_18_0",
@@ -274,11 +324,6 @@
"version": "v6.10.0",
"date": "2025-09-20T15:40:36Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-openapi@9.3.11",
"date": "2025-09-20T09:52:40Z"
},
{
"name": "forgejo/forgejo",
"version": "v12.0.4",
@@ -299,11 +344,6 @@
"version": "v0.37.0",
"date": "2025-08-27T20:03:52Z"
},
{
"name": "home-assistant/core",
"version": "2025.9.4",
"date": "2025-09-19T21:09:39Z"
},
{
"name": "coder/code-server",
"version": "v4.104.1",
@@ -314,11 +354,6 @@
"version": "v1.38.0",
"date": "2025-09-19T19:14:55Z"
},
{
"name": "TandoorRecipes/recipes",
"version": "2.2.3",
"date": "2025-09-19T15:02:57Z"
},
{
"name": "hargata/lubelog",
"version": "v1.5.2",
@@ -469,11 +504,6 @@
"version": "version/2025.8.3",
"date": "2025-09-16T15:19:06Z"
},
{
"name": "zwave-js/zwave-js-ui",
"version": "v11.3.0",
"date": "2025-09-16T13:53:44Z"
},
{
"name": "tobychui/zoraxy",
"version": "v3.2.5r2",
@@ -604,11 +634,6 @@
"version": "v1.0.0-rc0",
"date": "2025-08-17T18:47:15Z"
},
{
"name": "influxdata/influxdb",
"version": "v3.4.2",
"date": "2025-09-11T20:43:23Z"
},
{
"name": "zerotier/ZeroTierOne",
"version": "1.16.0",
@@ -619,11 +644,6 @@
"version": "v4.14.0",
"date": "2025-09-05T18:28:28Z"
},
{
"name": "go-gitea/gitea",
"version": "v1.24.6",
"date": "2025-09-11T04:20:27Z"
},
{
"name": "aceberg/WatchYourLAN",
"version": "2.1.4",
@@ -844,11 +864,6 @@
"version": "v2.10.2",
"date": "2025-08-23T03:10:31Z"
},
{
"name": "rclone/rclone",
"version": "v1.71.0",
"date": "2025-08-22T16:41:23Z"
},
{
"name": "lazy-media/Reactive-Resume",
"version": "v1.2.4",
@@ -879,11 +894,6 @@
"version": "8.2.1",
"date": "2025-08-18T15:42:48Z"
},
{
"name": "jupyter/notebook",
"version": "@jupyter-notebook/ui-components@7.5.0-alpha.2",
"date": "2025-08-18T07:39:41Z"
},
{
"name": "lldap/lldap",
"version": "v0.6.2",
@@ -969,11 +979,6 @@
"version": "v4.8.0",
"date": "2025-08-02T09:12:10Z"
},
{
"name": "alexta69/metube",
"version": "2025.07.31",
"date": "2025-08-01T14:44:48Z"
},
{
"name": "Suwayomi/Suwayomi-Server",
"version": "v2.1.1867",
@@ -1294,11 +1299,6 @@
"version": "v0.18.0",
"date": "2025-03-11T12:47:22Z"
},
{
"name": "AlexxIT/go2rtc",
"version": "v1.9.9",
"date": "2025-03-10T03:22:11Z"
},
{
"name": "awawa-dev/HyperHDR",
"version": "v21.0.0.0",

View File

@@ -0,0 +1,98 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://joplinapp.org/
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 \
git \
rsync
msg_ok "Installed Dependencies"
PG_VERSION="17" setup_postgresql
NODE_VERSION=22 NODE_MODULE="yarn@latest,npm@latest,pm2@latest" setup_nodejs
mkdir -p /opt/pm2
export PM2_HOME=/opt/pm2
$STD pm2 install pm2-logrotate
$STD pm2 set pm2-logrotate:max_size 100MB
$STD pm2 set pm2-logrotate:retain 5
$STD pm2 set pm2-logrotate:compress tr
msg_info "Setting up PostgreSQL Database"
DB_NAME=joplin
DB_USER=joplin
DB_PASS="$(openssl rand -base64 18 | cut -c1-13)"
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'"
{
echo "Joplin-Credentials"
echo "Joplin Database User: $DB_USER"
echo "Joplin Database Password: $DB_PASS"
echo "Joplin Database Name: $DB_NAME"
} >>~/joplin.creds
msg_ok "Set up PostgreSQL Database"
fetch_and_deploy_gh_release "joplin-server" "laurent22/joplin" "tarball" "latest"
msg_info "Setting up Joplin Server (Patience)"
LOCAL_IP=$(hostname -I | awk '{print $1}')
cd /opt/joplin-server
sed -i "/onenote-converter/d" packages/lib/package.json
$STD yarn config set --home enableTelemetry 0
export BUILD_SEQUENCIAL=1
$STD yarn install --inline-builds
cat <<EOF >/opt/joplin-server/.env
PM2_HOME=/opt/pm2
NODE_ENV=production
APP_BASE_URL=http://$LOCAL_IP:22300
APP_PORT=22300
DB_CLIENT=pg
POSTGRES_PASSWORD=$DB_PASS
POSTGRES_DATABASE=$DB_NAME
POSTGRES_USER=$DB_USER
POSTGRES_PORT=5432
POSTGRES_HOST=localhost
EOF
msg_ok "Setup Joplin Server"
msg_info "Setting up Service"
cat <<EOF >/etc/systemd/system/joplin-server.service
[Unit]
Description=Joplin Server Service
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/joplin-server/packages/server
EnvironmentFile=/opt/joplin-server/.env
ExecStart=/usr/bin/yarn start-prod
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now joplin-server
msg_ok "Service Setup"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -44,6 +44,7 @@ sed -i -e "s|^DB_USERNAME=.*|DB_USERNAME=${DB_USER}|" \
-e "s|^HASH_SALT=.*|HASH_SALT=${HASH_SALT}|" \
/opt/monica/.env
$STD composer install --no-dev -o --no-interaction
$STD yarn config set ignore-engines true
$STD yarn install
$STD yarn run production
$STD php artisan key:generate