Compare commits

..

113 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
29d0d98fa2 Update CHANGELOG.md (#9262)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-19 00:13:36 +00:00
community-scripts-pr-app[bot]
f3af0f6c34 Update versions.json (#9261)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-19 01:13:13 +01:00
CanbiZ
ae8c3002ab add clean_install for npm 2025-11-18 14:23:03 +01:00
CanbiZ
868218a5d6 huntarr: var_version from 13 to 12 2025-11-18 13:27:50 +01:00
CanbiZ
a065d1fe8f huntarr: var_version from 13 to 12 2025-11-18 13:27:40 +01:00
community-scripts-pr-app[bot]
71985f47b4 Update versions.json (#9250)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-18 13:05:51 +01:00
community-scripts-pr-app[bot]
cd3ceeb245 Update CHANGELOG.md (#9248)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-18 10:58:34 +00:00
community-scripts-pr-app[bot]
d702dcf0bb Update CHANGELOG.md (#9247)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-18 10:58:14 +00:00
CanbiZ
3279bc48b9 Huntarr: Downgrade Python to 3.12 (#9246) 2025-11-18 11:58:08 +01:00
CanbiZ
a900ebdce5 kasm: fix release fetching (#9244)
* kasm: fix release fetching

* Update kasm-install.sh
2025-11-18 11:57:49 +01:00
community-scripts-pr-app[bot]
06316c2bde Update CHANGELOG.md (#9245)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-18 10:18:17 +00:00
Michel Roegl-Brunner
14c3bac046 librenms: Fix password to short (#9236)
* librenms-install.sh aktualisieren

* librenms.json aktualisieren

* Update credentials and add generation

* Update credentials and add generation

* Refactor LibreNMS credentials output format

Updated the script to change how LibreNMS credentials are written to the creds file, adding a header for clarity.

* remove empty line

* remove space

---------

Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-11-18 11:17:52 +01:00
community-scripts-pr-app[bot]
52a18af573 Update CHANGELOG.md (#9240)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-17 22:53:12 +00:00
Slaviša Arežina
97a5b21394 Fix encryption key length in install script (#9239)
Update encryption key generation for Domain Monitor installation.
2025-11-17 23:52:49 +01:00
CanbiZ
1f1a41e5c7 Add empty option to verbose mode question 2025-11-17 18:26:23 +01:00
community-scripts-pr-app[bot]
5ccc5227d7 Update CHANGELOG.md (#9235)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-17 17:24:24 +00:00
CanbiZ
69d9baac1f github: add verbose mode check to bug report template (#9234) 2025-11-17 18:23:57 +01:00
community-scripts-pr-app[bot]
cec5c40e4a Update .app files (#9231)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-11-17 17:20:04 +01:00
community-scripts-pr-app[bot]
e93c4f90d9 Update date in json (#9232)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-11-17 16:08:32 +00:00
community-scripts-pr-app[bot]
a7b21b40fd Update CHANGELOG.md (#9230)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-17 16:07:58 +00:00
push-app-to-main[bot]
28dc130c4a Passbolt (#9226) 2025-11-17 17:07:34 +01:00
community-scripts-pr-app[bot]
5dc53965b6 Update CHANGELOG.md (#9229)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-17 16:07:31 +00:00
CanbiZ
eae070cc6c Refactor: paperless-ngx (Breaking Change Inside) (#9223) 2025-11-17 17:07:03 +01:00
community-scripts-pr-app[bot]
c1f12b4e3f Update CHANGELOG.md (#9228)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-17 15:53:22 +00:00
community-scripts-pr-app[bot]
251c842cd5 Update CHANGELOG.md (#9227)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-17 15:52:54 +00:00
CanbiZ
d7b8474af1 [core]: harmonize app_name for creds (#9224) 2025-11-17 16:52:11 +01:00
community-scripts-pr-app[bot]
44fbd31eb7 Update CHANGELOG.md (#9221)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-17 15:13:12 +01:00
community-scripts-pr-app[bot]
f229e6910c Update CHANGELOG.md (#9220)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-17 14:11:51 +00:00
community-scripts-pr-app[bot]
18c2e22de5 Update date in json (#9219)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-11-17 14:11:38 +00:00
Chris
4074fb67e1 NetVisor: add build deps, increase RAM (#9205)
* NetVisor: add pkg-config as build dependency

- this will be needed for v0.9.2

* Add libssl-dev as build dependency

* Increase RAM to 3GB

* Change apt-get to apt for package installation

---------

Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-11-17 15:11:36 +01:00
push-app-to-main[bot]
ee2f5ef9b3 Domain-Locker (#9214)
* 'Add new script'

* Remove duplicate npm install command

Removed redundant npm install command before building.

* Rename PostgreSQL database to 'domainlocker_db'

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-11-17 15:11:18 +01:00
Michel Roegl-Brunner
9fc45c1929 Remove 'disableip6' field from API response (#9218)
Removed empty 'disableip6' field from API response.
2025-11-17 15:10:20 +01:00
community-scripts-pr-app[bot]
5f31313422 Update versions.json (#9217)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-17 13:07:28 +01:00
CanbiZ
99d441e37c Improve PostgreSQL setup for Debian testing/unstable
Enhances the setup_postgresql function to prioritize the PostgreSQL upstream repository for Debian trixie, forky, and sid, with a fallback to native Debian packages if the repo is unavailable or packages cannot be installed. Adds logic for installing dependencies, restoring backups, enabling the service, updating PATH, and installing optional modules for native package installations.
2025-11-17 09:42:02 +01:00
community-scripts-pr-app[bot]
55c21416de Update CHANGELOG.md (#9213)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-17 06:21:54 +00:00
Alpha Vylly
0296bd63c3 fix: restart apache2 after installing zabbix config (#9206)
Apache must restart to load zabbix-apache-conf. Without restart,
/zabbix endpoint returns 404 until manual intervention.
2025-11-17 07:21:28 +01:00
community-scripts-pr-app[bot]
36630a7e4b Update CHANGELOG.md (#9210)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-17 00:14:21 +00:00
community-scripts-pr-app[bot]
5c0f6b282a Update versions.json (#9209)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-17 01:13:54 +01:00
community-scripts-pr-app[bot]
9937bceb17 Update CHANGELOG.md (#9204)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-16 18:49:26 +00:00
Felix Pape
fbb807bf97 fixed config_path for donetick (#9203) 2025-11-16 19:49:02 +01:00
community-scripts-pr-app[bot]
1df161b8e0 Update CHANGELOG.md (#9202)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-16 17:56:06 +00:00
ProfDrYoMan
ca2903b1ff Change backup directory to /opt for paperless-ngx (#9195)
* Change backup directory to /opt for paperless-ngx

Using /tmp for the backup is risky since many installations host it with tmpfs and thereby in RAM.

Having a bigger document base will deplete the memory on backup.

* Update paperless-ngx.sh

Added missing change.
2025-11-16 18:55:46 +01:00
community-scripts-pr-app[bot]
1405e28247 Update CHANGELOG.md (#9199)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-16 15:05:52 +00:00
community-scripts-pr-app[bot]
3257d4e9bc Update date in json (#9198)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-11-16 15:05:29 +00:00
push-app-to-main[bot]
55166a5d6c Metabase (#9190)
* 'Add new script'

* Update log message for stopping Metabase service

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-11-16 16:05:10 +01:00
community-scripts-pr-app[bot]
c1c4c35732 Update versions.json (#9192)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-16 13:06:41 +01:00
community-scripts-pr-app[bot]
5cc11c27d2 Update CHANGELOG.md (#9187)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-16 01:12:49 +00:00
CanbiZ
a8ae43f59f Kimai: remove deprecated admin_lte section (#9182) 2025-11-16 02:12:23 +01:00
community-scripts-pr-app[bot]
122e475a4a Update CHANGELOG.md (#9186)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-16 01:11:00 +00:00
CanbiZ
45ae66d474 healthchecks: bump python to 3.13 (#9175) 2025-11-16 02:10:39 +01:00
community-scripts-pr-app[bot]
6e053f2c39 Update CHANGELOG.md (#9185)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-16 00:14:41 +00:00
community-scripts-pr-app[bot]
71cd680db9 Update versions.json (#9184)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-16 01:14:17 +01:00
community-scripts-pr-app[bot]
c65c434f01 Update CHANGELOG.md (#9181)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-15 21:29:48 +00:00
Tobias
e7f2a2b377 Fix syntax error in chmod command (#9169) 2025-11-15 22:29:27 +01:00
community-scripts-pr-app[bot]
da3846935a Update CHANGELOG.md (#9180)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-15 21:18:57 +00:00
CanbiZ
8522928e14 firefly: refactor update_script and add dataimporter update (#9178)
* firefly: refactor update_script and add dataimporter update

Refactor update_script function to improve clarity and organization. Added checks for data importer installation and streamlined permission settings.

* Remove empty line before update_script function

* Add update messages for Firefly and Importer
2025-11-15 22:18:37 +01:00
community-scripts-pr-app[bot]
65b8180707 Update CHANGELOG.md (#9179)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-15 20:32:22 +00:00
CanbiZ
37cc47126e phpIPHAM: patch db and add fping (#9177)
Added installation of dependencies and patched SCHEMA.sql for phpIPAM.
2025-11-15 21:32:02 +01:00
community-scripts-pr-app[bot]
2bbc779497 Update CHANGELOG.md (#9176)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-15 19:29:03 +00:00
Tobias
dba8fc630e changedetection: fix: increase ressources (#9171)
* changedetection: fix: increase ressources

* changedetection: increase ressources
2025-11-15 20:28:42 +01:00
community-scripts-pr-app[bot]
fa9b815474 Update CHANGELOG.md (#9172)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-15 16:30:09 +00:00
Tobias
2eacce169c 2fauth: update composer command (#9168)
* chore: update composer command

* Change composer install option from prefer-source to prefer-dist
2025-11-15 17:29:47 +01:00
CanbiZ
e40ed2bd80 Healthcheck: uv 2025-11-15 16:46:33 +01:00
community-scripts-pr-app[bot]
8ffa3d6edb Update date in json (#9149)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-11-15 16:11:28 +01:00
community-scripts-pr-app[bot]
4087b4b0b6 Update versions.json (#9164)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-15 13:05:44 +01:00
community-scripts-pr-app[bot]
ca04688b69 Update CHANGELOG.md (#9159)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-15 00:12:37 +00:00
community-scripts-pr-app[bot]
914584b7b8 Update versions.json (#9158)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-15 01:12:13 +01:00
community-scripts-pr-app[bot]
cd2b2aade1 Update .app files (#9151)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-11-14 23:13:15 +01:00
community-scripts-pr-app[bot]
886213e134 Update CHANGELOG.md (#9155)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-14 21:12:54 +00:00
Matthias Schabhüttl
022abe7ba4 bump grafana to debian 13 (#9141)
* Update default Debian version to 13

* Remove software-properties-common from dependencies

Removed installation of 'software-properties-common' from dependencies.

* Update Debian version from 12 to 13

* Changed apt-get to apt

* Changed to new func setup_deb822_repo

* Replaced ${APP} with Grafana

* Refine update_script to use deb822 repo and grafana-only upgrade

* Using cleanup_lxc

* Wrong header_info in update_script()

* Remove unnecessary line break in dependency installation

* Simplify Grafana installation script

Removed unnecessary repository setup commands and updated the script for Grafana installation.

* Update Grafana repository setup in install script

Added repository details for Grafana installation.

---------

Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-11-14 22:12:23 +01:00
community-scripts-pr-app[bot]
e373648787 Update CHANGELOG.md (#9150)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-14 17:30:15 +00:00
push-app-to-main[bot]
6fa77cfe99 LibreNMS (#9148)
* 'Add new script'

* Fix application name to 'LibreNMS'

* Refactor LibreNMS installation script

Updated the installation script for LibreNMS, changing the source URL and reorganizing the setup process for PHP, MariaDB, and Python dependencies. Removed cleanup commands and added a call to cleanup_lxc.

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-11-14 18:29:52 +01:00
community-scripts-pr-app[bot]
be383e941f Update versions.json (#9146)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-14 13:05:58 +01:00
community-scripts-pr-app[bot]
8d6845d90b Update CHANGELOG.md (#9145)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-14 11:16:04 +00:00
CanbiZ
8f82229b29 Add CLEAN_INSTALL flag to fetch_and_deploy_gh_release (#9144) 2025-11-14 12:15:39 +01:00
community-scripts-pr-app[bot]
9710f32a16 Update CHANGELOG.md (#9139)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-14 00:13:22 +00:00
community-scripts-pr-app[bot]
fd5c07971a Update versions.json (#9138)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-14 01:13:03 +01:00
community-scripts-pr-app[bot]
2ff9471d65 Update CHANGELOG.md (#9136)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-13 20:46:13 +00:00
Michel Roegl-Brunner
8edab22d32 Remove Barcodebuddy (#9135)
* Delete ct/barcode-buddy.sh

* Delete ct/headers/barcode-buddy

* Delete frontend/public/json/barcode-buddy.json

* Delete install/barcode-buddy-install.sh
2025-11-13 21:45:48 +01:00
community-scripts-pr-app[bot]
471dda0e58 Update CHANGELOG.md (#9134)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-13 19:39:27 +00:00
push-app-to-main[bot]
401d0f83a3 Netvisor (#9133) 2025-11-13 20:39:04 +01:00
community-scripts-pr-app[bot]
0785df368a Update CHANGELOG.md (#9130)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-13 12:31:04 +00:00
Slaviša Arežina
7a787c58a0 Domain Monitor: Add domain checking cron (#9129)
* Add cron

* Update
2025-11-13 13:30:37 +01:00
community-scripts-pr-app[bot]
b0fb6bc64d Update versions.json (#9128)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-13 13:06:46 +01:00
community-scripts-pr-app[bot]
ac3615e121 Update CHANGELOG.md (#9127)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-13 11:38:28 +00:00
community-scripts-pr-app[bot]
e94ab29f86 Update CHANGELOG.md (#9126)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-13 11:38:19 +00:00
CanbiZ
06c0dad4f5 tools.func: improve Rust setup and crate installation logic (#9120)
* tools.func: improve Rust setup and crate installation logic

Enhances the setup_rust function to better handle Rust toolchain installation, updates, and verification. Improves global crate installation by handling upgrades, version checks, and error reporting, and adds more informative messaging throughout the process.

* Update tools.func

* Refine comment on setting default Rust toolchain

Removed redundant comment about fixing old installations.
2025-11-13 12:38:04 +01:00
community-scripts-pr-app[bot]
1d1960e98f Update CHANGELOG.md (#9125)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-13 11:37:53 +00:00
Slaviša Arežina
108b4b7c31 Update DATABASE_URL to use mariadb version (#9124) 2025-11-13 12:37:29 +01:00
community-scripts-pr-app[bot]
5e35ba7add Update CHANGELOG.md (#9121)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-13 10:24:10 +00:00
CanbiZ
522fcc1282 Fix: filebrowser-quantum update (#9115) 2025-11-13 11:23:48 +01:00
CanbiZ
8a053bf79f Refactor: Paperless-NGX Backup-Handler 2025-11-13 10:57:15 +01:00
CanbiZ
5776f67afd quickfix broken setup_java 2025-11-13 10:17:51 +01:00
community-scripts-pr-app[bot]
4c717c3330 Update CHANGELOG.md (#9119)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-13 08:44:23 +00:00
Maximilian Bosche
9eb6a844c0 possible fix for #9109 (#9110) 2025-11-13 09:43:55 +01:00
community-scripts-pr-app[bot]
bec36e8247 Update CHANGELOG.md (#9118)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-13 08:35:51 +00:00
CanbiZ
c5a40499c9 Downgrade Swizzin to Debian 12 Bookworm (#9116) 2025-11-13 09:35:20 +01:00
community-scripts-pr-app[bot]
02f1e738d9 Update CHANGELOG.md (#9113)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-13 00:14:34 +00:00
community-scripts-pr-app[bot]
d7e3e4b8c6 Update versions.json (#9112)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-13 01:14:10 +01:00
community-scripts-pr-app[bot]
6c0287c17a Update CHANGELOG.md (#9108)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-12 21:14:01 +00:00
Michael
f287cb8023 Update evcc.sh (#9107)
Added missing "fi" at line 38
2025-11-12 22:13:35 +01:00
community-scripts-pr-app[bot]
6677685ba8 Update CHANGELOG.md (#9103)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-12 20:13:28 +00:00
Chris
2cf7b446c0 Create new env file from example; fix installation & update (#9097) 2025-11-12 21:12:57 +01:00
community-scripts-pr-app[bot]
afdcc2a624 Update CHANGELOG.md (#9102)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-12 20:10:05 +00:00
Chris
817edd6d9c PeaNUT: use clean install flag during update (#9100)
- Fixes an issue with middleware update
- also removed semicolon from tags
2025-11-12 21:09:42 +01:00
community-scripts-pr-app[bot]
6883a39ef7 Update CHANGELOG.md (#9094)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-12 17:07:34 +00:00
community-scripts-pr-app[bot]
a85514dd2b Update CHANGELOG.md (#9093)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-12 17:07:13 +00:00
community-scripts-pr-app[bot]
9bb4bf020f Update date in json (#9092)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-11-12 17:07:11 +00:00
push-app-to-main[bot]
e5e44f4ebf Miniflux (#9091) 2025-11-12 18:07:07 +01:00
push-app-to-main[bot]
6781963f46 'Add new script' (#9090) 2025-11-12 18:06:42 +01:00
Michel Roegl-Brunner
93bcba16c4 Remove: Fenrus (#9088)
* Delete ct/fenrus.sh

* Delete ct/headers/fenrus

* Delete install/fenrus-install.sh

* Delete frontend/public/json/fenrus.json
2025-11-12 16:36:20 +01:00
CanbiZ
dc809eeda4 Change default value syntax for component variable 2025-11-12 14:54:17 +01:00
community-scripts-pr-app[bot]
aa770beff4 Update versions.json (#9084)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-12 13:06:39 +01:00
141 changed files with 2789 additions and 1439 deletions

View File

@@ -22,6 +22,18 @@ body:
validations: validations:
required: true required: true
- type: dropdown
id: verbose_run
attributes:
label: 🔎 Did you run the script with verbose mode enabled?
description: "Required for debugging any script issue. A verbose log is mandatory."
options:
- ""
- "Yes, verbose mode was enabled and the output is included below"
- "No (this issue will likely be closed automatically)"
validations:
required: true
- type: input - type: input
id: script_name id: script_name
attributes: attributes:

View File

@@ -10,14 +10,138 @@
> [!CAUTION] > [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-11-12 ## 2025-11-19
## 2025-11-18
### 🚀 Updated Scripts ### 🚀 Updated Scripts
- openwebui: Python version usage | core: zsh completion install [@MickLesk](https://github.com/MickLesk) ([#9079](https://github.com/community-scripts/ProxmoxVE/pull/9079)) - librenms: Fix password to short [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#9236](https://github.com/community-scripts/ProxmoxVE/pull/9236))
- #### 🐞 Bug Fixes - #### 🐞 Bug Fixes
- Huntarr: Downgrade Python to 3.12 [@MickLesk](https://github.com/MickLesk) ([#9246](https://github.com/community-scripts/ProxmoxVE/pull/9246))
- kasm: fix release fetching [@MickLesk](https://github.com/MickLesk) ([#9244](https://github.com/community-scripts/ProxmoxVE/pull/9244))
## 2025-11-17
### 🆕 New Scripts
- Passbolt ([#9226](https://github.com/community-scripts/ProxmoxVE/pull/9226))
- Domain-Locker ([#9214](https://github.com/community-scripts/ProxmoxVE/pull/9214))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Domain Monitor: Fix encryption key length in install script [@tremor021](https://github.com/tremor021) ([#9239](https://github.com/community-scripts/ProxmoxVE/pull/9239))
- NetVisor: add build deps, increase RAM [@vhsdream](https://github.com/vhsdream) ([#9205](https://github.com/community-scripts/ProxmoxVE/pull/9205))
- fix: restart apache2 after installing zabbix config [@AlphaLawless](https://github.com/AlphaLawless) ([#9206](https://github.com/community-scripts/ProxmoxVE/pull/9206))
- #### ✨ New Features
- [core]: harmonize app_name for creds [@MickLesk](https://github.com/MickLesk) ([#9224](https://github.com/community-scripts/ProxmoxVE/pull/9224))
- #### 💥 Breaking Changes
- Refactor: paperless-ngx (Breaking Change Inside) [@MickLesk](https://github.com/MickLesk) ([#9223](https://github.com/community-scripts/ProxmoxVE/pull/9223))
### 🧰 Maintenance
- #### 📂 Github
- github: add verbose mode check to bug report template [@MickLesk](https://github.com/MickLesk) ([#9234](https://github.com/community-scripts/ProxmoxVE/pull/9234))
## 2025-11-16
### 🆕 New Scripts
- Metabase ([#9190](https://github.com/community-scripts/ProxmoxVE/pull/9190))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Change backup directory to /opt for paperless-ngx [@ProfDrYoMan](https://github.com/ProfDrYoMan) ([#9195](https://github.com/community-scripts/ProxmoxVE/pull/9195))
- Kimai: remove deprecated admin_lte section [@MickLesk](https://github.com/MickLesk) ([#9182](https://github.com/community-scripts/ProxmoxVE/pull/9182))
- healthchecks: bump python to 3.13 [@MickLesk](https://github.com/MickLesk) ([#9175](https://github.com/community-scripts/ProxmoxVE/pull/9175))
### 🌐 Website
- #### 📝 Script Information
- fixed config_path for donetick [@TazztheMonster](https://github.com/TazztheMonster) ([#9203](https://github.com/community-scripts/ProxmoxVE/pull/9203))
## 2025-11-15
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- privatebin: fix: syntax error in chmod command [@CrazyWolf13](https://github.com/CrazyWolf13) ([#9169](https://github.com/community-scripts/ProxmoxVE/pull/9169))
- phpIPHAM: patch db and add fping [@MickLesk](https://github.com/MickLesk) ([#9177](https://github.com/community-scripts/ProxmoxVE/pull/9177))
- changedetection: fix: increase ressources [@CrazyWolf13](https://github.com/CrazyWolf13) ([#9171](https://github.com/community-scripts/ProxmoxVE/pull/9171))
- 2fauth: update composer command [@CrazyWolf13](https://github.com/CrazyWolf13) ([#9168](https://github.com/community-scripts/ProxmoxVE/pull/9168))
- #### 🔧 Refactor
- firefly: refactor update_script and add dataimporter update [@MickLesk](https://github.com/MickLesk) ([#9178](https://github.com/community-scripts/ProxmoxVE/pull/9178))
## 2025-11-14
### 🆕 New Scripts
- LibreNMS ([#9148](https://github.com/community-scripts/ProxmoxVE/pull/9148))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- karakeep: clean install after every update [@MickLesk](https://github.com/MickLesk) ([#9144](https://github.com/community-scripts/ProxmoxVE/pull/9144))
- #### ✨ New Features
- bump grafana to debian 13 [@mschabhuettl](https://github.com/mschabhuettl) ([#9141](https://github.com/community-scripts/ProxmoxVE/pull/9141))
## 2025-11-13
### 🆕 New Scripts
- Netvisor ([#9133](https://github.com/community-scripts/ProxmoxVE/pull/9133))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Domain Monitor: Add domain checking cron [@tremor021](https://github.com/tremor021) ([#9129](https://github.com/community-scripts/ProxmoxVE/pull/9129))
- Kimai: Fix for MariaDB connection URL [@tremor021](https://github.com/tremor021) ([#9124](https://github.com/community-scripts/ProxmoxVE/pull/9124))
- Fix: filebrowser-quantum update [@MickLesk](https://github.com/MickLesk) ([#9115](https://github.com/community-scripts/ProxmoxVE/pull/9115))
- tools.func: fix wrong output for setup_java (error token is "0") [@snow2k9](https://github.com/snow2k9) ([#9110](https://github.com/community-scripts/ProxmoxVE/pull/9110))
- #### ✨ New Features
- tools.func: improve Rust setup and crate installation logic [@MickLesk](https://github.com/MickLesk) ([#9120](https://github.com/community-scripts/ProxmoxVE/pull/9120))
- #### 💥 Breaking Changes
- Remove Barcodebuddy [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#9135](https://github.com/community-scripts/ProxmoxVE/pull/9135))
- Downgrade Swizzin to Debian 12 Bookworm [@MickLesk](https://github.com/MickLesk) ([#9116](https://github.com/community-scripts/ProxmoxVE/pull/9116))
## 2025-11-12
### 🆕 New Scripts
- Miniflux ([#9091](https://github.com/community-scripts/ProxmoxVE/pull/9091))
- Splunk Enterprise ([#9090](https://github.com/community-scripts/ProxmoxVE/pull/9090))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- evcc: add missing fi in update [@MichaelVetter1979](https://github.com/MichaelVetter1979) ([#9107](https://github.com/community-scripts/ProxmoxVE/pull/9107))
- PeaNUT: use clean install flag during update [@vhsdream](https://github.com/vhsdream) ([#9100](https://github.com/community-scripts/ProxmoxVE/pull/9100))
- Tududi: Create new env file from example; fix installation & update [@vhsdream](https://github.com/vhsdream) ([#9097](https://github.com/community-scripts/ProxmoxVE/pull/9097))
- openwebui: Python version usage | core: zsh completion install [@MickLesk](https://github.com/MickLesk) ([#9079](https://github.com/community-scripts/ProxmoxVE/pull/9079))
- Refactor: evcc [@CrazyWolf13](https://github.com/CrazyWolf13) ([#9057](https://github.com/community-scripts/ProxmoxVE/pull/9057)) - Refactor: evcc [@CrazyWolf13](https://github.com/CrazyWolf13) ([#9057](https://github.com/community-scripts/ProxmoxVE/pull/9057))
- #### ✨ New Features - #### ✨ New Features

View File

@@ -54,7 +54,7 @@ function update_script() {
chown -R www-data: "/opt/2fauth" chown -R www-data: "/opt/2fauth"
chmod -R 755 "/opt/2fauth" chmod -R 755 "/opt/2fauth"
export COMPOSER_ALLOW_SUPERUSER=1 export COMPOSER_ALLOW_SUPERUSER=1
$STD composer install --no-dev --prefer-source $STD composer install --no-dev --prefer-dist
php artisan 2fauth:install php artisan 2fauth:install
$STD systemctl restart nginx $STD systemctl restart nginx

View File

@@ -1,69 +0,0 @@
#!/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: bvdberg01
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/Forceu/barcodebuddy
APP="Barcode-Buddy"
var_tags="${var_tags:-grocery;household}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-3}"
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/barcodebuddy ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "barcodebuddy" "Forceu/barcodebuddy"; then
msg_info "Stopping Service"
systemctl stop apache2
systemctl stop barcodebuddy
msg_ok "Stopped Service"
msg_info "Backing up data"
mv /opt/barcodebuddy/ /opt/barcodebuddy-backup
msg_ok "Backed up data"
fetch_and_deploy_gh_release "barcodebuddy" "Forceu/barcodebuddy"
msg_info "Configuring ${APP}"
cp -r /opt/barcodebuddy-backup/data/. /opt/barcodebuddy/data
chown -R www-data:www-data /opt/barcodebuddy/data
msg_ok "Configured ${APP}"
msg_info "Starting Service"
systemctl start apache2
systemctl start barcodebuddy
msg_ok "Started Service"
msg_info "Cleaning up"
rm -r /opt/barcodebuddy-backup
msg_ok "Cleaned"
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}${CL}"

View File

@@ -7,8 +7,8 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
APP="Change Detection" APP="Change Detection"
var_tags="${var_tags:-monitoring;crawler}" var_tags="${var_tags:-monitoring;crawler}"
var_cpu="${var_cpu:-2}" var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-4096}"
var_disk="${var_disk:-10}" var_disk="${var_disk:-10}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-12}"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-18}" var_disk="${var_disk:-18}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -27,21 +27,12 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
<<<<<<< HEAD
msg_info "Updating Dockge"
cd /opt/dockge
$STD docker compose pull
$STD docker compose up -d
msg_ok "Updated Dockge"
msg_ok "Updated successfully"
=======
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
cd /opt/dockge cd /opt/dockge
$STD docker compose pull $STD docker compose pull
$STD docker compose up -d $STD docker compose up -d
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
exit exit
} }

View File

@@ -12,7 +12,6 @@ var_ram="${var_ram:-4096}"
var_disk="${var_disk:-8}" var_disk="${var_disk:-8}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
variables variables
@@ -45,22 +44,18 @@ function update_script() {
fetch_and_deploy_gh_release "docmost" "docmost/docmost" fetch_and_deploy_gh_release "docmost" "docmost/docmost"
msg_info "Updating Docmost" msg_info "Updating ${APP}"
cd /opt/docmost cd /opt/docmost
mv /opt/.env /opt/docmost/.env mv /opt/.env /opt/docmost/.env
mv /opt/data /opt/docmost/data mv /opt/data /opt/docmost/data
$STD pnpm install --force $STD pnpm install --force
$STD pnpm build $STD pnpm build
msg_ok "Updated Docmost" msg_ok "Updated ${APP}"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start docmost systemctl start docmost
msg_ok "Started Service" msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-6}" var_disk="${var_disk:-6}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -20,15 +20,15 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /usr/share/dolibarr ]]; then if [[ ! -d /usr/share/dolibarr ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "To update ${APP}, use the applications web interface."
exit exit
fi
msg_error "To update ${APP}, use the applications web interface."
exit
} }
start start

67
ct/domain-locker.sh Normal file
View File

@@ -0,0 +1,67 @@
#!/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: CrazyWolf13
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/Lissy93/domain-locker
APP="Domain-Locker"
var_tags="${var_tags:-Monitoring}"
var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-10240}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
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/domain-locker ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "domain-locker" "Lissy93/domain-locker"; then
msg_info "Stopping Service"
systemctl stop domain-locker
msg_info "Service stopped"
PG_VERSION="17" setup_postgresql
setup_nodejs
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "domain-locker" "Lissy93/domain-locker"
msg_info "Installing Modules (patience)"
cd /opt/domain-locker
$STD npm install
msg_ok "Installed Modules"
msg_info "Building Domain-Locker (a lot of patience)"
set -a
source /opt/domain-locker.env
set +a
$STD npm run build
msg_info "Built Domain-Locker"
msg_info "Restarting Services"
systemctl start domain-locker
msg_ok "Restarted 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}:3000${CL}"

View File

@@ -20,41 +20,45 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /opt/domain-monitor ]]; then if [[ ! -d /opt/domain-monitor ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "domain-monitor" "Hosteroid/domain-monitor"; then
msg_info "Stopping Service"
systemctl stop apache2
msg_info "Service stopped"
msg_info "Creating backup"
mv /opt/domain-monitor/.env /opt
msg_ok "Created backup"
setup_composer
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "domain-monitor" "Hosteroid/domain-monitor" "prebuild" "latest" "/opt/domain-monitor" "domain-monitor-v*.zip"
msg_info "Updating Domain Monitor"
cd /opt/domain-monitor
$STD composer install
msg_ok "Updated Domain Monitor"
msg_info "Restoring backup"
mv /opt/.env /opt/domain-monitor
msg_ok "Restored backup"
msg_info "Restarting Services"
systemctl reload apache2
msg_ok "Restarted Services"
msg_ok "Updated successfully!"
fi
exit exit
fi
if ! grep -Fq "root /usr/bin/php /opt/domain-monitor/cron/check_domains.php" /etc/crontab; then
echo "0 0 * * * root /usr/bin/php /opt/domain-monitor/cron/check_domains.php" >>/etc/crontab
fi
if check_for_gh_release "domain-monitor" "Hosteroid/domain-monitor"; then
msg_info "Stopping Service"
systemctl stop apache2
msg_info "Service stopped"
msg_info "Creating backup"
mv /opt/domain-monitor/.env /opt
msg_ok "Created backup"
setup_composer
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "domain-monitor" "Hosteroid/domain-monitor" "prebuild" "latest" "/opt/domain-monitor" "domain-monitor-v*.zip"
msg_info "Updating Domain Monitor"
cd /opt/domain-monitor
$STD composer install
msg_ok "Updated Domain Monitor"
msg_info "Restoring backup"
mv /opt/.env /opt/domain-monitor
msg_ok "Restored backup"
msg_info "Restarting Services"
systemctl reload apache2
msg_ok "Restarted Services"
msg_ok "Updated successfully!"
fi
exit
} }
start start

View File

@@ -20,13 +20,6 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
<<<<<<< HEAD
header_info
check_container_storage
check_container_resources
if [[ ! -d /var/www ]]; then
msg_error "No ${APP} Installation Found!"
=======
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
@@ -38,14 +31,7 @@ function update_script() {
$STD apt-get update $STD apt-get update
$STD apt-get -y upgrade $STD apt-get -y upgrade
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
exit exit
fi
msg_info "Updating ${APP} LXC"
$STD apt update
$STD apt -y upgrade
msg_ok "Updated Successfully"
exit
} }
start start

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}" var_ram="${var_ram:-1024}"
var_disk="${var_disk:-10}" var_disk="${var_disk:-10}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -31,22 +31,14 @@ function update_script() {
if check_for_gh_release "duplicati" "duplicati/duplicati"; then if check_for_gh_release "duplicati" "duplicati/duplicati"; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop duplicati systemctl stop duplicati
<<<<<<< HEAD
msg_ok "Stopped Service"
=======
msg_info "Stopped Service" msg_info "Stopped Service"
>>>>>>> main
fetch_and_deploy_gh_release "duplicati" "duplicati/duplicati" "binary" "latest" "/opt/duplicati" "duplicati-*-linux-x64-gui.deb" fetch_and_deploy_gh_release "duplicati" "duplicati/duplicati" "binary" "latest" "/opt/duplicati" "duplicati-*-linux-x64-gui.deb"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start duplicati systemctl start duplicati
msg_ok "Started Service" msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}" var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}" var_disk="${var_disk:-4}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -32,9 +32,9 @@ function update_script() {
msg_info "Removing old EMQX" msg_info "Removing old EMQX"
if dpkg -l | grep -q "^ii\s\+emqx\s"; then if dpkg -l | grep -q "^ii\s\+emqx\s"; then
$STD apt remove --purge -y emqx $STD apt-get remove --purge -y emqx
elif dpkg -l | grep -q "^ii\s\+emqx-enterprise\s"; then elif dpkg -l | grep -q "^ii\s\+emqx-enterprise\s"; then
$STD apt remove --purge -y emqx-enterprise $STD apt-get remove --purge -y emqx-enterprise
else else
msg_ok "No old EMQX package found" msg_ok "No old EMQX package found"
fi fi
@@ -46,17 +46,11 @@ function update_script() {
msg_ok "Downloaded EMQX" msg_ok "Downloaded EMQX"
msg_info "Installing EMQX" msg_info "Installing EMQX"
$STD apt install -y "$DEB_FILE" $STD apt-get install -y "$DEB_FILE"
echo "$RELEASE" >~/.emqx
rm -f "$DEB_FILE"
msg_ok "Installed EMQX v${RELEASE}" msg_ok "Installed EMQX v${RELEASE}"
msg_info "Starting Service" msg_info "Starting EMQX"
systemctl start emqx systemctl start emqx
<<<<<<< HEAD
msg_ok "Started Service"
msg_ok "Updated successfully"
=======
echo "$RELEASE" >~/.emqx echo "$RELEASE" >~/.emqx
msg_ok "Started EMQX" msg_ok "Started EMQX"
@@ -64,7 +58,6 @@ function update_script() {
rm -f "$DEB_FILE" rm -f "$DEB_FILE"
msg_ok "Cleanup Completed" msg_ok "Cleanup Completed"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
else else
msg_ok "No update required. EMQX is already at v${RELEASE}" msg_ok "No update required. EMQX is already at v${RELEASE}"
fi fi

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}" var_ram="${var_ram:-1024}"
var_disk="${var_disk:-5}" var_disk="${var_disk:-5}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -27,28 +27,23 @@ function update_script() {
exit exit
fi fi
if check_for_gh_release "ersatztv" "ErsatzTV/ErsatzTV"; then if check_for_gh_release "ersatztv" "ErsatzTV/ErsatzTV"; then
msg_info "Stopping Service" msg_info "Stopping ErsatzTV"
systemctl stop ersatzTV systemctl stop ersatzTV
msg_ok "Stopped Service" msg_ok "Stopped ErsatzTV"
fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-x64.tar.gz" fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-x64.tar.gz"
msg_info "Starting Service" msg_info "Starting ErsatzTV"
systemctl start ersatzTV systemctl start ersatzTV
<<<<<<< HEAD
msg_ok "Started Service"
msg_ok "ErsatzTV Updated successfully"
=======
msg_ok "Started ErsatzTV" msg_ok "Started ErsatzTV"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
if check_for_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg"; then if check_for_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg"; then
msg_info "Stopping Service" msg_info "Stopping ErsatzTV"
systemctl stop ersatzTV systemctl stop ersatzTV
msg_ok "Stopped Service" msg_ok "Stopped ErsatzTV"
fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-linux64-gpl-7.1.tar.xz" fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-linux64-gpl-7.1.tar.xz"
@@ -59,15 +54,10 @@ function update_script() {
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffprobe /usr/local/bin/ffprobe ln -sf /opt/ErsatzTV-ffmpeg/bin/ffprobe /usr/local/bin/ffprobe
msg_ok "ffmpeg links set" msg_ok "ffmpeg links set"
msg_info "Starting Service" msg_info "Starting ErsatzTV"
systemctl start ersatzTV systemctl start ersatzTV
<<<<<<< HEAD
msg_ok "Started Service"
msg_ok "ErsatzTV-ffmpeg Updated successfully"
=======
msg_ok "Started ErsatzTV" msg_ok "Started ErsatzTV"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}" var_ram="${var_ram:-1024}"
var_disk="${var_disk:-10}" var_disk="${var_disk:-10}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -81,11 +81,7 @@ EOF
msg_info "Starting Service" msg_info "Starting Service"
systemctl start esphomeDashboard systemctl start esphomeDashboard
msg_ok "Started Service" msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}" var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}" var_disk="${var_disk:-4}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -26,7 +26,6 @@ function update_script() {
if ! command -v evcc >/dev/null 2>&1; then if ! command -v evcc >/dev/null 2>&1; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit 1 exit 1
<<<<<<< HEAD
fi fi
if [[ -f /etc/apt/sources.list.d/evcc-stable.list ]]; then if [[ -f /etc/apt/sources.list.d/evcc-stable.list ]]; then
@@ -36,17 +35,7 @@ function update_script() {
"https://dl.evcc.io/public/evcc/stable/deb/debian/" \ "https://dl.evcc.io/public/evcc/stable/deb/debian/" \
"$(get_os_info codename)" \ "$(get_os_info codename)" \
"main" "main"
=======
>>>>>>> main
fi fi
if [[ -f /etc/apt/sources.list.d/evcc-stable.list ]]; then
setup_deb822_repo \
"evcc-stable" \
"https://dl.evcc.io/public/evcc/stable/gpg.EAD5D0E07B0EC0FD.key" \
"https://dl.evcc.io/public/evcc/stable/deb/debian/" \
"$(get_os_info codename)" \
"main"
msg_info "Updating evcc LXC" msg_info "Updating evcc LXC"
$STD apt update $STD apt update
$STD apt --only-upgrade install -y evcc $STD apt --only-upgrade install -y evcc

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-3072}" var_ram="${var_ram:-3072}"
var_disk="${var_disk:-10}" var_disk="${var_disk:-10}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -31,28 +31,20 @@ function update_script() {
if check_for_gh_release "excalidraw" "excalidraw/excalidraw"; then if check_for_gh_release "excalidraw" "excalidraw/excalidraw"; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop excalidraw systemctl stop excalidraw
<<<<<<< HEAD
msg_ok "Stopped Service"
=======
msg_info "Stopped Service" msg_info "Stopped Service"
>>>>>>> main
rm -rf /opt/excalidraw rm -rf /opt/excalidraw
fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw" fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw"
msg_info "Updating Excalidraw" msg_info "Updating $APP"
cd /opt/excalidraw cd /opt/excalidraw
$STD yarn $STD yarn
msg_ok "Updated Excalidraw" msg_ok "Updated $APP"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start excalidraw systemctl start excalidraw
msg_ok "Started Service" msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -1,70 +0,0 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster) | Co-Author: Scorpoon
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/revenz/Fenrus
APP="Fenrus"
var_tags="${var_tags:-dashboard}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-4}"
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/${APP} ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "Currently we don't provide an update function for this ${APP}."
exit
msg_info "Updating ${APP}"
systemctl stop ${APP}
git clone https://github.com/revenz/Fenrus.git
cd Fenrus
gitVersionNumber=$(git rev-parse HEAD)
if [[ "${gitVersionNumber}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
mkdir /opt/fenrus-data-backup
cp -r "/opt/${APP}/data/" /opt/fenrus-data-backup/data
if [[ ! -d /opt/fenrus-data-backup/data ]]; then
msg_error "Backup of data folder failed! exiting..."
rm -r /opt/fenrus-data-backup/
exit
fi
export DOTNET_CLI_TELEMETRY_OPTOUT=1
dotnet publish -c Release -o "/opt/${APP}/" Fenrus.csproj
cp -r /opt/fenrus-data-backup/data/ "/opt/${APP}/"
echo "${gitVersionNumber}" >"/opt/${APP}_version.txt"
rm -r /opt/fenrus-data-backup/
msg_ok "Updated $APP"
msg_ok "Updated successfully!"
else
msg_ok "No update required. ${APP} is already up to date"
fi
cd ..
rm -r Fenrus/
systemctl start ${APP}
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}:5000${CL}"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}" var_disk="${var_disk:-8}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -20,13 +20,6 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
<<<<<<< HEAD
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/systemd/system/fhem.service ]]; then
msg_error "No ${APP} Installation Found!"
=======
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
@@ -38,14 +31,7 @@ function update_script() {
$STD apt-get update $STD apt-get update
$STD apt-get -y upgrade $STD apt-get -y upgrade
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
exit exit
fi
msg_info "Updating ${APP} LXC"
$STD apt update
$STD apt -y upgrade
msg_ok "Updated Successfully"
exit
} }
start start

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}" var_disk="${var_disk:-8}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -28,27 +28,27 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if ! [[ $(dpkg -s jq 2>/dev/null) ]]; then
$STD apt-get update
$STD apt-get install -y jq
fi
update_available=$(curl -fsSL -X 'GET' "http://localhost:19200/api/status/update-available" -H 'accept: application/json' | jq .UpdateAvailable) update_available=$(curl -fsSL -X 'GET' "http://localhost:19200/api/status/update-available" -H 'accept: application/json' | jq .UpdateAvailable)
if [[ "${update_available}" == "true" ]]; then if [[ "${update_available}" == "true" ]]; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop fileflows systemctl stop fileflows
<<<<<<< HEAD
msg_ok "Stopped Service"
=======
msg_info "Stopped Service" msg_info "Stopped Service"
>>>>>>> main
msg_info "Creating Backup" msg_info "Creating Backup"
backup_filename="/opt/${APP}_backup_$(date +%F).tar.gz" backup_filename="/opt/${APP}_backup_$(date +%F).tar.gz"
tar -czf "$backup_filename" -C /opt/fileflows Data tar -czf "$backup_filename" -C /opt/fileflows Data
msg_ok "Backup Created" msg_ok "Backup Created"
msg_info "Updating FileFlows" msg_info "Updating $APP to latest version"
temp_file=$(mktemp) temp_file=$(mktemp)
curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file" curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file"
$STD unzip -o -d /opt/fileflows "$temp_file" $STD unzip -o -d /opt/fileflows "$temp_file"
msg_ok "Updated FileFlows" msg_ok "Updated $APP to latest version"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start fileflows systemctl start fileflows
@@ -58,14 +58,11 @@ function update_script() {
rm -rf "$temp_file" rm -rf "$temp_file"
rm -rf "$backup_filename" rm -rf "$backup_filename"
msg_ok "Cleanup Completed" msg_ok "Cleanup Completed"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
else else
msg_ok "No update required. ${APP} is already at latest version" msg_ok "No update required. ${APP} is already at latest version"
fi fi
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}" var_ram="${var_ram:-1024}"
var_disk="${var_disk:-2}" var_disk="${var_disk:-2}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -28,45 +28,66 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if check_for_gh_release "firefly" "firefly-iii/firefly-iii"; then
msg_info "Stopping Apache2"
systemctl stop apache2
msg_ok "Stopped Apache2"
msg_info "Backing up data" if check_for_gh_release "firefly" "firefly-iii/firefly-iii"; then
systemctl stop apache2
cp /opt/firefly/.env /opt/.env cp /opt/firefly/.env /opt/.env
cp -r /opt/firefly/storage /opt/storage cp -r /opt/firefly/storage /opt/storage
msg_ok "Backed up data"
if [[ -d /opt/firefly/dataimporter ]]; then
cp /opt/firefly/dataimporter/.env /opt/dataimporter.env
IMPORTER_INSTALLED=1
fi
fetch_and_deploy_gh_release "firefly" "firefly-iii/firefly-iii" "prebuild" "latest" "/opt/firefly" "FireflyIII-*.zip" fetch_and_deploy_gh_release "firefly" "firefly-iii/firefly-iii" "prebuild" "latest" "/opt/firefly" "FireflyIII-*.zip"
setup_composer setup_composer
msg_info "Updating Firefly" msg_info "Updating Firefly"
rm -rf /opt/firefly/storage rm -rf /opt/firefly/storage
cp /opt/.env /opt/firefly/.env
cp -r /opt/storage /opt/firefly/storage cp -r /opt/storage /opt/firefly/storage
cp /opt/.env /opt/firefly/.env
chown -R www-data:www-data /opt/firefly chown -R www-data:www-data /opt/firefly
find /opt/firefly/storage -type d -exec chmod 775 {} \; chmod -R 775 /opt/firefly/storage
find /opt/firefly/storage -type f -exec chmod 664 {} \; mkdir -p /opt/firefly/storage/framework/cache/data
mkdir -p /opt/firefly/storage/framework/{cache/data,sessions,views} mkdir -p /opt/firefly/storage/framework/sessions
$STD sudo -u www-data php /opt/firefly/artisan cache:clear mkdir -p /opt/firefly/storage/framework/views
mkdir -p /opt/firefly/storage/logs
mkdir -p /opt/firefly/bootstrap/cache
chown -R www-data:www-data /opt/firefly/{storage,bootstrap/cache}
cd /opt/firefly cd /opt/firefly
$STD php artisan migrate --seed --force $STD runuser -u www-data -- composer install --no-dev --optimize-autoloader
$STD php artisan cache:clear $STD runuser -u www-data -- composer dump-autoload -o
$STD php artisan view:clear
$STD php artisan firefly-iii:upgrade-database $STD runuser -u www-data -- php artisan cache:clear
$STD php artisan firefly-iii:laravel-passport-keys $STD runuser -u www-data -- php artisan config:clear
$STD runuser -u www-data -- php artisan route:clear
$STD runuser -u www-data -- php artisan view:clear
$STD runuser -u www-data -- php artisan migrate --seed --force
$STD runuser -u www-data -- php artisan firefly-iii:upgrade-database
$STD runuser -u www-data -- php artisan firefly-iii:laravel-passport-keys
$STD runuser -u www-data -- php artisan storage:link || true
$STD runuser -u www-data -- php artisan optimize
msg_ok "Updated Firefly" msg_ok "Updated Firefly"
msg_info "Starting Apache2" if [[ "${IMPORTER_INSTALLED:-0}" -eq 1 ]]; then
msg_info "Updating Firefly Importer"
IMPORTER_RELEASE=$(curl -fsSL https://api.github.com/repos/firefly-iii/data-importer/releases/latest | grep tag_name | cut -d '"' -f 4 | sed 's/v//')
rm -rf /opt/firefly/dataimporter
mkdir -p /opt/firefly/dataimporter
curl -fsSL "https://github.com/firefly-iii/data-importer/releases/download/v${IMPORTER_RELEASE}/DataImporter-v${IMPORTER_RELEASE}.tar.gz" -o "/opt/DataImporter.tar.gz"
tar -xzf /opt/DataImporter.tar.gz -C /opt/firefly/dataimporter
if [[ -f /opt/dataimporter.env ]]; then
cp /opt/dataimporter.env /opt/firefly/dataimporter/.env
fi
chown -R www-data:www-data /opt/firefly/dataimporter
rm -f /opt/DataImporter.tar.gz
msg_ok "Updated Firefly Importer"
fi
systemctl start apache2 systemctl start apache2
msg_ok "Started Apache2"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -28,10 +28,6 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
<<<<<<< HEAD
if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr"; then
msg_info "Stopping Service"
=======
if [[ $(grep -E '^VERSION_ID=' /etc/os-release) == *"12"* ]]; then if [[ $(grep -E '^VERSION_ID=' /etc/os-release) == *"12"* ]]; then
msg_error "Wrong Debian version detected!" msg_error "Wrong Debian version detected!"
msg_error "You must upgrade your LXC to Debian Trixie before updating." msg_error "You must upgrade your LXC to Debian Trixie before updating."
@@ -39,26 +35,16 @@ function update_script() {
fi fi
if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr"; then if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr"; then
msg_info "Stopping service" msg_info "Stopping service"
>>>>>>> main
systemctl stop flaresolverr systemctl stop flaresolverr
msg_ok "Stopped Service" msg_ok "Stopped service"
<<<<<<< HEAD
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "latest" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz"
=======
rm -rf /opt/flaresolverr rm -rf /opt/flaresolverr
fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "latest" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz" fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "latest" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz"
>>>>>>> main
msg_info "Starting Service" msg_info "Starting service"
systemctl start flaresolverr systemctl start flaresolverr
<<<<<<< HEAD
msg_ok "Started Service"
msg_ok "Updated successfully"
=======
msg_ok "Started service" msg_ok "Started service"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_disk="${var_disk:-10}"
var_cpu="${var_cpu:-4}" var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-4096}" var_ram="${var_ram:-4096}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -27,20 +27,12 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
<<<<<<< HEAD
msg_info "Updating FlowiseAI"
systemctl stop flowise
npm install -g flowise --upgrade
systemctl start flowise
msg_ok "Updated FlowiseAI"
=======
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
systemctl stop flowise systemctl stop flowise
npm install -g flowise --upgrade npm install -g flowise --upgrade
systemctl start flowise systemctl start flowise
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-3}"
var_ram="${var_ram:-4096}" var_ram="${var_ram:-4096}"
var_disk="${var_disk:-7}" var_disk="${var_disk:-7}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -31,16 +31,13 @@ function update_script() {
if check_for_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"; then if check_for_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop fluid-calendar systemctl stop fluid-calendar
<<<<<<< HEAD
msg_ok "Stopped Service"
=======
msg_info "Stopped Service" msg_info "Stopped Service"
>>>>>>> main
cp /opt/fluid-calendar/.env /opt/fluid.env cp /opt/fluid-calendar/.env /opt/fluid.env
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar" rm -rf /opt/fluid-calendar
fetch_and_deploy_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"
msg_info "Updating Fluid Calendar" msg_info "Updating $APP"
mv /opt/fluid.env /opt/fluid-calendar/.env mv /opt/fluid.env /opt/fluid-calendar/.env
cd /opt/fluid-calendar cd /opt/fluid-calendar
export NEXT_TELEMETRY_DISABLED=1 export NEXT_TELEMETRY_DISABLED=1
@@ -48,16 +45,12 @@ function update_script() {
$STD npm run prisma:generate $STD npm run prisma:generate
$STD npx prisma migrate deploy $STD npx prisma migrate deploy
$STD npm run build:os $STD npm run build:os
msg_ok "Updated Fluid Calendar" msg_ok "Updated $APP"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start fluid-calendar systemctl start fluid-calendar
msg_ok "Started Service" msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-10}" var_disk="${var_disk:-10}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -31,24 +31,23 @@ function update_script() {
systemctl stop forgejo systemctl stop forgejo
msg_ok "Stopped Service" msg_ok "Stopped Service"
msg_info "Updating Forgejo" msg_info "Updating ${APP}"
RELEASE=$(curl -fsSL https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//') RELEASE=$(curl -fsSL https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//')
curl -fsSL "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64" -o "forgejo-$RELEASE-linux-amd64" curl -fsSL "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64" -o "forgejo-$RELEASE-linux-amd64"
rm -rf /opt/forgejo/* rm -rf /opt/forgejo/*
cp -r forgejo-$RELEASE-linux-amd64 /opt/forgejo/forgejo-$RELEASE-linux-amd64 cp -r forgejo-$RELEASE-linux-amd64 /opt/forgejo/forgejo-$RELEASE-linux-amd64
chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64 chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64
ln -sf /opt/forgejo/forgejo-$RELEASE-linux-amd64 /usr/local/bin/forgejo ln -sf /opt/forgejo/forgejo-$RELEASE-linux-amd64 /usr/local/bin/forgejo
msg_ok "Updated ${APP}"
msg_info "Cleaning"
rm -rf forgejo-$RELEASE-linux-amd64 rm -rf forgejo-$RELEASE-linux-amd64
msg_ok "Updated Forgejo" msg_ok "Cleaned"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start forgejo systemctl start forgejo
msg_ok "Started Service" msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-10}" var_disk="${var_disk:-10}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -20,16 +20,16 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -f /lib/systemd/system/freepbx.service ]]; then if [[ ! -f /lib/systemd/system/freepbx.service ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "Currently we don't provide an update function for this ${APP}."
exit exit
fi
msg_error "Currently we don't provide an update function for this ${APP}."
exit
} }
start start

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}" var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}" var_disk="${var_disk:-4}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -33,10 +33,7 @@ function update_script() {
chmod +x /opt/freshrss/cli/sensitive-log.sh chmod +x /opt/freshrss/cli/sensitive-log.sh
systemctl restart apache2 systemctl restart apache2
msg_ok "Fixed wrong permissions" msg_ok "Fixed wrong permissions"
<<<<<<< HEAD
=======
exit exit
>>>>>>> main
else else
msg_error "FreshRSS should be updated via the user interface." msg_error "FreshRSS should be updated via the user interface."
exit exit

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-5}" var_disk="${var_disk:-5}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -44,7 +44,7 @@ function update_script() {
exit exit
fi fi
if ! command -v git &>/dev/null; then if ! command -v git &>/dev/null; then
$STD apt install -y git $STD apt-get install -y git
fi fi
msg_info "Stopping service $SERVICE_NAME" msg_info "Stopping service $SERVICE_NAME"
@@ -60,11 +60,7 @@ function update_script() {
msg_info "Starting service $SERVICE_NAME" msg_info "Starting service $SERVICE_NAME"
systemctl start "$SERVICE_NAME" systemctl start "$SERVICE_NAME"
msg_ok "Started service $SERVICE_NAME" msg_ok "Started service $SERVICE_NAME"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}" var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}" var_disk="${var_disk:-4}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -39,7 +39,8 @@ function update_script() {
fi fi
mv /opt/gatus/config/config.yaml /opt mv /opt/gatus/config/config.yaml /opt
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gatus" "TwiN/gatus" rm -rf /opt/gatus
fetch_and_deploy_gh_release "gatus" "TwiN/gatus"
msg_info "Updating Gatus" msg_info "Updating Gatus"
cd /opt/gatus cd /opt/gatus
@@ -52,11 +53,7 @@ function update_script() {
msg_info "Starting Service" msg_info "Starting Service"
systemctl start gatus systemctl start gatus
msg_ok "Started Service" msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated Successfully"
=======
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -56,15 +56,11 @@ function update_script() {
msg_info "Starting Service" msg_info "Starting Service"
systemctl start ghostfolio systemctl start ghostfolio
msg_ok "Started Service" msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_info "Cleaning Up" msg_info "Cleaning Up"
$STD npm cache clean --force $STD npm cache clean --force
msg_ok "Cleanup Completed" msg_ok "Cleanup Completed"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-6}" var_disk="${var_disk:-6}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -96,15 +96,17 @@ EOF
ln -sf /opt/bun/bin/bun /usr/local/bin/bunx ln -sf /opt/bun/bin/bun /usr/local/bin/bunx
msg_ok "Installed Bun" msg_ok "Installed Bun"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror" rm -rf /opt/gitea-mirror
fetch_and_deploy_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror"
msg_info "Updating Gitea-Mirror" msg_info "Updating and rebuilding ${APP}"
cd /opt/gitea-mirror cd /opt/gitea-mirror
$STD bun run setup $STD bun run setup
$STD bun run build $STD bun run build
APP_VERSION=$(grep -o '"version": *"[^"]*"' package.json | cut -d'"' -f4) APP_VERSION=$(grep -o '"version": *"[^"]*"' package.json | cut -d'"' -f4)
sudo sed -i.bak "s|^npm_package_version=.*|npm_package_version=${APP_VERSION}|" /opt/gitea-mirror.env sudo sed -i.bak "s|^npm_package_version=.*|npm_package_version=${APP_VERSION}|" /opt/gitea-mirror.env
msg_ok "Updated Gitea-Mirror" msg_ok "Updated and rebuilt ${APP}"
msg_info "Restoring Data" msg_info "Restoring Data"
cp /opt/gitea-mirror-backup/data/* /opt/gitea-mirror/data cp /opt/gitea-mirror-backup/data/* /opt/gitea-mirror/data
@@ -112,13 +114,8 @@ EOF
msg_info "Starting Service" msg_info "Starting Service"
systemctl start gitea-mirror systemctl start gitea-mirror
<<<<<<< HEAD
msg_ok "Started Service"
msg_ok "Updated successfully"
=======
msg_ok "Service Started" msg_ok "Service Started"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}" var_ram="${var_ram:-1024}"
var_disk="${var_disk:-8}" var_disk="${var_disk:-8}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -29,23 +29,18 @@ function update_script() {
exit exit
fi fi
if check_for_gh_release "gitea" "go-gitea/gitea"; then if check_for_gh_release "gitea" "go-gitea/gitea"; then
msg_info "Stopping Service" msg_info "Stopping service"
systemctl stop gitea systemctl stop gitea
msg_ok "Stopped Service" msg_ok "Service stopped"
rm -rf /usr/local/bin/gitea rm -rf /usr/local/bin/gitea
fetch_and_deploy_gh_release "gitea" "go-gitea/gitea" "singlefile" "latest" "/usr/local/bin" "gitea-*-linux-amd64" fetch_and_deploy_gh_release "gitea" "go-gitea/gitea" "singlefile" "latest" "/usr/local/bin" "gitea-*-linux-amd64"
chmod +x /usr/local/bin/gitea chmod +x /usr/local/bin/gitea
msg_info "Starting Service" msg_info "Starting service"
systemctl start gitea systemctl start gitea
<<<<<<< HEAD
msg_ok "Started Service"
msg_ok "Updated successfully"
=======
msg_ok "Started service" msg_ok "Started service"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}" var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}" var_disk="${var_disk:-2}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -39,11 +39,7 @@ function update_script() {
msg_info "Starting Service" msg_info "Starting Service"
systemctl start glance systemctl start glance
msg_ok "Started Service" msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -12,7 +12,6 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-2048}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
variables variables
@@ -28,17 +27,11 @@ function update_script() {
exit exit
fi fi
msg_info "Updating Globaleaks" msg_info "Updating $APP LXC"
$STD apt update $STD apt update
$STD apt -y upgrade $STD apt -y upgrade
<<<<<<< HEAD
msg_ok "Updated Globaleaks"
msg_ok "Updated successfully"
exit
=======
msg_ok "Updated $APP LXC" msg_ok "Updated $APP LXC"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
} }
start start

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}" var_disk="${var_disk:-4}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -29,21 +29,16 @@ function update_script() {
fi fi
if check_for_gh_release "go2rtc" "AlexxIT/go2rtc"; then if check_for_gh_release "go2rtc" "AlexxIT/go2rtc"; then
msg_info "Stopping Service" msg_info "Stopping service"
systemctl stop go2rtc systemctl stop go2rtc
msg_ok "Stopped Service" msg_ok "Stopped service"
fetch_and_deploy_gh_release "go2rtc" "AlexxIT/go2rtc" "singlefile" "latest" "/opt/go2rtc" "go2rtc_linux_amd64" fetch_and_deploy_gh_release "go2rtc" "AlexxIT/go2rtc" "singlefile" "latest" "/opt/go2rtc" "go2rtc_linux_amd64"
msg_info "Starting Service" msg_info "Starting service"
systemctl start go2rtc systemctl start go2rtc
<<<<<<< HEAD
msg_ok "Started Service"
msg_ok "Updated successfully"
=======
msg_ok "Started service" msg_ok "Started service"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -38,12 +38,8 @@ function update_script() {
msg_info "Starting Services" msg_info "Starting Services"
systemctl start goaway systemctl start goaway
msg_ok "Started Services" msg_ok "Started Services"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}" var_ram="${var_ram:-512}"
var_disk="${var_disk:-4}" var_disk="${var_disk:-4}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -37,11 +37,7 @@ function update_script() {
msg_info "Starting Service" msg_info "Starting Service"
systemctl start gokapi systemctl start gokapi
msg_ok "Started Service" msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}" var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}" var_disk="${var_disk:-2}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"

View File

@@ -20,36 +20,29 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
<<<<<<< HEAD
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -f /etc/apt/sources.list.d/grafana.list ]]; then
if ! dpkg -s grafana >/dev/null 2>&1; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit 1
fi fi
msg_info "Updating Grafana" if [[ -f /etc/apt/sources.list.d/grafana.list ]] || [[ ! -f /etc/apt/sources.list.d/grafana.sources ]]; then
$STD apt update setup_deb822_repo \
$STD apt -y upgrade "grafana" \
msg_ok "Updated Grafana" "https://apt.grafana.com/gpg.key" \
msg_ok "Updated successfully" "https://apt.grafana.com" \
exit "stable" \
======= "main"
header_info fi
check_container_storage
check_container_resources
if [[ ! -f /etc/apt/sources.list.d/grafana.list ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP}" msg_info "Updating Grafana LXC"
$STD apt-get update $STD apt update
$STD apt-get -y upgrade $STD apt --only-upgrade install -y grafana
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
exit exit
>>>>>>> main
} }
start start

View File

@@ -28,21 +28,6 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
<<<<<<< HEAD
msg_info "Stopping Services"
systemctl stop graylog-datanode graylog-server
msg_ok "Stopped Services"
msg_info "Updating Graylog"
$STD apt update
$STD apt upgrade -y
msg_ok "Updated Graylog"
msg_info "Starting Services"
systemctl start graylog-datanode graylog-server
msg_ok "Started Services"
msg_ok "Updated successfully"
=======
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop graylog-datanode systemctl stop graylog-datanode
@@ -75,7 +60,6 @@ function update_script() {
systemctl start graylog-server systemctl start graylog-server
msg_ok "Started Service" msg_ok "Started Service"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-3072}" var_ram="${var_ram:-3072}"
var_disk="${var_disk:-6}" var_disk="${var_disk:-6}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -41,13 +41,8 @@ function update_script() {
fetch_and_deploy_gh_release "grist" "gristlabs/grist-core" "tarball" fetch_and_deploy_gh_release "grist" "gristlabs/grist-core" "tarball"
<<<<<<< HEAD
msg_info "Updating Grist"
mkdir -p grist/docs
=======
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
mkdir -p /opt/grist/docs mkdir -p /opt/grist/docs
>>>>>>> main
cp -n /opt/grist_bak/.env /opt/grist/.env cp -n /opt/grist_bak/.env /opt/grist/.env
cp -r /opt/grist_bak/docs/* /opt/grist/docs/ cp -r /opt/grist_bak/docs/* /opt/grist/docs/
cp /opt/grist_bak/grist-sessions.db /opt/grist/grist-sessions.db cp /opt/grist_bak/grist-sessions.db /opt/grist/grist-sessions.db
@@ -56,17 +51,13 @@ function update_script() {
$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
msg_ok "Updated Grist" msg_ok "Updated ${APP}"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start grist systemctl start grist
msg_ok "Started Service" msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated Successfully"
=======
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}" var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}" var_disk="${var_disk:-2}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -32,16 +32,9 @@ function update_script() {
PHP_VERSION="8.3" PHP_MODULE="sqlite3,bz2" PHP_APACHE="yes" setup_php PHP_VERSION="8.3" PHP_MODULE="sqlite3,bz2" PHP_APACHE="yes" setup_php
fi fi
if check_for_gh_release "grocy" "grocy/grocy"; then if check_for_gh_release "grocy" "grocy/grocy"; then
<<<<<<< HEAD
msg_info "Updating Grocy"
$STD bash /var/www/html/update.sh
msg_ok "Updated Grocy"
msg_ok "Updated Successfully"
=======
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
bash /var/www/html/update.sh bash /var/www/html/update.sh
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -55,10 +55,7 @@ function update_script() {
cd /opt/guardian/backend cd /opt/guardian/backend
$STD npm ci $STD npm ci
$STD npm run build $STD npm run build
<<<<<<< HEAD
=======
>>>>>>> main
cd /opt/guardian/frontend cd /opt/guardian/frontend
$STD npm ci $STD npm ci
export DEPLOYMENT_MODE=standalone export DEPLOYMENT_MODE=standalone
@@ -68,11 +65,7 @@ function update_script() {
msg_info "Starting Services" msg_info "Starting Services"
systemctl start guardian-backend guardian-frontend systemctl start guardian-backend guardian-frontend
msg_ok "Started Services" msg_ok "Started Services"
<<<<<<< HEAD
msg_ok "Updated Successfully"
=======
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
>>>>>>> main
fi fi
exit exit
} }

View File

@@ -1,6 +0,0 @@
____ __ ____ __ __
/ __ )____ _______________ ____/ /__ / __ )__ ______/ /___/ /_ __
/ __ / __ `/ ___/ ___/ __ \/ __ / _ \______/ __ / / / / __ / __ / / / /
/ /_/ / /_/ / / / /__/ /_/ / /_/ / __/_____/ /_/ / /_/ / /_/ / /_/ / /_/ /
/_____/\__,_/_/ \___/\____/\__,_/\___/ /_____/\__,_/\__,_/\__,_/\__, /
/____/

6
ct/headers/domain-locker Normal file
View File

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

View File

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

6
ct/headers/librenms Normal file
View File

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

6
ct/headers/metabase Normal file
View File

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

6
ct/headers/miniflux Normal file
View File

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

6
ct/headers/netvisor Normal file
View File

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

6
ct/headers/passbolt Normal file
View File

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

View File

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

View File

@@ -33,7 +33,7 @@ function update_script() {
systemctl stop healthchecks systemctl stop healthchecks
msg_ok "Stopped Services" msg_ok "Stopped Services"
PYTHON_VERSION="3.12" setup_uv PYTHON_VERSION="3.13" setup_uv
fetch_and_deploy_gh_release "healthchecks" "healthchecks/healthchecks" fetch_and_deploy_gh_release "healthchecks" "healthchecks/healthchecks"
msg_info "Updating healthchecks" msg_info "Updating healthchecks"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}" var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}" var_disk="${var_disk:-4}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -29,7 +29,7 @@ function update_script() {
exit exit
fi fi
setup_uv PYTHON_VERSION="3.12" setup_uv
if check_for_gh_release "huntarr" "plexguide/Huntarr.io"; then if check_for_gh_release "huntarr" "plexguide/Huntarr.io"; then
msg_info "Stopping Service" msg_info "Stopping Service"

View File

@@ -55,7 +55,7 @@ function update_script() {
systemctl daemon-reload systemctl daemon-reload
fi fi
fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep" CLEAN_INSTALL=1 fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep"
if command -v corepack >/dev/null; then if command -v corepack >/dev/null; then
$STD corepack disable $STD corepack disable
fi fi

View File

@@ -56,6 +56,7 @@ function update_script() {
[ -f "$BACKUP_DIR/local.yaml" ] && cp "$BACKUP_DIR/local.yaml" /opt/kimai/config/packages/ [ -f "$BACKUP_DIR/local.yaml" ] && cp "$BACKUP_DIR/local.yaml" /opt/kimai/config/packages/
rm -rf "$BACKUP_DIR" rm -rf "$BACKUP_DIR"
cd /opt/kimai cd /opt/kimai
sed -i '/^admin_lte:/,/^[^[:space:]]/d' config/local.yaml
$STD composer install --no-dev --optimize-autoloader $STD composer install --no-dev --optimize-autoloader
$STD bin/console kimai:update $STD bin/console kimai:update
msg_ok "Updated Kimai" msg_ok "Updated Kimai"

45
ct/librenms.sh Normal file
View File

@@ -0,0 +1,45 @@
#!/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: michelroegl-brunner
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://librenms.org
APP="LibreNMS"
var_tags="${var_tags:-monitoring}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
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/librenms ]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating LibreNMS"
su librenms
cd /opt/librenms
./daily.sh
msg_ok "Updated LibreNMS"
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}"

65
ct/metabase.sh Normal file
View File

@@ -0,0 +1,65 @@
#!/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://www.metabase.com/
APP="Metabase"
var_tags="${var_tags:-analytics}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-6}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
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/metabase ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "metabase" "metabase/metabase"; then
msg_info "Stopping Service"
systemctl stop metabase
msg_info "Stopped Service"
msg_info "Creating backup"
mv /opt/metabase/.env /opt
msg_ok "Created backup"
msg_info "Updating Metabase"
RELEASE=$(get_latest_github_release "metabase/metabase")
curl -fsSL "https://downloads.metabase.com/v${RELEASE}.x/metabase.jar" -o /opt/metabase/metabase.jar
echo $RELEASE >~/.metabase
msg_ok "Updated Metabase"
msg_info "Restoring backup"
mv /opt/.env /opt/metabase
msg_ok "Restored backup"
msg_info "Starting Service"
systemctl start metabase
msg_ok "Started Service"
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}:3000${CL}"

55
ct/miniflux.sh Normal file
View File

@@ -0,0 +1,55 @@
#!/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: omernaveedxyz
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://miniflux.app/
APP="Miniflux"
var_tags="${var_tags:-media}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/systemd/system/miniflux.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Stopping Service"
$STD miniflux -flush-sessions -config-file /etc/miniflux.conf
systemctl stop miniflux
msg_ok "Service Stopped"
fetch_and_deploy_gh_release "miniflux" "miniflux/v2" "binary" "latest"
msg_info "Updating Miniflux"
$STD miniflux -migrate -config-file /etc/miniflux.conf
msg_ok "Updated Miniflux"
msg_info "Starting Service"
$STD systemctl start miniflux
msg_ok "Started Service"
msg_ok "Updated successfully"
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}:8080${CL}"

86
ct/netvisor.sh Normal file
View File

@@ -0,0 +1,86 @@
#!/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: vhsdream
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/maynayza/netvisor
APP="NetVisor"
var_tags="${var_tags:-analytics}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-3072}"
var_disk="${var_disk:-6}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
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/netvisor ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "netvisor" "mayanayza/netvisor"; then
msg_info "Stopping services"
systemctl stop netvisor-daemon netvisor-server
msg_ok "Stopped services"
msg_info "Backing up configurations"
cp /opt/netvisor/.env /opt/netvisor.env
msg_ok "Backed up configurations"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "netvisor" "mayanayza/netvisor" "tarball" "latest" "/opt/netvisor"
if ! dpkg -l | grep -q "pkg-config"; then
$STD apt install -y pkg-config
fi
if ! dpkg -l | grep -q "libssl-dev"; then
$STD apt install -y libssl-dev
fi
TOOLCHAIN="$(grep "channel" /opt/netvisor/backend/rust-toolchain.toml | awk -F\" '{print $2}')"
RUST_TOOLCHAIN=$TOOLCHAIN setup_rust
mv /opt/netvisor.env /opt/netvisor/.env
msg_info "Creating frontend UI"
export PUBLIC_SERVER_HOSTNAME=default
export PUBLIC_SERVER_PORT=60072
cd /opt/netvisor/ui
$STD npm ci --no-fund --no-audit
$STD npm run build
msg_ok "Created frontend UI"
msg_info "Building Netvisor-server (patience)"
cd /opt/netvisor/backend
$STD cargo build --release --bin server
mv ./target/release/server /usr/bin/netvisor-server
msg_ok "Built Netvisor-server"
msg_info "Building Netvisor-daemon (amd64 version)"
$STD cargo build --release --bin daemon
cp ./target/release/daemon /usr/bin/netvisor-daemon
msg_ok "Built Netvisor-daemon (amd64 version)"
msg_info "Starting services"
systemctl start netvisor-server netvisor-daemon
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}:60072${CL}"

View File

@@ -53,7 +53,7 @@ function update_script() {
grep "tag_name" | grep "tag_name" |
awk '{print substr($2, 3, length($2)-4) }') awk '{print substr($2, 3, length($2)-4) }')
fetch_and_deploy_gh_release "nginxproxymanager" "NginxProxyManager/nginx-proxy-manager" CLEAN_INSTALL=1 fetch_and_deploy_gh_release "nginxproxymanager" "NginxProxyManager/nginx-proxy-manager"
msg_info "Stopping Services" msg_info "Stopping Services"
systemctl stop openresty systemctl stop openresty

View File

@@ -27,6 +27,27 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
# Check for old data structure and prompt migration
if [[ -f /opt/paperless/paperless.conf ]]; then
local OLD_DIRS=()
[[ -d /opt/paperless/consume ]] && OLD_DIRS+=("consume")
[[ -d /opt/paperless/data ]] && OLD_DIRS+=("data")
[[ -d /opt/paperless/media ]] && OLD_DIRS+=("media")
if [[ ${#OLD_DIRS[@]} -gt 0 ]]; then
msg_error "Old data structure detected in /opt/paperless/"
msg_custom "📂" "Found directories: ${OLD_DIRS[*]}"
echo -e ""
msg_custom "🔄" "Migration required to new data structure (/opt/paperless_data/)"
msg_custom "📖" "Please follow the migration guide:"
echo -e "${TAB}${GATEWAY}${BGN}https://github.com/community-scripts/ProxmoxVE/discussions/9223${CL}"
echo -e ""
msg_custom "⚠️" "Update aborted. Please migrate your data first."
exit 1
fi
fi
if check_for_gh_release "paperless" "paperless-ngx/paperless-ngx"; then if check_for_gh_release "paperless" "paperless-ngx/paperless-ngx"; then
msg_info "Stopping all Paperless-ngx Services" msg_info "Stopping all Paperless-ngx Services"
systemctl stop paperless-consumer paperless-webserver paperless-scheduler paperless-task-queue systemctl stop paperless-consumer paperless-webserver paperless-scheduler paperless-task-queue
@@ -34,12 +55,11 @@ function update_script() {
if grep -q "uv run" /etc/systemd/system/paperless-webserver.service; then if grep -q "uv run" /etc/systemd/system/paperless-webserver.service; then
msg_info "Backing up data" msg_info "Backing up configuration"
mkdir -p /opt/paperless_backup local BACKUP_DIR="/opt/paperless_backup_$$"
cp -r /opt/paperless/data /opt/paperless_backup/ mkdir -p "$BACKUP_DIR"
cp -r /opt/paperless/media /opt/paperless_backup/ [[ -f /opt/paperless/paperless.conf ]] && cp /opt/paperless/paperless.conf "$BACKUP_DIR/"
cp -r /opt/paperless/paperless.conf /opt/paperless_backup/ msg_ok "Backup completed to $BACKUP_DIR"
msg_ok "Backup completed"
PYTHON_VERSION="3.13" setup_uv PYTHON_VERSION="3.13" setup_uv
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "paperless" "paperless-ngx/paperless-ngx" "prebuild" "latest" "/opt/paperless" "paperless*tar.xz" CLEAN_INSTALL=1 fetch_and_deploy_gh_release "paperless" "paperless-ngx/paperless-ngx" "prebuild" "latest" "/opt/paperless" "paperless*tar.xz"
@@ -53,19 +73,14 @@ function update_script() {
fi fi
msg_info "Updating Paperless-ngx" msg_info "Updating Paperless-ngx"
cp -r /opt/paperless_backup/* /opt/paperless/ cp -r "$BACKUP_DIR"/* /opt/paperless/
CONSUME_DIR="$(sed -n 's/^PAPERLESS_CONSUMPTION_DIR=//p' /opt/paperless/paperless.conf)"
if [[ -z "$CONSUME_DIR" ]]; then
CONSUME_DIR="/opt/paperless/consume"
fi
mkdir -p "$CONSUME_DIR"
cd /opt/paperless cd /opt/paperless
$STD uv sync --all-extras $STD uv sync --all-extras
cd /opt/paperless/src cd /opt/paperless/src
$STD uv run -- python manage.py migrate $STD uv run -- python manage.py migrate
msg_ok "Updated Paperless-ngx" msg_ok "Updated Paperless-ngx"
rm -rf /opt/paperless_backup rm -rf "$BACKUP_DIR"
else else
msg_warn "You are about to migrate your Paperless-ngx installation to uv!" msg_warn "You are about to migrate your Paperless-ngx installation to uv!"
@@ -83,8 +98,13 @@ function update_script() {
rm -rf /opt/paperless/venv rm -rf /opt/paperless/venv
find /opt/paperless -name "__pycache__" -type d -exec rm -rf {} + find /opt/paperless -name "__pycache__" -type d -exec rm -rf {} +
msg_info "Backing up configuration"
local BACKUP_DIR="/opt/paperless_backup_$$"
mkdir -p "$BACKUP_DIR"
[[ -f /opt/paperless/paperless.conf ]] && cp /opt/paperless/paperless.conf "$BACKUP_DIR/"
msg_ok "Backup completed to $BACKUP_DIR"
declare -A PATCHES=( declare -A PATCHES=(
["paperless-consumer.service"]="ExecStart=uv run -- python manage.py document_consumer"
["paperless-scheduler.service"]="ExecStart=uv run -- celery --app paperless beat --loglevel INFO" ["paperless-scheduler.service"]="ExecStart=uv run -- celery --app paperless beat --loglevel INFO"
["paperless-task-queue.service"]="ExecStart=uv run -- celery --app paperless worker --loglevel INFO" ["paperless-task-queue.service"]="ExecStart=uv run -- celery --app paperless worker --loglevel INFO"
["paperless-webserver.service"]="ExecStart=uv run -- granian --interface asgi --ws \"paperless.asgi:application\"" ["paperless-webserver.service"]="ExecStart=uv run -- granian --interface asgi --ws \"paperless.asgi:application\""
@@ -109,12 +129,11 @@ function update_script() {
done done
$STD systemctl daemon-reload $STD systemctl daemon-reload
msg_info "Backing up data" msg_info "Backing up configuration"
mkdir -p /opt/paperless_backup BACKUP_DIR="/opt/paperless_backup_$$"
cp -r /opt/paperless/data /opt/paperless_backup/ mkdir -p "$BACKUP_DIR"
cp -r /opt/paperless/media /opt/paperless_backup/ [[ -f /opt/paperless/paperless.conf ]] && cp /opt/paperless/paperless.conf "$BACKUP_DIR/"
cp -r /opt/paperless/paperless.conf /opt/paperless_backup/ msg_ok "Backup completed to $BACKUP_DIR"
msg_ok "Backup completed"
PYTHON_VERSION="3.13" setup_uv PYTHON_VERSION="3.13" setup_uv
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "paperless" "paperless-ngx/paperless-ngx" "prebuild" "latest" "/opt/paperless" "paperless*tar.xz" CLEAN_INSTALL=1 fetch_and_deploy_gh_release "paperless" "paperless-ngx/paperless-ngx" "prebuild" "latest" "/opt/paperless" "paperless*tar.xz"
@@ -130,16 +149,14 @@ function update_script() {
fi fi
msg_info "Updating Paperless-ngx" msg_info "Updating Paperless-ngx"
cp -r /opt/paperless_backup/* /opt/paperless/ cp -r "$BACKUP_DIR"/* /opt/paperless/
CONSUME_DIR="$(sed -n '/^PAPERLESS_CONSUMPTION/s/[^=]=*//p' /opt/paperless/paperless.conf)"
mkdir -p "${CONSUME_DIR:-/opt/paperless/consume}"
cd /opt/paperless cd /opt/paperless
$STD uv sync --all-extras $STD uv sync --all-extras
cd /opt/paperless/src cd /opt/paperless/src
$STD uv run -- python manage.py migrate $STD uv run -- python manage.py migrate
msg_ok "Paperless-ngx migration and update completed" msg_ok "Paperless-ngx migration and update completed"
rm -rf /opt/paperless_backup rm -rf "$BACKUP_DIR"
if [[ -d /opt/paperless/backup ]]; then if [[ -d /opt/paperless/backup ]]; then
rm -rf /opt/paperless/backup rm -rf /opt/paperless/backup
msg_ok "Removed old backup directory" msg_ok "Removed old backup directory"

44
ct/passbolt.sh Normal file
View File

@@ -0,0 +1,44 @@
#!/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://www.passbolt.com/
APP="Passbolt"
var_tags="${var_tags:-auth}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
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 /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC"
$STD apt update
$STD apt upgrade -y
msg_ok "Updated $APP LXC"
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}https://${IP}${CL}"

View File

@@ -6,7 +6,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
# Source: https://github.com/Brandawg93/PeaNUT/ # Source: https://github.com/Brandawg93/PeaNUT/
APP="PeaNUT" APP="PeaNUT"
var_tags="${var_tags:-network;ups;}" var_tags="${var_tags:-network;ups}"
var_cpu="${var_cpu:-2}" var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}" var_ram="${var_ram:-4096}"
var_disk="${var_disk:-7}" var_disk="${var_disk:-7}"
@@ -35,7 +35,7 @@ function update_script() {
systemctl stop peanut systemctl stop peanut
msg_info "Stopped Service" msg_info "Stopped Service"
fetch_and_deploy_gh_release "peanut" "Brandawg93/PeaNUT" "tarball" "latest" "/opt/peanut" CLEAN_INSTALL=1 fetch_and_deploy_gh_release "peanut" "Brandawg93/PeaNUT" "tarball" "latest" "/opt/peanut"
msg_info "Updating $APP" msg_info "Updating $APP"
cd /opt/peanut cd /opt/peanut

View File

@@ -39,7 +39,7 @@ function update_script() {
mkdir -p /opt/privatebin/data mkdir -p /opt/privatebin/data
mv /tmp/privatebin_conf.bak /opt/privatebin/cfg/conf.php mv /tmp/privatebin_conf.bak /opt/privatebin/cfg/conf.php
chown -R www-data:www-data /opt/privatebin chown -R www-data:www-data /opt/privatebin
chmod -R 0755 /opt/privatebin/data} chmod -R 0755 /opt/privatebin/data
systemctl reload nginx php8.2-fpm systemctl reload nginx php8.2-fpm
msg_ok "Configured ${APP}" msg_ok "Configured ${APP}"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"

41
ct/splunk-enterprise.sh Normal file
View File

@@ -0,0 +1,41 @@
#!/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: rcastley
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.splunk.com/en_us/download.html
APP="Splunk-Enterprise"
var_tags="${var_tags:-monitoring}"
var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-8192}"
var_disk="${var_disk:-40}"
var_os="${var_os:-ubuntu}"
var_version="${var_version:-24.04}"
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/splunk ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "Currently we don't provide an update function for this ${APP}."
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 the Splunk Enterprise Web interface using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}" var_ram="${var_ram:-4096}"
var_disk="${var_disk:-20}" var_disk="${var_disk:-20}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"

View File

@@ -35,14 +35,15 @@ function update_script() {
systemctl stop tududi systemctl stop tududi
msg_ok "Stopped Service" msg_ok "Stopped Service"
msg_info "Remove and backup Files" msg_info "Backing up env file"
DB="$(sed -n '/^DB_FILE/s/[^=]*=//p' /opt/tududi/backend/.env)" if [[ -f /opt/tududi/backend/.env ]]; then
export DB_FILE="$DB" cp /opt/tududi/backend/.env /opt/tududi.env
cp /opt/tududi/backend/.env /opt/tududi.env else
rm -rf /opt/tududi/backend/dist cp /opt/tududi/.env /opt/tududi.env
msg_ok "Backup and removed Files" fi
msg_ok "Backed up env file"
fetch_and_deploy_gh_release "tududi" "chrisvel/tududi" "tarball" "latest" "/opt/tududi" CLEAN_INSTALL=1 fetch_and_deploy_gh_release "tududi" "chrisvel/tududi" "tarball" "latest" "/opt/tududi"
msg_info "Updating Tududi" msg_info "Updating Tududi"
cd /opt/tududi cd /opt/tududi
@@ -50,9 +51,9 @@ function update_script() {
export NODE_ENV=production export NODE_ENV=production
$STD npm run frontend:build $STD npm run frontend:build
mv ./dist ./backend mv ./dist ./backend
mv ./public/locales ./backend/dist mv /opt/tududi.env /opt/tududi/backend/.env
mv ./public/favicon.* ./backend/dist DB="$(sed -n '/^DB_FILE/s/[^=]*=//p' /opt/tududi/backend/.env)"
mv /opt/tududi.env /opt/tududi/.env export DB_FILE="$DB"
sed -i -e 's|/tududi$|/tududi/backend|' \ sed -i -e 's|/tududi$|/tududi/backend|' \
-e 's|npm run start|bash /opt/tududi/backend/cmd/start.sh|' \ -e 's|npm run start|bash /opt/tududi/backend/cmd/start.sh|' \
/etc/systemd/system/tududi.service /etc/systemd/system/tududi.service

View File

@@ -1,40 +0,0 @@
{
"name": "Barcode Buddy",
"slug": "barcode-buddy",
"categories": [
24
],
"date_created": "2025-02-08",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": "https://barcodebuddy-documentation.readthedocs.io/en/latest/",
"website": "https://github.com/Forceu/barcodebuddy",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/barcode-buddy.webp",
"config_path": "/opt/barcodebuddy/data/config.php",
"description": "Barcode Buddy for Grocy is an extension for Grocy, allowing to pass barcodes to Grocy. It supports barcodes for products and chores. If you own a physical barcode scanner, it can be integrated, so that all barcodes scanned are automatically pushed to BarcodeBuddy/Grocy.",
"install_methods": [
{
"type": "default",
"script": "ct/barcode-buddy.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 3,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "After install enable the option \"Use Redis cache\" on the settings page.",
"type": "info"
}
]
}

View File

@@ -19,8 +19,8 @@
"type": "default", "type": "default",
"script": "ct/changedetection.sh", "script": "ct/changedetection.sh",
"resources": { "resources": {
"cpu": 2, "cpu": 4,
"ram": 2048, "ram": 4096,
"hdd": 10, "hdd": 10,
"os": "debian", "os": "debian",
"version": "12" "version": "12"

View File

@@ -0,0 +1,44 @@
{
"name": "Domain Locker",
"slug": "domain-locker",
"categories": [
9
],
"date_created": "2025-11-17",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://domain-locker.com/about",
"config_path": "/opt/domain-locker.env",
"website": "https://github.com/Lissy93/domain-locker",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/domain-locker.webp",
"description": "The all-in-one tool, for keeping track of your domain name portfolio. Got domain names? Get Domain Locker! ",
"install_methods": [
{
"type": "default",
"script": "ct/domain-locker.sh",
"resources": {
"cpu": 2,
"ram": 4096,
"hdd": 8,
"os": "Debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Show DB credentials: `cat ~/Domain-Locker.creds`",
"type": "info"
},
{
"text": "Domain-locker takes quite some time to build and a lot of ressources, RAM and Cores can be lowered after install.",
"type": "info"
}
]
}

View File

@@ -10,7 +10,7 @@
"privileged": false, "privileged": false,
"interface_port": 2021, "interface_port": 2021,
"documentation": "https://docs.donetick.com/getting-started/", "documentation": "https://docs.donetick.com/getting-started/",
"config_path": "/opt/donetick/config/selfhosted.yml", "config_path": "/opt/donetick/config/selfhosted.yaml",
"website": "https://donetick.com", "website": "https://donetick.com",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/donetick.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/donetick.webp",
"description": "Donetick an open-source, user-friendly app for managing tasks and chores, featuring customizable options to help you and others stay organized", "description": "Donetick an open-source, user-friendly app for managing tasks and chores, featuring customizable options to help you and others stay organized",

View File

@@ -1,35 +0,0 @@
{
"name": "Fenrus",
"slug": "fenrus",
"categories": [
10
],
"date_created": "2024-05-05",
"type": "ct",
"updateable": false,
"privileged": false,
"interface_port": 5000,
"documentation": "https://github.com/revenz/Fenrus/wiki",
"website": "https://github.com/revenz/Fenrus",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/fenrus.webp",
"config_path": "",
"description": "A personal home page for quick access to all your personal apps/sites.",
"install_methods": [
{
"type": "default",
"script": "ct/fenrus.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 4,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -23,7 +23,7 @@
"ram": 512, "ram": 512,
"hdd": 2, "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "13"
} }
}, },
{ {

View File

@@ -23,7 +23,7 @@
"ram": 1024, "ram": 1024,
"hdd": 4, "hdd": 4,
"os": "debian", "os": "debian",
"version": "13" "version": "12"
} }
} }
], ],

View File

@@ -0,0 +1,40 @@
{
"name": "LibreNMS",
"slug": "librenms",
"categories": [
9
],
"date_created": "2025-11-14",
"type": "ct",
"updateable": false,
"privileged": false,
"interface_port": 80,
"documentation": "https://docs.librenms.org/",
"website": "https://librenms.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/librenms.webp",
"config_path": "/opt/librenms/config.php and /opt/librenms/.env",
"description": "LibreNMS is an open-source, community-driven network monitoring system that provides automatic discovery, alerting, and performance tracking for network devices. It supports a wide range of hardware and integrates with various notification and logging platforms.",
"install_methods": [
{
"type": "default",
"script": "ct/librenms.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 4,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "After installation, the admin user credentials are saved in the file ~/librenms.creds inside the container.",
"type": "info"
}
]
}

View File

@@ -0,0 +1,35 @@
{
"name": "Metabase",
"slug": "metabase",
"categories": [
9
],
"date_created": "2025-11-16",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://www.metabase.com/docs/latest/",
"config_path": "/opt/metabase/.env",
"website": "https://www.metabase.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/metabase.webp",
"description": "Metabase is an open-source business intelligence platform. You can use Metabase to ask questions about your data, or embed Metabase in your app to let your customers explore their data on their own.",
"install_methods": [
{
"type": "default",
"script": "ct/metabase.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 6,
"os": "Debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -0,0 +1,40 @@
{
"name": "Miniflux",
"slug": "miniflux",
"categories": [
13
],
"date_created": "2025-11-12",
"type": "ct",
"updateable": true,
"privileged": false,
"config_path": "/etc/miniflux.conf",
"interface_port": 8080,
"documentation": "https://miniflux.app/docs/index.html",
"website": "https://miniflux.app/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/miniflux-light.webp",
"description": "Miniflux is a minimalist and opinionated feed reader.",
"install_methods": [
{
"type": "default",
"script": "ct/miniflux.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 8,
"os": "Debian",
"version": "13"
}
}
],
"default_credentials": {
"username": "admin",
"password": "randomly generated during installation process"
},
"notes": [
{
"text": "Admin password available as `ADMIN_PASSWORD` in `~/miniflux.creds`",
"type": "info"
}
]
}

View File

@@ -0,0 +1,40 @@
{
"name": "NetVisor",
"slug": "netvisor",
"categories": [
9
],
"date_created": "2025-11-13",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 60072,
"documentation": "https://github.com/mayanayza/netvisor",
"config_path": "/opt/netvisor/.env",
"website": "https://github.com/mayanayza/netvisor",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/netvisor.png",
"description": "Automatically discover and visually document network infrastructure",
"install_methods": [
{
"type": "default",
"script": "ct/netvisor.sh",
"resources": {
"cpu": 2,
"ram": 3072,
"hdd": 6,
"os": "Debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "The integrated daemon config is located at `/root/.config/daemon/config.json`",
"type": "info"
}
]
}

View File

@@ -0,0 +1,44 @@
{
"name": "Passbolt",
"slug": "passbolt",
"categories": [
6
],
"date_created": "2025-11-17",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 443,
"documentation": "https://www.passbolt.com/docs/",
"config_path": "/etc/passbolt/passbolt.php",
"website": "https://www.passbolt.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/passbolt.webp",
"description": "Passbolt is a hybrid credential platform. It is built-first for modern IT teams, yet simple enough for everyone. A sovereign, battle-tested solution that delivers for a team of 5, or an organisation of 5000.",
"install_methods": [
{
"type": "default",
"script": "ct/passbolt.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 2,
"os": "Debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Type `cat ~/.Passbolt.creds` to see MariaDB database credentials. You will need those to setup Passbolt.",
"type": "info"
},
{
"text": "The application uses self-signed certificates. You can also use Let's Encrypt to get a valid certificate for your domain. Please read the documentation for more information.",
"type": "info"
}
]
}

View File

@@ -0,0 +1,48 @@
{
"name": "Splunk Enterprise",
"slug": "splunk-enterprise",
"categories": [
9
],
"date_created": "2025-11-12",
"type": "ct",
"updateable": false,
"privileged": false,
"interface_port": 8000,
"documentation": "https://help.splunk.com",
"config_path": "",
"website": "https://www.splunk.com/en_us/download/splunk-enterprise.html",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/splunk.webp",
"description": "Platform for searching, monitoring, and analyzing machine-generated data at scale for operational intelligence and security.",
"install_methods": [
{
"type": "default",
"script": "ct/splunk-enterprise.sh",
"resources": {
"cpu": 4,
"ram": 8192,
"hdd": 40,
"os": "Ubuntu",
"version": "24.04"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "The credentials to login can be found in splunk.creds.",
"type": "info"
},
{
"text": "Trial license allows indexing 500 MB/Day. After 60 days you can convert to a perpetual free license or purchase a Splunk Enterprise license to continue using the expanded functionality designed for enterprise-scale deployments.",
"type": "warning"
},
{
"text": "About Splunk Free License: https://help.splunk.com/en/splunk-enterprise/administer/admin-manual/10.0/configure-splunk-licenses/about-splunk-free",
"type": "info"
}
]
}

View File

@@ -23,7 +23,7 @@
"ram": 4096, "ram": 4096,
"hdd": 20, "hdd": 20,
"os": "Debian", "os": "Debian",
"version": "13" "version": "12"
} }
} }
], ],

File diff suppressed because it is too large Load Diff

View File

@@ -53,7 +53,7 @@ sed -i -e "s|^APP_URL=.*|APP_URL=http://$IPADDRESS|" \
-e "s|^DB_PASSWORD=$|DB_PASSWORD=$DB_PASS|" .env -e "s|^DB_PASSWORD=$|DB_PASSWORD=$DB_PASS|" .env
export COMPOSER_ALLOW_SUPERUSER=1 export COMPOSER_ALLOW_SUPERUSER=1
$STD composer update --no-plugins --no-scripts $STD composer update --no-plugins --no-scripts
$STD composer install --no-dev --prefer-source --no-plugins --no-scripts $STD composer install --no-dev --prefer-dist --no-plugins --no-scripts
$STD php artisan key:generate --force $STD php artisan key:generate --force
$STD php artisan migrate:refresh $STD php artisan migrate:refresh
$STD php artisan passport:install -q -n $STD php artisan passport:install -q -n

View File

@@ -1,73 +0,0 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: bvdberg01
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/Forceu/barcodebuddy
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 \
redis \
sqlite3
msg_ok "Installed Dependencies"
PHP_VERSION="8.2" PHP_APACHE="YES" PHP_MODULE="redis, sqlite3" setup_php
fetch_and_deploy_gh_release "barcodebuddy" "Forceu/barcodebuddy"
msg_info "Configuring barcodebuddy"
chown -R www-data:www-data /opt/barcodebuddy/data
msg_ok "Configured barcodebuddy"
msg_info "Creating Services"
cat <<EOF >/etc/systemd/system/barcodebuddy.service
[Unit]
Description=Run websocket server for barcodebuddy screen feature
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/php /opt/barcodebuddy/wsserver.php
StandardOutput=null
Restart=on-failure
User=www-data
[Install]
WantedBy=multi-user.target
EOF
cat <<EOF >/etc/apache2/sites-available/barcodebuddy.conf
<VirtualHost *:80>
ServerName barcodebuddy
DocumentRoot /opt/barcodebuddy
<Directory /opt/barcodebuddy>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/barcodebuddy_error.log
CustomLog /var/log/apache2/barcodebuddy_access.log combined
</VirtualHost>
EOF
systemctl enable -q --now barcodebuddy
$STD a2ensite barcodebuddy
$STD a2enmod rewrite
$STD a2dissite 000-default.conf
$STD systemctl reload apache2
msg_ok "Created Services"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -28,7 +28,24 @@ msg_ok "Installed Dependencies"
setup_uv setup_uv
NODE_VERSION="24" setup_nodejs NODE_VERSION="24" setup_nodejs
PG_VERSION="16" setup_postgresql PG_VERSION="16" setup_postgresql
PG_DB_NAME="dispatcharr_db" PG_DB_USER="dispatcharr_usr" setup_postgresql_db
msg_info "Creating PostgreSQL Database"
DB_NAME=dispatcharr_db
DB_USER=dispatcharr_usr
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | 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 "Dispatcharr Credentials"
echo "Database Name: $DB_NAME"
echo "Database User: $DB_USER"
echo "Database Password: $DB_PASS"
echo ""
} >>~/dispatcharr.creds
msg_ok "Created PostgreSQL Database"
fetch_and_deploy_gh_release "dispatcharr" "Dispatcharr/Dispatcharr" fetch_and_deploy_gh_release "dispatcharr" "Dispatcharr/Dispatcharr"
@@ -45,18 +62,18 @@ install -d -m 755 \
/data/uploads/{m3us,epgs} \ /data/uploads/{m3us,epgs} \
/data/{m3us,epgs} /data/{m3us,epgs}
chown -R root:root /data chown -R root:root /data
export DATABASE_URL="postgresql://${PG_DB_USER}:${PG_DB_PASS}@localhost:5432/${PG_DB_NAME}" export DATABASE_URL="postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}"
export POSTGRES_DB=$PG_DB_NAME export POSTGRES_DB=$DB_NAME
export POSTGRES_USER=$PG_DB_USER export POSTGRES_USER=$DB_USER
export POSTGRES_PASSWORD=$PG_DB_PASS export POSTGRES_PASSWORD=$DB_PASS
export POSTGRES_HOST=localhost export POSTGRES_HOST=localhost
$STD uv run python manage.py migrate --noinput $STD uv run python manage.py migrate --noinput
$STD uv run python manage.py collectstatic --noinput $STD uv run python manage.py collectstatic --noinput
cat <<EOF >/opt/dispatcharr/.env cat <<EOF >/opt/dispatcharr/.env
DATABASE_URL=postgresql://${PG_DB_USER}:${PG_DB_PASS}@localhost:5432/${PG_DB_NAME} DATABASE_URL=postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}
POSTGRES_DB=$PG_DB_NAME POSTGRES_DB=$DB_NAME
POSTGRES_USER=$PG_DB_USER POSTGRES_USER=$DB_USER
POSTGRES_PASSWORD=$PG_DB_PASS POSTGRES_PASSWORD=$DB_PASS
POSTGRES_HOST=localhost POSTGRES_HOST=localhost
CELERY_BROKER_URL=redis://localhost:6379/0 CELERY_BROKER_URL=redis://localhost:6379/0
EOF EOF
@@ -243,4 +260,9 @@ msg_ok "Created Services"
motd_ssh motd_ssh
customize customize
cleanup_lxc
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,21 +14,40 @@ network_check
update_os update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt install -y redis make $STD apt install -y \
redis \
jq \
make
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
HOST_IP=$(hostname -I | awk '{print $1}') HOST_IP=$(hostname -I | awk '{print $1}')
NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
PG_VERSION="16" setup_postgresql PG_VERSION="16" setup_postgresql
PG_DB_NAME="docmost_db" PG_DB_USER="docmost_user" setup_postgresql_db
fetch_and_deploy_gh_release "docmost" "docmost/docmost" fetch_and_deploy_gh_release "docmost" "docmost/docmost"
msg_info "Setting up PostgreSQL"
DB_NAME="docmost_db"
DB_USER="docmost_user"
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | 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 "Docmost-Credentials"
echo "Database Name: $DB_NAME"
echo "Database User: $DB_USER"
echo "Database Password: $DB_PASS"
} >>~/docmost.creds
msg_ok "Set up PostgreSQL"
msg_info "Configuring Docmost (Patience)" msg_info "Configuring Docmost (Patience)"
cd /opt/docmost cd /opt/docmost
mv .env.example .env mv .env.example .env
mkdir data mkdir data
sed -i -e "s|APP_SECRET=.*|APP_SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)|" \ sed -i -e "s|APP_SECRET=.*|APP_SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)|" \
-e "s|DATABASE_URL=.*|DATABASE_URL=postgres://$PG_DB_USER:$PG_DB_PASS@localhost:5432/$PG_DB_NAME|" \ -e "s|DATABASE_URL=.*|DATABASE_URL=postgres://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME|" \
-e "s|FILE_UPLOAD_SIZE_LIMIT=.*|FILE_UPLOAD_SIZE_LIMIT=50mb|" \ -e "s|FILE_UPLOAD_SIZE_LIMIT=.*|FILE_UPLOAD_SIZE_LIMIT=50mb|" \
-e "s|DRAWIO_URL=.*|DRAWIO_URL=https://embed.diagrams.net|" \ -e "s|DRAWIO_URL=.*|DRAWIO_URL=https://embed.diagrams.net|" \
-e "s|DISABLE_TELEMETRY=.*|DISABLE_TELEMETRY=true|" \ -e "s|DISABLE_TELEMETRY=.*|DISABLE_TELEMETRY=true|" \
@@ -59,4 +78,9 @@ msg_ok "Created Service"
motd_ssh motd_ssh
customize customize
cleanup_lxc
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -0,0 +1,72 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: CrazyWolf13
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/CrazyWolf13/domain-locker
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
PG_VERSION="17" setup_postgresql
PG_DB_NAME="domainlocker_db" PG_DB_USER="domainlocker" setup_postgresql_db
NODE_VERSION="22" setup_nodejs
fetch_and_deploy_gh_release "domain-locker" "Lissy93/domain-locker"
msg_info "Installing Modules (patience)"
cd /opt/domain-locker
$STD npm install
msg_ok "Installed Modules"
msg_info "Building Domain-Locker (a lot of patience)"
cat <<EOF >/opt/domain-locker.env
# Database connection
DL_PG_HOST=localhost
DL_PG_PORT=5432
DL_PG_USER=$PG_DB_USER
DL_PG_PASSWORD=$PG_DB_PASS
DL_PG_NAME=$PG_DB_NAME
# Build + Runtime
DL_ENV_TYPE=selfHosted
NITRO_PRESET=node_server
NODE_ENV=production
EOF
set -a
source /opt/domain-locker.env
set +a
$STD npm run build
msg_info "Built Domain-Locker"
msg_info "Building Database schema"
export PGPASSWORD="$DL_PG_PASSWORD"
$STD psql -h "$DL_PG_HOST" -p "$DL_PG_PORT" -U "$DL_PG_USER" -d "$DL_PG_NAME" -f "/opt/domain-locker/db/schema.sql"
msg_ok "Built Database schema"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/domain-locker.service
[Unit]
Description=Domain-Locker Service
After=network.target
[Service]
EnvironmentFile=/opt/domain-locker.env
WorkingDirectory=/opt/domain-locker
ExecStart=/opt/domain-locker/start.sh
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl start --now -q domain-locker
msg_info "Created Service"
motd_ssh
customize
cleanup_lxc

View File

@@ -33,7 +33,7 @@ MARIADB_DB_NAME="domain_monitor" MARIADB_DB_USER="domainmonitor" setup_mariadb_d
fetch_and_deploy_gh_release "domain-monitor" "Hosteroid/domain-monitor" "prebuild" "latest" "/opt/domain-monitor" "domain-monitor-v*.zip" fetch_and_deploy_gh_release "domain-monitor" "Hosteroid/domain-monitor" "prebuild" "latest" "/opt/domain-monitor" "domain-monitor-v*.zip"
msg_info "Setting up Domain Monitor" msg_info "Setting up Domain Monitor"
ENC_KEY=$(openssl rand -base64 48 | tr -dc 'A-Za-z0-9' | head -c 32) ENC_KEY=$(openssl rand -base64 32 | tr -d '\n')
cd /opt/domain-monitor cd /opt/domain-monitor
$STD composer install $STD composer install
cp env.example.txt .env cp env.example.txt .env
@@ -43,6 +43,7 @@ sed -i -e "s|^APP_ENV=.*|APP_ENV=production|" \
-e "s|^DB_USERNAME=.*|DB_USERNAME=$MARIADB_DB_USER|" \ -e "s|^DB_USERNAME=.*|DB_USERNAME=$MARIADB_DB_USER|" \
-e "s|^DB_PASSWORD=.*|DB_PASSWORD=$MARIADB_DB_PASS|" \ -e "s|^DB_PASSWORD=.*|DB_PASSWORD=$MARIADB_DB_PASS|" \
-e "s|^DB_DATABASE=.*|DB_DATABASE=$MARIADB_DB_NAME|" .env -e "s|^DB_DATABASE=.*|DB_DATABASE=$MARIADB_DB_NAME|" .env
echo "0 0 * * * root /usr/bin/php /opt/domain-monitor/cron/check_domains.php" >>/etc/crontab
cat <<EOF >/etc/apache2/sites-enabled/000-default.conf cat <<EOF >/etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80> <VirtualHost *:80>

View File

@@ -45,4 +45,10 @@ msg_ok "Created Service"
motd_ssh motd_ssh
customize customize
cleanup_lxc
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -14,12 +14,13 @@ network_check
update_os update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt install -y \ $STD apt-get update
$STD apt-get install -y \
ssh \ ssh \
software-properties-common software-properties-common
$STD add-apt-repository -y ppa:dotnet/backports $STD add-apt-repository -y ppa:dotnet/backports
$STD apt install -y \ $STD apt-get install -y \
dotnet-sdk-9.0 \ dotnet-sdk-9.0 \
vsftpd \ vsftpd \
nginx nginx
@@ -104,4 +105,8 @@ msg_ok "Created Service"
motd_ssh motd_ssh
customize customize
cleanup_lxc
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -14,7 +14,7 @@ network_check
update_os update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt install -y \ $STD apt-get install -y \
libice6 \ libice6 \
libsm6 \ libsm6 \
libfontconfig1 libfontconfig1
@@ -49,4 +49,8 @@ msg_ok "Created Service"
motd_ssh motd_ssh
customize customize
cleanup_lxc
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -13,7 +13,16 @@ setting_up_container
network_check network_check
update_os update_os
setup_hwaccel msg_info "Setting Up Hardware Acceleration"
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
if [[ "$CTTYPE" == "0" ]]; then
chgrp video /dev/dri
chmod 755 /dev/dri
chmod 660 /dev/dri/*
$STD adduser $(id -u -n) video
$STD adduser $(id -u -n) render
fi
msg_ok "Set Up Hardware Acceleration"
fetch_and_deploy_gh_release "emby" "MediaBrowser/Emby.Releases" "binary" fetch_and_deploy_gh_release "emby" "MediaBrowser/Emby.Releases" "binary"
@@ -27,4 +36,8 @@ msg_ok "Configured Emby"
motd_ssh motd_ssh
customize customize
cleanup_lxc
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -14,7 +14,7 @@ network_check
update_os update_os
msg_info "Installing dependencies" msg_info "Installing dependencies"
$STD apt install -y ca-certificates $STD apt-get install -y ca-certificates
msg_ok "Installed dependencies" msg_ok "Installed dependencies"
msg_info "Fetching latest EMQX Enterprise version" msg_info "Fetching latest EMQX Enterprise version"
@@ -33,12 +33,19 @@ $STD curl -fsSL -o "$DEB_FILE" "$DOWNLOAD_URL"
msg_ok "Downloaded EMQX" msg_ok "Downloaded EMQX"
msg_info "Installing EMQX" msg_info "Installing EMQX"
$STD apt install -y "$DEB_FILE" $STD apt-get install -y "$DEB_FILE"
echo "$LATEST_VERSION" >~/.emqx echo "$LATEST_VERSION" >~/.emqx
rm -f "$DEB_FILE"
$STD systemctl enable -q --now emqx
msg_ok "Installed EMQX" msg_ok "Installed EMQX"
msg_info "Starting EMQX service"
$STD systemctl enable -q --now emqx
msg_ok "Enabled EMQX service"
motd_ssh motd_ssh
customize customize
cleanup_lxc
msg_info "Cleaning up"
rm -f "$DEB_FILE"
$STD apt-get autoremove
$STD apt-get autoclean
msg_ok "Cleaned"

View File

@@ -13,7 +13,38 @@ setting_up_container
network_check network_check
update_os update_os
setup_hwaccel msg_info "Setting Up Hardware Acceleration"
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
if [[ "$CTTYPE" == "0" ]]; then
chgrp video /dev/dri
chmod 755 /dev/dri
chmod 660 /dev/dri/*
$STD adduser $(id -u -n) video
$STD adduser $(id -u -n) render
fi
msg_ok "Set Up Hardware Acceleration"
read -r -p "${TAB3}Do you need the intel-media-va-driver-non-free driver for HW encoding (Debian 12 only)? <y/N> " prompt
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_info "Installing Intel Hardware Acceleration (non-free)"
cat <<EOF >/etc/apt/sources.list.d/non-free.list
deb http://deb.debian.org/debian bookworm non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm non-free non-free-firmware
deb http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware
deb-src http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm-updates non-free non-free-firmware
EOF
$STD apt-get update
$STD apt-get -y install {intel-media-va-driver-non-free,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
else
msg_info "Installing Intel Hardware Acceleration"
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
fi
msg_ok "Installed and Set Up Intel Hardware Acceleration"
fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-x64.tar.gz" fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-x64.tar.gz"
fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-linux64-gpl-7.1.tar.xz" fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-linux64-gpl-7.1.tar.xz"
@@ -47,4 +78,8 @@ msg_ok "Created Service"
motd_ssh motd_ssh
customize customize
cleanup_lxc
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -14,7 +14,7 @@ network_check
update_os update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt install -y git $STD apt-get install -y git
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
PYTHON_VERSION="3.12" setup_uv PYTHON_VERSION="3.12" setup_uv
@@ -55,4 +55,8 @@ msg_ok "Created Service"
motd_ssh motd_ssh
customize customize
cleanup_lxc
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -14,10 +14,10 @@ network_check
update_os update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt install -y xdg-utils $STD apt-get install -y xdg-utils
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw" fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw"
msg_info "Configuring Excalidraw" msg_info "Configuring Excalidraw"
@@ -45,4 +45,8 @@ msg_ok "Created Service"
motd_ssh motd_ssh
customize customize
cleanup_lxc
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -1,62 +0,0 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster)
# Co-Author: Scorpoon
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/revenz/Fenrus
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
msg_ok "Installed Dependencies"
msg_info "Installing ASP.NET Core 7 SDK"
var_os=$(grep "^ID=" /etc/os-release | cut -d'=' -f2 | tr -d '"')
var_version=$(grep "^VERSION_ID=" /etc/os-release | cut -d'=' -f2 | tr -d '"')
if [ "${var_os}" = "debian" ]; then
curl -fsSL "https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb" -o "packages-microsoft-prod.deb"
$STD dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
fi
$STD apt-get update
$STD apt-get install -y dotnet-sdk-7.0
msg_ok "Installed ASP.NET Core 7 SDK"
msg_info "Installing ${APPLICATION}"
git clone -q https://github.com/revenz/Fenrus.git /opt/${APPLICATION}
cd /opt/${APPLICATION}
$STD dotnet publish -c Release -o "/opt/${APPLICATION}/" Fenrus.csproj
msg_ok "Installed ${APPLICATION}"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/"${APPLICATION}".service
[Unit]
Description=${APPLICATION}
[Service]
WorkingDirectory=/opt/${APPLICATION}
ExecStart=/usr/bin/dotnet Fenrus.dll --urls=http://*:5000
SyslogIdentifier=${APPLICATION}
User=root
[Install]
WantedBy=multi-user.target
EOF
$STD systemctl enable -q --now ${APPLICATION}
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -14,20 +14,23 @@ network_check
update_os update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt install -y avahi-daemon $STD apt-get install -y avahi-daemon
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
setup_deb822_repo \ msg_info "Setting up Fhem Repository"
"debianfhemde" \ curl -fsSL https://debian.fhem.de/archive.key | gpg --dearmor >/etc/apt/trusted.gpg.d/debianfhemde-archive-keyring.gpg
"https://debian.fhem.de/archive.key" \ echo 'deb [signed-by=/etc/apt/trusted.gpg.d/debianfhemde-archive-keyring.gpg] https://debian.fhem.de/nightly/ /' >/etc/apt/sources.list.d/fhem.list
"https://debian.fhem.de/nightly/" \ msg_ok "Set up Fhem Repository"
"/" \
""
msg_info "Installing Fhem" msg_info "Installing Fhem"
$STD apt install -y fhem $STD apt-get update
msg_ok "Installed Fhem" $STD apt-get install -y fhem
msg_info "Installed Fhem"
motd_ssh motd_ssh
customize customize
cleanup_lxc
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -15,12 +15,33 @@ network_check
update_os update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt install -y \ $STD apt-get install -y \
ffmpeg \ ffmpeg \
jq \
imagemagick imagemagick
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
setup_hwaccel read -r -p "${TAB3}Do you need the intel-media-va-driver-non-free driver for HW encoding (Debian 12 only)? <y/N> " prompt
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_info "Installing Intel Hardware Acceleration (non-free)"
cat <<EOF >/etc/apt/sources.list.d/non-free.list
deb http://deb.debian.org/debian bookworm non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm non-free non-free-firmware
deb http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware
deb-src http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm-updates non-free non-free-firmware
EOF
$STD apt-get update
$STD apt-get -y install {intel-media-va-driver-non-free,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
else
msg_info "Installing Intel Hardware Acceleration"
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
fi
msg_ok "Installed and Set Up Intel Hardware Acceleration"
msg_info "Installing ASP.NET Core Runtime" msg_info "Installing ASP.NET Core Runtime"
curl -fsSL https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb curl -fsSL https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb
@@ -30,7 +51,7 @@ $STD apt-get update
$STD apt-get install -y aspnetcore-runtime-8.0 $STD apt-get install -y aspnetcore-runtime-8.0
msg_ok "Installed ASP.NET Core Runtime" msg_ok "Installed ASP.NET Core Runtime"
msg_info "Setup FileFlows" msg_info "Setup ${APPLICATION}"
$STD ln -svf /usr/bin/ffmpeg /usr/local/bin/ffmpeg $STD ln -svf /usr/bin/ffmpeg /usr/local/bin/ffmpeg
$STD ln -svf /usr/bin/ffprobe /usr/local/bin/ffprobe $STD ln -svf /usr/bin/ffprobe /usr/local/bin/ffprobe
temp_file=$(mktemp) temp_file=$(mktemp)
@@ -38,9 +59,13 @@ curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file"
$STD unzip -d /opt/fileflows "$temp_file" $STD unzip -d /opt/fileflows "$temp_file"
(cd /opt/fileflows/Server && dotnet FileFlows.Server.dll --systemd install --root true) (cd /opt/fileflows/Server && dotnet FileFlows.Server.dll --systemd install --root true)
systemctl enable -q --now fileflows systemctl enable -q --now fileflows
rm -f "$temp_file" msg_ok "Setup ${APPLICATION}"
msg_ok "Setup FileFlows"
motd_ssh motd_ssh
customize customize
cleanup_lxc
msg_info "Cleaning up"
rm -f "$temp_file"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

Some files were not shown because too many files have changed in this diff Show More