mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-07-02 03:57:37 +00:00
Compare commits
539 Commits
2025-04-29
...
2025-06-05
Author | SHA1 | Date | |
---|---|---|---|
781471f37a | |||
e2790814b8 | |||
f5705621b2 | |||
a28a4fd752 | |||
b890fae808 | |||
8e88379c1b | |||
b2307f1bb9 | |||
db9ffe3105 | |||
2c1e101135 | |||
a991908a37 | |||
f0206a6252 | |||
e8061a9f6e | |||
64c47bd335 | |||
ec573be7e0 | |||
4e53abbd48 | |||
338d351c29 | |||
835893e589 | |||
1e81c11e74 | |||
27384ad89a | |||
27d3909df5 | |||
2e3f416242 | |||
b91cbbcbe9 | |||
3f43cd5575 | |||
1564d4d6d3 | |||
077db6c52f | |||
a0d2bece1d | |||
0178742308 | |||
d2482e5c82 | |||
2400f98f75 | |||
176946bd45 | |||
a25009bdb1 | |||
03eff3a2e1 | |||
ff12d802cc | |||
02b753eb12 | |||
c9eaaee0c0 | |||
f154249dde | |||
9ef7274199 | |||
e9477e7a07 | |||
1fcf9f9520 | |||
bbe226218c | |||
8d38c1d724 | |||
1cac2afc41 | |||
644a365c69 | |||
9bd4f5bb1b | |||
b2a80b6971 | |||
1e3d0e501b | |||
3aa1f05343 | |||
05c008241e | |||
91d8efcde0 | |||
16ac1adf75 | |||
805bbc5ee3 | |||
43697716ae | |||
623c8d993d | |||
bf2545ce40 | |||
dd9e285962 | |||
7f513afcf2 | |||
912c92d6f3 | |||
a4904fdd7e | |||
b4a58b907f | |||
824fd22aae | |||
feacacc368 | |||
a307f9086b | |||
d97ce713ac | |||
807870e739 | |||
53c40775ee | |||
bf9f5d62e2 | |||
6650e0bdd8 | |||
f2bf6c9a6f | |||
8d50a5d8a9 | |||
4e3286f11b | |||
e08a587439 | |||
6ee8349d28 | |||
87f6c9ebde | |||
6239075c2d | |||
04ee11aab7 | |||
60ae9bba5d | |||
85dd171b48 | |||
a174177357 | |||
7afae35553 | |||
1a49970ae2 | |||
a413750562 | |||
82707e1def | |||
ac3d8c6b54 | |||
1fd24bd60d | |||
fc780646d2 | |||
5f175b4f7b | |||
afaeadd77e | |||
72c7abeb69 | |||
12723c33d0 | |||
7af6bf3fe7 | |||
e56436d3f2 | |||
25de119cad | |||
c8308da95e | |||
9923094a54 | |||
463cc62443 | |||
92227fb9bf | |||
18a9c524ae | |||
d925ae0f04 | |||
cb0d0bd83e | |||
9fcfb2fe49 | |||
d23aa3fda0 | |||
131f83505c | |||
5a95a745ff | |||
809bc6c302 | |||
4fba20d80b | |||
42a7614d15 | |||
2dd7ebda2c | |||
e388ce82a1 | |||
ac902f2098 | |||
a23b83dfc5 | |||
85975fbe15 | |||
23e33c5cb6 | |||
e39e5d5b7d | |||
1619d6a093 | |||
f23b688d55 | |||
b6319b5dd3 | |||
030e6344d2 | |||
85837d8099 | |||
5295ed8cf2 | |||
85ae0e2f74 | |||
b406921c1a | |||
5a16b5995d | |||
fd637c8819 | |||
6d40ca9cd6 | |||
48979104d7 | |||
964950c82c | |||
0677af31c4 | |||
4495ffee6a | |||
6745dad963 | |||
e9470ab1af | |||
5abcb47051 | |||
709a899f8f | |||
b9ff7513a4 | |||
7a963a76b7 | |||
13506d92fb | |||
36f859c062 | |||
adc8225ed2 | |||
640dca8d8b | |||
3b0713b812 | |||
d20165f25c | |||
c79d05ca5f | |||
f0dd1c264d | |||
951782d8f2 | |||
5e8ee6baa8 | |||
7bb9fb09ba | |||
eb04327aa9 | |||
ce39e7c87e | |||
0e75a57582 | |||
8765b7ac1d | |||
56e316b849 | |||
79a5624905 | |||
a4dee03140 | |||
8787ef57b5 | |||
86674ef376 | |||
1e195cac1e | |||
8e8e09668b | |||
6ef1c99f65 | |||
e2a8b8b799 | |||
c356f77efe | |||
dcfe80e069 | |||
010928fee2 | |||
aed2c0e5bf | |||
9e2d66266a | |||
da406b5ce8 | |||
a7bf2679de | |||
7079f428ca | |||
121bd8e557 | |||
d9c4ff9867 | |||
7db94ad73a | |||
56c2682601 | |||
11a7c2e410 | |||
ed9d8e995d | |||
3b67e8dcc1 | |||
f09e57c200 | |||
72c24d5147 | |||
93a179c201 | |||
ac2f0e66ae | |||
5ccf8a7cd6 | |||
db82285b95 | |||
58586cbfc8 | |||
8708980786 | |||
943fa7b7aa | |||
5085547f39 | |||
5685e7e088 | |||
72db97b226 | |||
e6805db9f5 | |||
97073be5e2 | |||
82228189a7 | |||
53bdedfc08 | |||
92ff5a9881 | |||
0bb4509cd7 | |||
f339b7df10 | |||
a23a6a3da1 | |||
3c12773956 | |||
d79ac98a31 | |||
17654c2006 | |||
575443fac5 | |||
f38225d52f | |||
cef451c42c | |||
2a5856db03 | |||
47abe248d0 | |||
98c64ffae9 | |||
c136133b7c | |||
1e5395d21b | |||
dfb98698f3 | |||
ff5b793e1e | |||
4044790e5e | |||
e64b10bf99 | |||
bf2b36f095 | |||
15b606c019 | |||
16740ece38 | |||
d2d9a59e35 | |||
7d7664f12a | |||
98c1136d8e | |||
2f1f0393b6 | |||
0cdde92556 | |||
85b638169d | |||
1c186b5087 | |||
21efb1a2ec | |||
9de702c301 | |||
a47d6efe41 | |||
36253b0045 | |||
34e7c33e05 | |||
e0a47f0aa3 | |||
bce10d447e | |||
0d9804fcfe | |||
3b7c63183b | |||
2d323d94ec | |||
ab0ed91c4f | |||
31e99bc49b | |||
5b27942981 | |||
161bafa818 | |||
a5241ef1c5 | |||
bf3f7dc3b1 | |||
7264934136 | |||
a0745de096 | |||
4f4ec7d477 | |||
ba3de8d080 | |||
0f8932b125 | |||
348354079b | |||
48db08192a | |||
b6f410e895 | |||
1221fec5ab | |||
faa805547c | |||
fe0ac37ff1 | |||
eed391917c | |||
76da24386d | |||
8e7caf4cd9 | |||
7d3040ab76 | |||
6a3bf770fb | |||
6805b01df2 | |||
7520917dcc | |||
ec186b0288 | |||
c7afd9c427 | |||
bd3b022b08 | |||
49fcd68f42 | |||
1382742c26 | |||
9e2441ff53 | |||
490dbc725e | |||
d9201e2cac | |||
52c09646b2 | |||
b5d70d5201 | |||
7089b9ef7b | |||
034d7df9cd | |||
f41ac673a3 | |||
a7382f9273 | |||
cb1465544d | |||
796c31eae4 | |||
047c2c44d6 | |||
1baa841963 | |||
7d40ee4aa9 | |||
f9a8925f64 | |||
c62a0b149d | |||
513402b099 | |||
a39354f8f3 | |||
3814e51d3f | |||
326f5e9151 | |||
1e2fda29b7 | |||
222db46cac | |||
9e8841ea7a | |||
24d612c9e7 | |||
3cfe253a3d | |||
b7e951fc1a | |||
f735e37b15 | |||
2c2e602eb1 | |||
37cd6a6620 | |||
a386765e33 | |||
d252e33e5c | |||
08992599a0 | |||
2a10eca156 | |||
b4be96ff45 | |||
06156a5a20 | |||
5ccff37e3b | |||
c5ca62ec38 | |||
bc5fc031e7 | |||
4ead65f948 | |||
b602416a7e | |||
cb431da23b | |||
19ddb4b2b1 | |||
1378d55fae | |||
8f647b9abe | |||
8a481e1423 | |||
42ee79ac30 | |||
5a6dc35fe0 | |||
73c08a8c5e | |||
67feae778e | |||
7dd49d634e | |||
06191ca260 | |||
0118974ba7 | |||
22e5a54941 | |||
ce7442bab7 | |||
54c522e39b | |||
dfa08625e3 | |||
f6d411b992 | |||
9359f6d883 | |||
b021a2c139 | |||
4de228d41b | |||
7d2e8eaaad | |||
ce69a571bc | |||
1fdda378ac | |||
7b62fd4866 | |||
0da24e2651 | |||
fd689e94ed | |||
47155ac280 | |||
aa57bac96d | |||
24d730c120 | |||
de9ae6eaa9 | |||
4fd065a4bd | |||
e26aac187b | |||
5e63b70e83 | |||
292ab6e54b | |||
7d924fac27 | |||
4b31957617 | |||
35c99ae503 | |||
62189321cc | |||
59dfdc9af6 | |||
19cf4d3dc2 | |||
369265a6d5 | |||
56f8306960 | |||
3daf3c3325 | |||
c36000a6aa | |||
12265b92e7 | |||
4e31445038 | |||
c30f96912d | |||
e3860c065e | |||
110b64df85 | |||
e17f7aa6f1 | |||
b4d98b1dd2 | |||
e24636133d | |||
7d0a964918 | |||
38c7e747bc | |||
180e003978 | |||
4762ea8fae | |||
4ec3af8e45 | |||
b816ca6788 | |||
d703a8abb2 | |||
4a1f87727b | |||
16c0d09d6b | |||
7740ab68f7 | |||
cd61025295 | |||
2695e2de1a | |||
7aea03034a | |||
e9960347bf | |||
3808d4d0b8 | |||
14c5bf5f75 | |||
fcc16ae8e1 | |||
aaf8bdb893 | |||
db81851db4 | |||
a2d92155a5 | |||
0bd18cc91b | |||
1e7981dbb7 | |||
704073cd69 | |||
22e1518951 | |||
57bd730233 | |||
cf1b13e5fb | |||
9a3b2c076d | |||
3981cc90c4 | |||
592d9d03aa | |||
59b00890f9 | |||
7ee57e7416 | |||
82a30df0c9 | |||
10e1d7e741 | |||
f85cddadcf | |||
1700291af7 | |||
e126e48439 | |||
b3bda56498 | |||
e59f868966 | |||
a9b53afcc5 | |||
38cf296a4c | |||
35c0d269ac | |||
d7211e856e | |||
dfbb1a8035 | |||
61b09e926a | |||
9140fd52ac | |||
4a3ee4db67 | |||
b333d8c3f9 | |||
245b35d01e | |||
37d20ba0dd | |||
b5062c51af | |||
1ea830c955 | |||
be31ecf432 | |||
c586dfe87f | |||
7f65be34ff | |||
c158dbb3ea | |||
95acf8c018 | |||
6c5aa6677a | |||
43ff379ed4 | |||
2c2849179a | |||
d116505ff2 | |||
42535e14ab | |||
990ce16a7d | |||
af1cf0bc71 | |||
e166115745 | |||
bdef92cc71 | |||
1e59c934ec | |||
456b00882d | |||
9b8a30c84f | |||
3b90e3fe15 | |||
5e3a5bb24c | |||
7413a03009 | |||
bb1c9d73c4 | |||
3b5a901832 | |||
a62a4876ec | |||
9d21ceacc3 | |||
c604aeb064 | |||
9b9ed2f6e1 | |||
1ddc74d2b5 | |||
ee9f6dd818 | |||
a1754dff4e | |||
4827a17ba3 | |||
b5ed7b9f4e | |||
ab9760194d | |||
abb5b6d5ac | |||
4656fe21f9 | |||
93e503eb87 | |||
6ab80dc5e3 | |||
ceaff9006a | |||
c749fe6fb0 | |||
402586756f | |||
19800da808 | |||
d62da0c982 | |||
41df1d5a76 | |||
bcdf8f15e7 | |||
326cbc3bec | |||
607d966322 | |||
69298090ce | |||
9c7d50fdff | |||
fabbe8fe59 | |||
6abb55ba86 | |||
9cddbbd986 | |||
31c7c9301c | |||
c9aad3a54d | |||
ebc17e120e | |||
1ebb1782fa | |||
cce3ca1996 | |||
eb6018ac01 | |||
3b54371d5c | |||
67cd29e9f2 | |||
0f4c14ff41 | |||
5d9795139e | |||
0bbbd5de10 | |||
8963d8dec9 | |||
eeb7766f36 | |||
e7d4630fa5 | |||
0f19440864 | |||
d0a3510b96 | |||
0946b5220f | |||
d5a64ee41c | |||
067d60978c | |||
4b89174542 | |||
0a2a1b4692 | |||
4d99838209 | |||
27ac2633c7 | |||
1bff7fe861 | |||
a9c36a9417 | |||
8e26cd4d9d | |||
237c920893 | |||
354d95eb2d | |||
e7f0f09dee | |||
093a1aacf6 | |||
afbac8e2f0 | |||
17c3163a2a | |||
f0a96b9a7b | |||
e5766da56d | |||
0239abb126 | |||
06960d3023 | |||
fd813b8936 | |||
fa9c39f212 | |||
536c3d113d | |||
23281bdc0c | |||
cc5d8e162b | |||
5c43513295 | |||
6c648f4b89 | |||
9f88b1b1fb | |||
0ea0f56e1b | |||
bff0ab3d3d | |||
1f56a8cc6d | |||
eaebc184b1 | |||
b9594538ca | |||
8e56da691a | |||
c9f739ae3b | |||
2ba1aaa383 | |||
4510e7b4d8 | |||
9f1bf85b42 | |||
a2a528c294 | |||
15ec09d71c | |||
57a18aec76 | |||
8fa1743dd6 | |||
78bb1ee195 | |||
130031e4f9 | |||
ea9f91036e | |||
783e7518f8 | |||
64595b08ce | |||
43d67cff58 | |||
4ae2eb2bfa | |||
6220e272af | |||
dc36ba409c | |||
15deb9c658 | |||
07d87334d5 | |||
39300b2b6e | |||
3b2aa30d48 | |||
0c7052ae58 | |||
fa7aead863 | |||
b5dc4bdf59 | |||
9905012cd7 | |||
abfe9114c7 | |||
f65409be75 | |||
3fd0bdbf40 | |||
8d7ce2e84e | |||
0d5a697e99 | |||
fdc59fd418 | |||
7cfc8ce601 | |||
5c35dbfcdf | |||
885b22898c | |||
c842943b1b | |||
92b170267b | |||
53ebd3ceac | |||
ca35365e42 | |||
8e83943498 |
14
.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.md
vendored
14
.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.md
vendored
@ -108,13 +108,13 @@ Example:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
APP="SnipeIT"
|
APP="SnipeIT"
|
||||||
var_tags="asset-management;foss"
|
var_tags="${var_tags:-asset-management;foss}"
|
||||||
var_cpu="2"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="2048"
|
var_ram="${var_ram:-2048}"
|
||||||
var_disk="4"
|
var_disk="${var_disk:-4}"
|
||||||
var_os="debian"
|
var_os="${var_os:-debian}"
|
||||||
var_version="12"
|
var_version="${var_version:-12}"
|
||||||
var_unprivileged="1"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
```
|
```
|
||||||
|
|
||||||
## 2.2 **📋 App output & base settings**
|
## 2.2 **📋 App output & base settings**
|
||||||
|
104
.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.sh
vendored
104
.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.sh
vendored
@ -6,22 +6,22 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
|||||||
# Source: [SOURCE_URL]
|
# Source: [SOURCE_URL]
|
||||||
|
|
||||||
# App Default Values
|
# App Default Values
|
||||||
APP="[APP_NAME]"
|
|
||||||
# Name of the app (e.g. Google, Adventurelog, Apache-Guacamole"
|
# Name of the app (e.g. Google, Adventurelog, Apache-Guacamole"
|
||||||
var_tags="[TAGS]"
|
APP="[APP_NAME]"
|
||||||
# Tags for Proxmox VE, maximum 2 pcs., no spaces allowed, separated by a semicolon ; (e.g. database | adblock;dhcp)
|
# Tags for Proxmox VE, maximum 2 pcs., no spaces allowed, separated by a semicolon ; (e.g. database | adblock;dhcp)
|
||||||
var_cpu="[CPU]"
|
var_tags="${var_tags:-[TAGS]}"
|
||||||
# Number of cores (1-X) (e.g. 4) - default are 2
|
# Number of cores (1-X) (e.g. 4) - default are 2
|
||||||
var_ram="[RAM]"
|
var_cpu="${var_cpu:-[CPU]}"
|
||||||
# Amount of used RAM in MB (e.g. 2048 or 4096)
|
# Amount of used RAM in MB (e.g. 2048 or 4096)
|
||||||
var_disk="[DISK]"
|
var_ram="${var_ram:-[RAM]}"
|
||||||
# Amount of used disk space in GB (e.g. 4 or 10)
|
# Amount of used disk space in GB (e.g. 4 or 10)
|
||||||
var_os="[OS]"
|
var_disk="${var_disk:-[DISK]}"
|
||||||
# Default OS (e.g. debian, ubuntu, alpine)
|
# Default OS (e.g. debian, ubuntu, alpine)
|
||||||
var_version="[VERSION]"
|
var_os="${var_os:-[OS]}"
|
||||||
# Default OS version (e.g. 12 for debian, 24.04 for ubuntu, 3.20 for alpine)
|
# Default OS version (e.g. 12 for debian, 24.04 for ubuntu, 3.20 for alpine)
|
||||||
var_unprivileged="[UNPRIVILEGED]"
|
var_version="${var_version:-[VERSION]}"
|
||||||
# 1 = unprivileged container, 0 = privileged container
|
# 1 = unprivileged container, 0 = privileged container
|
||||||
|
var_unprivileged="${var_unprivileged:-[UNPRIVILEGED]}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
variables
|
variables
|
||||||
@ -29,51 +29,51 @@ 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
|
||||||
|
|
||||||
# Check if installation is present | -f for file, -d for folder
|
# Check if installation is present | -f for file, -d for folder
|
||||||
if [[ ! -f [INSTALLATION_CHECK_PATH] ]]; then
|
if [[ ! -f [INSTALLATION_CHECK_PATH] ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Crawling the new version and checking whether an update is required
|
|
||||||
RELEASE=$(curl -fsSL [RELEASE_URL] | [PARSE_RELEASE_COMMAND])
|
|
||||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
|
||||||
# Stopping Services
|
|
||||||
msg_info "Stopping $APP"
|
|
||||||
systemctl stop [SERVICE_NAME]
|
|
||||||
msg_ok "Stopped $APP"
|
|
||||||
|
|
||||||
# Creating Backup
|
|
||||||
msg_info "Creating Backup"
|
|
||||||
tar -czf "/opt/${APP}_backup_$(date +%F).tar.gz" [IMPORTANT_PATHS]
|
|
||||||
msg_ok "Backup Created"
|
|
||||||
|
|
||||||
# Execute Update
|
|
||||||
msg_info "Updating $APP to v${RELEASE}"
|
|
||||||
[UPDATE_COMMANDS]
|
|
||||||
msg_ok "Updated $APP to v${RELEASE}"
|
|
||||||
|
|
||||||
# Starting Services
|
|
||||||
msg_info "Starting $APP"
|
|
||||||
systemctl start [SERVICE_NAME]
|
|
||||||
msg_ok "Started $APP"
|
|
||||||
|
|
||||||
# Cleaning up
|
|
||||||
msg_info "Cleaning Up"
|
|
||||||
rm -rf [TEMP_FILES]
|
|
||||||
msg_ok "Cleanup Completed"
|
|
||||||
|
|
||||||
# Last Action
|
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
msg_ok "Update Successful"
|
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
|
||||||
fi
|
|
||||||
exit
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Crawling the new version and checking whether an update is required
|
||||||
|
RELEASE=$(curl -fsSL [RELEASE_URL] | [PARSE_RELEASE_COMMAND])
|
||||||
|
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||||
|
# Stopping Services
|
||||||
|
msg_info "Stopping $APP"
|
||||||
|
systemctl stop [SERVICE_NAME]
|
||||||
|
msg_ok "Stopped $APP"
|
||||||
|
|
||||||
|
# Creating Backup
|
||||||
|
msg_info "Creating Backup"
|
||||||
|
tar -czf "/opt/${APP}_backup_$(date +%F).tar.gz" [IMPORTANT_PATHS]
|
||||||
|
msg_ok "Backup Created"
|
||||||
|
|
||||||
|
# Execute Update
|
||||||
|
msg_info "Updating $APP to v${RELEASE}"
|
||||||
|
[UPDATE_COMMANDS]
|
||||||
|
msg_ok "Updated $APP to v${RELEASE}"
|
||||||
|
|
||||||
|
# Starting Services
|
||||||
|
msg_info "Starting $APP"
|
||||||
|
systemctl start [SERVICE_NAME]
|
||||||
|
msg_ok "Started $APP"
|
||||||
|
|
||||||
|
# Cleaning up
|
||||||
|
msg_info "Cleaning Up"
|
||||||
|
rm -rf [TEMP_FILES]
|
||||||
|
msg_ok "Cleanup Completed"
|
||||||
|
|
||||||
|
# Last Action
|
||||||
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
msg_ok "Update Successful"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
@ -83,4 +83,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:[PORT]${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:[PORT]${CL}"
|
||||||
|
@ -152,7 +152,7 @@ Example for a git release:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/snipe/snipe-it/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/snipe/snipe-it/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
wget -q "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.zip"
|
curl -fsSL "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
|
||||||
```
|
```
|
||||||
|
|
||||||
### 5.2 **Save the version for update checks**
|
### 5.2 **Save the version for update checks**
|
||||||
@ -163,7 +163,7 @@ wget -q "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.zip"
|
|||||||
Example:
|
Example:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
echo "${RELEASE}" >"/opt/AppName_version.txt"
|
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@ -184,7 +184,7 @@ msg_info "Installing Dependencies"
|
|||||||
$STD apt-get install -y ...
|
$STD apt-get install -y ...
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
read -p "Do you wish to enable HTTPS mode? (y/N): " httpschoice
|
read -p "${TAB3}Do you wish to enable HTTPS mode? (y/N): " httpschoice
|
||||||
```
|
```
|
||||||
|
|
||||||
### 6.2 **Verbosity**
|
### 6.2 **Verbosity**
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
# Source: [SOURCE_URL]
|
# Source: [SOURCE_URL]
|
||||||
|
|
||||||
# Import Functions und Setup
|
# Import Functions und Setup
|
||||||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
color
|
color
|
||||||
verb_ip6
|
verb_ip6
|
||||||
catch_errors
|
catch_errors
|
||||||
@ -31,30 +31,28 @@ $STD mysql -u root -e "CREATE DATABASE $DB_NAME;"
|
|||||||
$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
|
$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
|
||||||
$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
||||||
{
|
{
|
||||||
echo "${APPLICATION} Credentials"
|
echo "${APPLICATION} Credentials"
|
||||||
echo "Database User: $DB_USER"
|
echo "Database User: $DB_USER"
|
||||||
echo "Database Password: $DB_PASS"
|
echo "Database Password: $DB_PASS"
|
||||||
echo "Database Name: $DB_NAME"
|
echo "Database Name: $DB_NAME"
|
||||||
} >> ~/$APP_NAME.creds
|
} >>~/"$APP_NAME".creds
|
||||||
msg_ok "Set up Database"
|
msg_ok "Set up Database"
|
||||||
|
|
||||||
# Temp
|
|
||||||
|
|
||||||
# Setup App
|
# Setup App
|
||||||
msg_info "Setup ${APPLICATION}"
|
msg_info "Setup ${APPLICATION}"
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/[REPO]/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/[REPO]/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
curl -fsSL -o "${RELEASE}.zip" "https://github.com/[REPO]/archive/refs/tags/${RELEASE}.zip"
|
curl -fsSL -o "${RELEASE}.zip" "https://github.com/[REPO]/archive/refs/tags/${RELEASE}.zip"
|
||||||
unzip -q "${RELEASE}.zip"
|
unzip -q "${RELEASE}.zip"
|
||||||
mv "${APPLICATION}-${RELEASE}/" "/opt/${APPLICATION}"
|
mv "${APPLICATION}-${RELEASE}/" "/opt/${APPLICATION}"
|
||||||
#
|
|
||||||
#
|
|
||||||
#
|
#
|
||||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
#
|
||||||
|
#
|
||||||
|
echo "${RELEASE}" >/opt/"${APPLICATION}"_version.txt
|
||||||
msg_ok "Setup ${APPLICATION}"
|
msg_ok "Setup ${APPLICATION}"
|
||||||
|
|
||||||
# Creating Service (if needed)
|
# Creating Service (if needed)
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
cat <<EOF >/etc/systemd/system/${APPLICATION}.service
|
cat <<EOF >/etc/systemd/system/"${APPLICATION}".service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=${APPLICATION} Service
|
Description=${APPLICATION} Service
|
||||||
After=network.target
|
After=network.target
|
||||||
@ -66,7 +64,7 @@ Restart=always
|
|||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
systemctl enable -q --now ${APPLICATION}
|
systemctl enable -q --now "${APPLICATION}"
|
||||||
msg_ok "Created Service"
|
msg_ok "Created Service"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
@ -74,7 +72,7 @@ customize
|
|||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
rm -f ${RELEASE}.zip
|
rm -f "${RELEASE}".zip
|
||||||
$STD apt-get -y autoremove
|
$STD apt-get -y autoremove
|
||||||
$STD apt-get -y autoclean
|
$STD apt-get -y autoclean
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
|
25
.github/workflows/auto-update-app-headers.yml
vendored
25
.github/workflows/auto-update-app-headers.yml
vendored
@ -5,11 +5,12 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
paths:
|
paths:
|
||||||
- 'ct/**.sh'
|
- "ct/**.sh"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-app-files:
|
update-app-files:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
@ -24,6 +25,13 @@ jobs:
|
|||||||
app-id: ${{ vars.APP_ID }}
|
app-id: ${{ vars.APP_ID }}
|
||||||
private-key: ${{ secrets.APP_PRIVATE_KEY }}
|
private-key: ${{ secrets.APP_PRIVATE_KEY }}
|
||||||
|
|
||||||
|
- name: Generate a token for PR approval and merge
|
||||||
|
id: generate-token-merge
|
||||||
|
uses: actions/create-github-app-token@v1
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.APP_ID_APPROVE_AND_MERGE }}
|
||||||
|
private-key: ${{ secrets.APP_KEY_APPROVE_AND_MERGE }}
|
||||||
|
|
||||||
# Step 1: Checkout repository
|
# Step 1: Checkout repository
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
@ -79,7 +87,7 @@ jobs:
|
|||||||
--label "automated pr"
|
--label "automated pr"
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
|
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
|
||||||
|
|
||||||
- name: Approve pull request
|
- name: Approve pull request
|
||||||
if: env.changed == 'true'
|
if: env.changed == 'true'
|
||||||
env:
|
env:
|
||||||
@ -89,15 +97,18 @@ jobs:
|
|||||||
if [ -n "$PR_NUMBER" ]; then
|
if [ -n "$PR_NUMBER" ]; then
|
||||||
gh pr review $PR_NUMBER --approve
|
gh pr review $PR_NUMBER --approve
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Re-approve pull request after update
|
- name: Approve pull request and merge
|
||||||
if: env.changed == 'true'
|
if: env.changed == 'true'
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ steps.generate-token-merge.outputs.token }}
|
||||||
run: |
|
run: |
|
||||||
PR_NUMBER=$(gh pr list --head "pr-update-app-files" --json number --jq '.[].number')
|
git config --global user.name "github-actions-automege[bot]"
|
||||||
|
git config --global user.email "github-actions-automege[bot]@users.noreply.github.com"
|
||||||
|
PR_NUMBER=$(gh pr list --head "${BRANCH_NAME}" --json number --jq '.[].number')
|
||||||
if [ -n "$PR_NUMBER" ]; then
|
if [ -n "$PR_NUMBER" ]; then
|
||||||
gh pr review $PR_NUMBER --approve
|
gh pr review $PR_NUMBER --approve
|
||||||
|
gh pr merge $PR_NUMBER --squash --admin
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Step 8: Output success message when no changes
|
# Step 8: Output success message when no changes
|
||||||
|
1
.github/workflows/autolabeler.yml
vendored
1
.github/workflows/autolabeler.yml
vendored
@ -7,6 +7,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
autolabeler:
|
autolabeler:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
permissions:
|
permissions:
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
|
21
.github/workflows/changelog-pr.yml
vendored
21
.github/workflows/changelog-pr.yml
vendored
@ -7,6 +7,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-changelog-pull-request:
|
update-changelog-pull-request:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
env:
|
env:
|
||||||
CONFIG_PATH: .github/changelog-pr-config.json
|
CONFIG_PATH: .github/changelog-pr-config.json
|
||||||
@ -23,6 +24,13 @@ jobs:
|
|||||||
app-id: ${{ vars.APP_ID }}
|
app-id: ${{ vars.APP_ID }}
|
||||||
private-key: ${{ secrets.APP_PRIVATE_KEY }}
|
private-key: ${{ secrets.APP_PRIVATE_KEY }}
|
||||||
|
|
||||||
|
- name: Generate a token for PR approval and merge
|
||||||
|
id: generate-token-merge
|
||||||
|
uses: actions/create-github-app-token@v1
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.APP_ID_APPROVE_AND_MERGE }}
|
||||||
|
private-key: ${{ secrets.APP_KEY_APPROVE_AND_MERGE }}
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
@ -176,7 +184,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
|
|
||||||
return await main();
|
return await main();
|
||||||
|
|
||||||
- name: Update CHANGELOG.md
|
- name: Update CHANGELOG.md
|
||||||
uses: actions/github-script@v7
|
uses: actions/github-script@v7
|
||||||
with:
|
with:
|
||||||
@ -201,7 +209,7 @@ jobs:
|
|||||||
if (hasMainNotes || hasSubNotes) {
|
if (hasMainNotes || hasSubNotes) {
|
||||||
newReleaseNotes += `### ${title}\n\n`;
|
newReleaseNotes += `### ${title}\n\n`;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hasMainNotes) {
|
if (hasMainNotes) {
|
||||||
newReleaseNotes += ` ${notes.join("\n")}\n\n`;
|
newReleaseNotes += ` ${notes.join("\n")}\n\n`;
|
||||||
}
|
}
|
||||||
@ -263,12 +271,15 @@ jobs:
|
|||||||
gh pr review $PR_NUMBER --approve
|
gh pr review $PR_NUMBER --approve
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Re-approve pull request after update
|
- name: Approve pull request and merge
|
||||||
if: env.changed == 'true'
|
if: env.changed == 'true'
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ steps.generate-token-merge.outputs.token }}
|
||||||
run: |
|
run: |
|
||||||
|
git config --global user.name "github-actions-automege[bot]"
|
||||||
|
git config --global user.email "github-actions-automege[bot]@users.noreply.github.com"
|
||||||
PR_NUMBER=$(gh pr list --head "${BRANCH_NAME}" --json number --jq '.[].number')
|
PR_NUMBER=$(gh pr list --head "${BRANCH_NAME}" --json number --jq '.[].number')
|
||||||
if [ -n "$PR_NUMBER" ]; then
|
if [ -n "$PR_NUMBER" ]; then
|
||||||
gh pr review $PR_NUMBER --approve
|
gh pr review $PR_NUMBER --approve
|
||||||
fi
|
gh pr merge $PR_NUMBER --squash --admin
|
||||||
|
fi
|
||||||
|
1
.github/workflows/close-discussion.yml
vendored
1
.github/workflows/close-discussion.yml
vendored
@ -11,6 +11,7 @@ permissions:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
close-discussion:
|
close-discussion:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
1
.github/workflows/close-ttek-issues.yaml
vendored
1
.github/workflows/close-ttek-issues.yaml
vendored
@ -5,6 +5,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
close_tteck_issues:
|
close_tteck_issues:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Auto-close if tteck script detected
|
- name: Auto-close if tteck script detected
|
||||||
|
2
.github/workflows/close_issue_in_dev.yaml
vendored
2
.github/workflows/close_issue_in_dev.yaml
vendored
@ -5,7 +5,7 @@ on:
|
|||||||
- closed
|
- closed
|
||||||
jobs:
|
jobs:
|
||||||
close_issue:
|
close_issue:
|
||||||
if: github.event.pull_request.merged == true
|
if: github.event.pull_request.merged == true && github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
12
.github/workflows/crawl-versions.yaml
vendored
12
.github/workflows/crawl-versions.yaml
vendored
@ -12,6 +12,7 @@ permissions:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
crawl-versions:
|
crawl-versions:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@ -103,6 +104,17 @@ jobs:
|
|||||||
gh pr review $PR_NUMBER --approve
|
gh pr review $PR_NUMBER --approve
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
- name: Approve pull request and merge
|
||||||
|
if: env.changed == 'true'
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.PAT_AUTOMERGE }}
|
||||||
|
run: |
|
||||||
|
PR_NUMBER=$(gh pr list --head "update_versions" --json number --jq '.[].number')
|
||||||
|
if [ -n "$PR_NUMBER" ]; then
|
||||||
|
gh pr review $PR_NUMBER --approve
|
||||||
|
gh pr merge $PR_NUMBER --squash --admin
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Re-approve pull request after update
|
- name: Re-approve pull request after update
|
||||||
if: env.changed == 'true'
|
if: env.changed == 'true'
|
||||||
env:
|
env:
|
||||||
|
@ -11,6 +11,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: ubuntu-latest #To ensure it always builds we use the github runner with all the right tooling
|
runs-on: ubuntu-latest #To ensure it always builds we use the github runner with all the right tooling
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
3
.github/workflows/delete-json-branch.yml
vendored
3
.github/workflows/delete-json-branch.yml
vendored
@ -9,6 +9,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
delete_branch:
|
delete_branch:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the code
|
- name: Checkout the code
|
||||||
@ -25,4 +26,4 @@ jobs:
|
|||||||
git push origin --delete "$PR_BRANCH"
|
git push origin --delete "$PR_BRANCH"
|
||||||
else
|
else
|
||||||
echo "Skipping deletion of the main branch"
|
echo "Skipping deletion of the main branch"
|
||||||
fi
|
fi
|
||||||
|
3
.github/workflows/frontend-cicd.yml
vendored
3
.github/workflows/frontend-cicd.yml
vendored
@ -25,6 +25,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
@ -63,7 +64,7 @@ jobs:
|
|||||||
deploy:
|
deploy:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: build
|
needs: build
|
||||||
if: github.ref == 'refs/heads/main'
|
if: github.ref == 'refs/heads/main' && github.repository == 'community-scripts/ProxmoxVE'
|
||||||
permissions:
|
permissions:
|
||||||
pages: write
|
pages: write
|
||||||
id-token: write
|
id-token: write
|
||||||
|
1
.github/workflows/github-release.yml
vendored
1
.github/workflows/github-release.yml
vendored
@ -7,6 +7,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
create-daily-release:
|
create-daily-release:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
|
1
.github/workflows/script-test.yml
vendored
1
.github/workflows/script-test.yml
vendored
@ -11,6 +11,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run-install-script:
|
run-install-script:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: pvenode
|
runs-on: pvenode
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout PR branch
|
- name: Checkout PR branch
|
||||||
|
1
.github/workflows/script_format.yml
vendored
1
.github/workflows/script_format.yml
vendored
@ -11,6 +11,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run-install-script:
|
run-install-script:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: pvenode
|
runs-on: pvenode
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout PR branch (supports forks)
|
- name: Checkout PR branch (supports forks)
|
||||||
|
@ -72,8 +72,7 @@ network_check() {
|
|||||||
|
|
||||||
update_os() {
|
update_os() {
|
||||||
msg_info "Updating Container OS"
|
msg_info "Updating Container OS"
|
||||||
apk update
|
$STD apk -U upgrade
|
||||||
apk upgrade
|
|
||||||
msg_ok "Updated Container OS"
|
msg_ok "Updated Container OS"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -83,4 +82,4 @@ motd_ssh() {
|
|||||||
|
|
||||||
customize() {
|
customize() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -1,34 +1,50 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Base directory for headers
|
# Function for generating Figlet headers
|
||||||
headers_dir="./ct/headers"
|
generate_headers() {
|
||||||
|
local base_dir=$1
|
||||||
|
local target_subdir=$2
|
||||||
|
local search_pattern=$3
|
||||||
|
|
||||||
# Ensure the headers directory exists and clear it
|
local headers_dir="${base_dir}/headers"
|
||||||
mkdir -p "$headers_dir"
|
mkdir -p "$headers_dir"
|
||||||
rm -f "$headers_dir"/*
|
rm -f "$headers_dir"/*
|
||||||
|
|
||||||
# Find all .sh files in ./ct directory, sorted alphabetically
|
# Recursive or non-recursive search
|
||||||
find ./ct -type f -name "*.sh" | sort | while read -r script; do
|
if [[ "$search_pattern" == "**" ]]; then
|
||||||
# Extract the APP name from the APP line
|
shopt -s globstar nullglob
|
||||||
app_name=$(grep -oP '^APP="\K[^"]+' "$script" 2>/dev/null)
|
file_list=("${base_dir}"/**/*.sh)
|
||||||
|
shopt -u globstar
|
||||||
if [[ -n "$app_name" ]]; then
|
|
||||||
# Define the output file name in the headers directory
|
|
||||||
output_file="${headers_dir}/$(basename "${script%.*}")"
|
|
||||||
|
|
||||||
# Generate figlet output
|
|
||||||
figlet_output=$(figlet -w 500 -f slant "$app_name")
|
|
||||||
|
|
||||||
# Check if figlet output is not empty
|
|
||||||
if [[ -n "$figlet_output" ]]; then
|
|
||||||
echo "$figlet_output" > "$output_file"
|
|
||||||
echo "Generated: $output_file"
|
|
||||||
else
|
|
||||||
echo "Figlet failed for $app_name in $script"
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
echo "No APP name found in $script, skipping."
|
file_list=("${base_dir}"/*.sh)
|
||||||
fi
|
fi
|
||||||
done
|
|
||||||
|
|
||||||
echo "Completed processing .sh files."
|
for script in "${file_list[@]}"; do
|
||||||
|
[[ -f "$script" ]] || continue
|
||||||
|
|
||||||
|
app_name=$(grep -oP '^APP="\K[^"]+' "$script" 2>/dev/null)
|
||||||
|
if [[ -n "$app_name" ]]; then
|
||||||
|
output_file="${headers_dir}/$(basename "${script%.*}")"
|
||||||
|
figlet_output=$(figlet -w 500 -f slant "$app_name")
|
||||||
|
if [[ -n "$figlet_output" ]]; then
|
||||||
|
echo "$figlet_output" >"$output_file"
|
||||||
|
echo "Generated: $output_file"
|
||||||
|
else
|
||||||
|
echo "Figlet failed for $app_name in $script"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "No APP name found in $script, skipping."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# ct
|
||||||
|
generate_headers "./ct" "headers" "*"
|
||||||
|
|
||||||
|
# tools (addon, pve, ...)
|
||||||
|
generate_headers "./tools" "headers" "**"
|
||||||
|
|
||||||
|
# vm
|
||||||
|
generate_headers "./vm" "headers" "*"
|
||||||
|
|
||||||
|
echo "Completed processing all sections."
|
||||||
|
33
.github/workflows/update-json-date.yml
vendored
33
.github/workflows/update-json-date.yml
vendored
@ -5,11 +5,12 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
paths:
|
paths:
|
||||||
- 'frontend/public/json/**.json'
|
- "frontend/public/json/**.json"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-app-files:
|
update-app-files:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
@ -24,10 +25,17 @@ jobs:
|
|||||||
app-id: ${{ vars.APP_ID }}
|
app-id: ${{ vars.APP_ID }}
|
||||||
private-key: ${{ secrets.APP_PRIVATE_KEY }}
|
private-key: ${{ secrets.APP_PRIVATE_KEY }}
|
||||||
|
|
||||||
|
- name: Generate a token for PR approval and merge
|
||||||
|
id: generate-token-merge
|
||||||
|
uses: actions/create-github-app-token@v1
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.APP_ID_APPROVE_AND_MERGE }}
|
||||||
|
private-key: ${{ secrets.APP_KEY_APPROVE_AND_MERGE }}
|
||||||
|
|
||||||
- name: Generate dynamic branch name
|
- name: Generate dynamic branch name
|
||||||
id: timestamp
|
id: timestamp
|
||||||
run: echo "BRANCH_NAME=pr-update-json-$(date +'%Y%m%d%H%M%S')" >> $GITHUB_ENV
|
run: echo "BRANCH_NAME=pr-update-json-$(date +'%Y%m%d%H%M%S')" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Set up GH_TOKEN
|
- name: Set up GH_TOKEN
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -37,7 +45,7 @@ jobs:
|
|||||||
- name: Checkout Repository
|
- name: Checkout Repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 2 # Ensure we have the last two commits
|
fetch-depth: 2 # Ensure we have the last two commits
|
||||||
|
|
||||||
- name: Get Previous Commit
|
- name: Get Previous Commit
|
||||||
id: prev_commit
|
id: prev_commit
|
||||||
@ -102,8 +110,8 @@ jobs:
|
|||||||
- name: Commit and create PR if changes exist
|
- name: Commit and create PR if changes exist
|
||||||
if: env.changed == 'true'
|
if: env.changed == 'true'
|
||||||
run: |
|
run: |
|
||||||
|
|
||||||
|
|
||||||
git commit -m "Update date in json"
|
git commit -m "Update date in json"
|
||||||
git checkout -b ${{ env.BRANCH_NAME }}
|
git checkout -b ${{ env.BRANCH_NAME }}
|
||||||
git push origin ${{ env.BRANCH_NAME }}
|
git push origin ${{ env.BRANCH_NAME }}
|
||||||
@ -126,6 +134,19 @@ jobs:
|
|||||||
gh pr review $PR_NUMBER --approve
|
gh pr review $PR_NUMBER --approve
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
- name: Approve pull request and merge
|
||||||
|
if: env.changed == 'true'
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ steps.generate-token-merge.outputs.token }}
|
||||||
|
run: |
|
||||||
|
git config --global user.name "github-actions-automege[bot]"
|
||||||
|
git config --global user.email "github-actions-automege[bot]@users.noreply.github.com"
|
||||||
|
PR_NUMBER=$(gh pr list --head "${BRANCH_NAME}" --json number --jq '.[].number')
|
||||||
|
if [ -n "$PR_NUMBER" ]; then
|
||||||
|
gh pr review $PR_NUMBER --approve
|
||||||
|
gh pr merge $PR_NUMBER --squash --admin
|
||||||
|
fi
|
||||||
|
|
||||||
- name: No changes detected
|
- name: No changes detected
|
||||||
if: env.changed == 'false'
|
if: env.changed == 'false'
|
||||||
run: echo "No changes to commit. Workflow completed successfully."
|
run: echo "No changes to commit. Workflow completed successfully."
|
||||||
|
1
.github/workflows/validate-filenames.yml
vendored
1
.github/workflows/validate-filenames.yml
vendored
@ -9,6 +9,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check-files:
|
check-files:
|
||||||
|
if: github.repository == 'community-scripts/ProxmoxVE'
|
||||||
name: Check changed files
|
name: Check changed files
|
||||||
runs-on: runner-cluster-htl-set
|
runs-on: runner-cluster-htl-set
|
||||||
permissions:
|
permissions:
|
||||||
|
685
CHANGELOG.md
685
CHANGELOG.md
@ -14,6 +14,691 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
|
All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
|
||||||
|
|
||||||
|
|
||||||
|
## 2025-06-06
|
||||||
|
|
||||||
|
## 2025-06-05
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Lyrion Music Server ([#4992](https://github.com/community-scripts/ProxmoxVE/pull/4992))
|
||||||
|
- gitea-mirror ([#4967](https://github.com/community-scripts/ProxmoxVE/pull/4967))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Zipline: Fix PostgreSQL install [@tremor021](https://github.com/tremor021) ([#4989](https://github.com/community-scripts/ProxmoxVE/pull/4989))
|
||||||
|
- Homarr: add nodejs upgrade [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4974](https://github.com/community-scripts/ProxmoxVE/pull/4974))
|
||||||
|
- add FUSE to rclone [@Frankmaaan](https://github.com/Frankmaaan) ([#4972](https://github.com/community-scripts/ProxmoxVE/pull/4972))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Zitadel: Upgrade Install to PSQL 17 [@MickLesk](https://github.com/MickLesk) ([#5000](https://github.com/community-scripts/ProxmoxVE/pull/5000))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Fix clean-lxcs.sh type categorization [@bitspill](https://github.com/bitspill) ([#4980](https://github.com/community-scripts/ProxmoxVE/pull/4980))
|
||||||
|
|
||||||
|
## 2025-06-04
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Pulse: add polkit for sudoless web updates [@rcourtman](https://github.com/rcourtman) ([#4970](https://github.com/community-scripts/ProxmoxVE/pull/4970))
|
||||||
|
- Pulse: add correct Port for URL output [@rcourtman](https://github.com/rcourtman) ([#4951](https://github.com/community-scripts/ProxmoxVE/pull/4951))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- [refactor] Seelf [@tremor021](https://github.com/tremor021) ([#4954](https://github.com/community-scripts/ProxmoxVE/pull/4954))
|
||||||
|
|
||||||
|
## 2025-06-03
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Kasm: Swap fix [@omiinaya](https://github.com/omiinaya) ([#4937](https://github.com/community-scripts/ProxmoxVE/pull/4937))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- netbox: correct website URL [@theincrediblenoone](https://github.com/theincrediblenoone) ([#4952](https://github.com/community-scripts/ProxmoxVE/pull/4952))
|
||||||
|
|
||||||
|
## 2025-06-02
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- PVE-Privilege-Converter [@MickLesk](https://github.com/MickLesk) ([#4906](https://github.com/community-scripts/ProxmoxVE/pull/4906))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- fix(wastebin): use tar asset [@dbeg](https://github.com/dbeg) ([#4934](https://github.com/community-scripts/ProxmoxVE/pull/4934))
|
||||||
|
- MySQL/MariaDB: fix create user with password [@MickLesk](https://github.com/MickLesk) ([#4918](https://github.com/community-scripts/ProxmoxVE/pull/4918))
|
||||||
|
- Fix alpine-tinyauth env configuration parsing logic [@gokussjx](https://github.com/gokussjx) ([#4901](https://github.com/community-scripts/ProxmoxVE/pull/4901))
|
||||||
|
|
||||||
|
- #### 💥 Breaking Changes
|
||||||
|
|
||||||
|
- make Pulse installation non-interactive [@rcourtman](https://github.com/rcourtman) ([#4848](https://github.com/community-scripts/ProxmoxVE/pull/4848))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 💾 Core
|
||||||
|
|
||||||
|
- [core] add hw-accelerated for immich, openwebui / remove scrypted [@MickLesk](https://github.com/MickLesk) ([#4927](https://github.com/community-scripts/ProxmoxVE/pull/4927))
|
||||||
|
- [core] tools.func: Bugfix old gpg key for mysql & little improvements [@MickLesk](https://github.com/MickLesk) ([#4916](https://github.com/community-scripts/ProxmoxVE/pull/4916))
|
||||||
|
- [core] Varius fixes to Config file feature [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4924](https://github.com/community-scripts/ProxmoxVE/pull/4924))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Display default password even if there isn't a default username [@0risc](https://github.com/0risc) ([#4900](https://github.com/community-scripts/ProxmoxVE/pull/4900))
|
||||||
|
|
||||||
|
## 2025-06-01
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- immich ([#4886](https://github.com/community-scripts/ProxmoxVE/pull/4886))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- AdventureLog: add login credentials info [@tremor021](https://github.com/tremor021) ([#4887](https://github.com/community-scripts/ProxmoxVE/pull/4887))
|
||||||
|
|
||||||
|
## 2025-05-31
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Silverbullet: Fix Installation (wrong path) [@MickLesk](https://github.com/MickLesk) ([#4873](https://github.com/community-scripts/ProxmoxVE/pull/4873))
|
||||||
|
- ActualBudget: fix update check (file instead of folder check) [@MickLesk](https://github.com/MickLesk) ([#4874](https://github.com/community-scripts/ProxmoxVE/pull/4874))
|
||||||
|
- Omada Controller: Fix libssl url [@tremor021](https://github.com/tremor021) ([#4868](https://github.com/community-scripts/ProxmoxVE/pull/4868))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Revert "Update package dependencies in package.json and package-lock.json (#4845) [@BramSuurdje](https://github.com/BramSuurdje) ([#4869](https://github.com/community-scripts/ProxmoxVE/pull/4869))
|
||||||
|
|
||||||
|
### 💥 Breaking Changes
|
||||||
|
|
||||||
|
- Remove Authentik script [@tremor021](https://github.com/tremor021) ([#4867](https://github.com/community-scripts/ProxmoxVE/pull/4867))
|
||||||
|
|
||||||
|
## 2025-05-30
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- slskd: add space in sed command [@vhsdream](https://github.com/vhsdream) ([#4853](https://github.com/community-scripts/ProxmoxVE/pull/4853))
|
||||||
|
- Alpine Traefik: Fix working directory and plugins [@tremor021](https://github.com/tremor021) ([#4838](https://github.com/community-scripts/ProxmoxVE/pull/4838))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Update package dependencies in package.json and package-lock.json [@enough-jainil](https://github.com/enough-jainil) ([#4845](https://github.com/community-scripts/ProxmoxVE/pull/4845))
|
||||||
|
|
||||||
|
## 2025-05-29
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- SearXNG fix limiter [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4834](https://github.com/community-scripts/ProxmoxVE/pull/4834))
|
||||||
|
- Docmost: add jq before nodejs install [@MickLesk](https://github.com/MickLesk) ([#4831](https://github.com/community-scripts/ProxmoxVE/pull/4831))
|
||||||
|
- Alpine Traefik: Fix Dashboard not beign accessible [@tremor021](https://github.com/tremor021) ([#4828](https://github.com/community-scripts/ProxmoxVE/pull/4828))
|
||||||
|
- MySQL: Fix Wrong Command [@MickLesk](https://github.com/MickLesk) ([#4820](https://github.com/community-scripts/ProxmoxVE/pull/4820))
|
||||||
|
- docs: fix casing of OpenWrt [@GoetzGoerisch](https://github.com/GoetzGoerisch) ([#4805](https://github.com/community-scripts/ProxmoxVE/pull/4805))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Docker-VM: set individual Hostname / Disk-Space formatting [@MickLesk](https://github.com/MickLesk) ([#4821](https://github.com/community-scripts/ProxmoxVE/pull/4821))
|
||||||
|
|
||||||
|
## 2025-05-28
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Umbrel-OS [@MickLesk](https://github.com/MickLesk) ([#4788](https://github.com/community-scripts/ProxmoxVE/pull/4788))
|
||||||
|
- oauth2-proxy ([#4784](https://github.com/community-scripts/ProxmoxVE/pull/4784))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Habitica: Use Node20 [@MickLesk](https://github.com/MickLesk) ([#4796](https://github.com/community-scripts/ProxmoxVE/pull/4796))
|
||||||
|
- Alpine-Node-RED: add service to rc [@MickLesk](https://github.com/MickLesk) ([#4783](https://github.com/community-scripts/ProxmoxVE/pull/4783))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Pulse: use prebuild tarball file / remove unneeded npm actions [@MickLesk](https://github.com/MickLesk) ([#4776](https://github.com/community-scripts/ProxmoxVE/pull/4776))
|
||||||
|
|
||||||
|
- #### 💥 Breaking Changes
|
||||||
|
|
||||||
|
- Refactor: Linkwarden + OS Upgrade [@MickLesk](https://github.com/MickLesk) ([#4756](https://github.com/community-scripts/ProxmoxVE/pull/4756))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- refactor: use binary and randomize credentials in tinyauth [@steveiliop56](https://github.com/steveiliop56) ([#4632](https://github.com/community-scripts/ProxmoxVE/pull/4632))
|
||||||
|
- MariaDB CLI Update, Go Install Helper & Minor Cleanup [@MickLesk](https://github.com/MickLesk) ([#4793](https://github.com/community-scripts/ProxmoxVE/pull/4793))
|
||||||
|
- Refactor: Remove redundant dependencies & unify unzip usage [@MickLesk](https://github.com/MickLesk) ([#4780](https://github.com/community-scripts/ProxmoxVE/pull/4780))
|
||||||
|
- Refactor: Remove gpg / gnupg from script base [@MickLesk](https://github.com/MickLesk) ([#4775](https://github.com/community-scripts/ProxmoxVE/pull/4775))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- pulse: correct url in note [@xb00tt](https://github.com/xb00tt) ([#4809](https://github.com/community-scripts/ProxmoxVE/pull/4809))
|
||||||
|
|
||||||
|
## 2025-05-27
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Backrest ([#4766](https://github.com/community-scripts/ProxmoxVE/pull/4766))
|
||||||
|
- Pulse ([#4728](https://github.com/community-scripts/ProxmoxVE/pull/4728))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Alpine-Vaultwarden: Increase min disk requirements to 1GB [@neyzm](https://github.com/neyzm) ([#4764](https://github.com/community-scripts/ProxmoxVE/pull/4764))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- lldap: fix update-check [@MickLesk](https://github.com/MickLesk) ([#4742](https://github.com/community-scripts/ProxmoxVE/pull/4742))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Big NodeJS Update: Use Helper Function on all Install-Scripts [@MickLesk](https://github.com/MickLesk) ([#4744](https://github.com/community-scripts/ProxmoxVE/pull/4744))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- merge MariaDB to tools.func Installer [@MickLesk](https://github.com/MickLesk) ([#4753](https://github.com/community-scripts/ProxmoxVE/pull/4753))
|
||||||
|
- merge PostgreSQL to tools.func Installer [@MickLesk](https://github.com/MickLesk) ([#4752](https://github.com/community-scripts/ProxmoxVE/pull/4752))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Increase default RAM allocation for BunkerWeb to 8192MB [@TheophileDiot](https://github.com/TheophileDiot) ([#4762](https://github.com/community-scripts/ProxmoxVE/pull/4762))
|
||||||
|
|
||||||
|
## 2025-05-26
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Argus ([#4717](https://github.com/community-scripts/ProxmoxVE/pull/4717))
|
||||||
|
- Kasm ([#4716](https://github.com/community-scripts/ProxmoxVE/pull/4716))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Excalidraw: increase HDD to 10GB [@MickLesk](https://github.com/MickLesk) ([#4718](https://github.com/community-scripts/ProxmoxVE/pull/4718))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- BREAKING CHANGE: Fix PocketID for v1.0.0 [@vhsdream](https://github.com/vhsdream) ([#4711](https://github.com/community-scripts/ProxmoxVE/pull/4711))
|
||||||
|
- InspIRCd: Fix release name in release url [@tremor021](https://github.com/tremor021) ([#4720](https://github.com/community-scripts/ProxmoxVE/pull/4720))
|
||||||
|
|
||||||
|
## 2025-05-25
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Pelican-panel: back-up database if using sqlite [@bvdberg01](https://github.com/bvdberg01) ([#4700](https://github.com/community-scripts/ProxmoxVE/pull/4700))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Pterodactyl panel read typo [@bvdberg01](https://github.com/bvdberg01) ([#4701](https://github.com/community-scripts/ProxmoxVE/pull/4701))
|
||||||
|
|
||||||
|
## 2025-05-24
|
||||||
|
|
||||||
|
## 2025-05-23
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- TYPO: Fix nexcloud to nextcloud (VM) [@Stoufiler](https://github.com/Stoufiler) ([#4670](https://github.com/community-scripts/ProxmoxVE/pull/4670))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Update Icons to selfhst/icons (FreePBX & Configarr) [@MickLesk](https://github.com/MickLesk) ([#4680](https://github.com/community-scripts/ProxmoxVE/pull/4680))
|
||||||
|
|
||||||
|
### 💥 Breaking Changes
|
||||||
|
|
||||||
|
- Remove rtsptoweb (deprecated) [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4686](https://github.com/community-scripts/ProxmoxVE/pull/4686))
|
||||||
|
|
||||||
|
## 2025-05-22
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- FreePBX ([#4648](https://github.com/community-scripts/ProxmoxVE/pull/4648))
|
||||||
|
- cloudflare-ddns ([#4647](https://github.com/community-scripts/ProxmoxVE/pull/4647))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- slskd: fix #4649 [@vhsdream](https://github.com/vhsdream) ([#4651](https://github.com/community-scripts/ProxmoxVE/pull/4651))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Paperless-AI: Add RAG chat [@tremor021](https://github.com/tremor021) ([#4635](https://github.com/community-scripts/ProxmoxVE/pull/4635))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 📂 Github
|
||||||
|
|
||||||
|
- [gh]: Feature: Header-Generation for vm | tools | addon [@MickLesk](https://github.com/MickLesk) ([#4643](https://github.com/community-scripts/ProxmoxVE/pull/4643))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Commafeed: move to Documents category [@diemade](https://github.com/diemade) ([#4665](https://github.com/community-scripts/ProxmoxVE/pull/4665))
|
||||||
|
|
||||||
|
## 2025-05-21
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- configarr ([#4620](https://github.com/community-scripts/ProxmoxVE/pull/4620))
|
||||||
|
- babybuddy ([#4619](https://github.com/community-scripts/ProxmoxVE/pull/4619))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Alpine-Node-RED: Update Service File [@MickLesk](https://github.com/MickLesk) ([#4628](https://github.com/community-scripts/ProxmoxVE/pull/4628))
|
||||||
|
- RustDesk Server: Fix update for older installs [@tremor021](https://github.com/tremor021) ([#4612](https://github.com/community-scripts/ProxmoxVE/pull/4612))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Tandoor Recipes: Capture version information when installing [@jbolla](https://github.com/jbolla) ([#4633](https://github.com/community-scripts/ProxmoxVE/pull/4633))
|
||||||
|
|
||||||
|
## 2025-05-20
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- [tools.func]: Update fetch_and_deploy_gh_release function [@tremor021](https://github.com/tremor021) ([#4605](https://github.com/community-scripts/ProxmoxVE/pull/4605))
|
||||||
|
- [core] New Features for Config File function [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4601](https://github.com/community-scripts/ProxmoxVE/pull/4601))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Website: harmonize all Logos | use jsDelivr CDN links for icons from selfhst/icons repo [@MickLesk](https://github.com/MickLesk) ([#4603](https://github.com/community-scripts/ProxmoxVE/pull/4603))
|
||||||
|
|
||||||
|
## 2025-05-19
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- rclone ([#4579](https://github.com/community-scripts/ProxmoxVE/pull/4579))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- increase ressources of Homarr (3 vCPU / 6GB RAM) [@MickLesk](https://github.com/MickLesk) ([#4583](https://github.com/community-scripts/ProxmoxVE/pull/4583))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Various unrelated fixes to kimai update script [@jamezpolley](https://github.com/jamezpolley) ([#4549](https://github.com/community-scripts/ProxmoxVE/pull/4549))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- RustDesk Server: Add WebUI [@tremor021](https://github.com/tremor021) ([#4590](https://github.com/community-scripts/ProxmoxVE/pull/4590))
|
||||||
|
|
||||||
|
## 2025-05-18
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- tools.func - Add function to create self-signed certificates [@tremor021](https://github.com/tremor021) ([#4562](https://github.com/community-scripts/ProxmoxVE/pull/4562))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Homarr: fix the build [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4569](https://github.com/community-scripts/ProxmoxVE/pull/4569))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Fix Dashy Config Path on Frontend [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4570](https://github.com/community-scripts/ProxmoxVE/pull/4570))
|
||||||
|
|
||||||
|
## 2025-05-17
|
||||||
|
|
||||||
|
## 2025-05-16
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 💾 Core
|
||||||
|
|
||||||
|
- [core] Refactor Config File function [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4528](https://github.com/community-scripts/ProxmoxVE/pull/4528))
|
||||||
|
- [core] Fix Bridge detection in Advanced Mode [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4522](https://github.com/community-scripts/ProxmoxVE/pull/4522))
|
||||||
|
- [core] Enable SSH_KEY and SSH without password [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4523](https://github.com/community-scripts/ProxmoxVE/pull/4523))
|
||||||
|
|
||||||
|
- #### 📂 Github
|
||||||
|
|
||||||
|
- Updates to contributor docs/guide [@tremor021](https://github.com/tremor021) ([#4518](https://github.com/community-scripts/ProxmoxVE/pull/4518))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- Remove bolt.diy script [@tremor021](https://github.com/tremor021) ([#4541](https://github.com/community-scripts/ProxmoxVE/pull/4541))
|
||||||
|
|
||||||
|
## 2025-05-15
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- bitmagnet ([#4493](https://github.com/community-scripts/ProxmoxVE/pull/4493))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- core: Add TAB3 formatting var to core [@tremor021](https://github.com/tremor021) ([#4496](https://github.com/community-scripts/ProxmoxVE/pull/4496))
|
||||||
|
- Update scripts that use "read -p" to properly indent text [@tremor021](https://github.com/tremor021) ([#4498](https://github.com/community-scripts/ProxmoxVE/pull/4498))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- tools.func: fix some things & add ruby default function [@MickLesk](https://github.com/MickLesk) ([#4507](https://github.com/community-scripts/ProxmoxVE/pull/4507))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 💾 Core
|
||||||
|
|
||||||
|
- core: fix bridge detection for OVS [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4495](https://github.com/community-scripts/ProxmoxVE/pull/4495))
|
||||||
|
|
||||||
|
## 2025-05-14
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- odoo ([#4477](https://github.com/community-scripts/ProxmoxVE/pull/4477))
|
||||||
|
- asterisk ([#4468](https://github.com/community-scripts/ProxmoxVE/pull/4468))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- fix: fetch_release_and_deploy function [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4478](https://github.com/community-scripts/ProxmoxVE/pull/4478))
|
||||||
|
- Website: re-add documenso & some little bugfixes [@MickLesk](https://github.com/MickLesk) ([#4456](https://github.com/community-scripts/ProxmoxVE/pull/4456))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Add make installation dependency to Actual Budget script [@maciejmatczak](https://github.com/maciejmatczak) ([#4485](https://github.com/community-scripts/ProxmoxVE/pull/4485))
|
||||||
|
- Bookstack: fix copy of themes/uploads/storage [@MickLesk](https://github.com/MickLesk) ([#4457](https://github.com/community-scripts/ProxmoxVE/pull/4457))
|
||||||
|
- Alpine-Rclone: Fix location of passwords file [@tremor021](https://github.com/tremor021) ([#4465](https://github.com/community-scripts/ProxmoxVE/pull/4465))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- monitor-all: improvements - tag based filtering [@grizmin](https://github.com/grizmin) ([#4437](https://github.com/community-scripts/ProxmoxVE/pull/4437))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 📂 Github
|
||||||
|
|
||||||
|
- Add Github app for auto PR merge [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4461](https://github.com/community-scripts/ProxmoxVE/pull/4461))
|
||||||
|
|
||||||
|
## 2025-05-13
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- gatus ([#4443](https://github.com/community-scripts/ProxmoxVE/pull/4443))
|
||||||
|
- alpine-gatus ([#4442](https://github.com/community-scripts/ProxmoxVE/pull/4442))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- update some improvements from dev (tools.func) [@MickLesk](https://github.com/MickLesk) ([#4430](https://github.com/community-scripts/ProxmoxVE/pull/4430))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- openhab: use zulu17-jdk [@moodyblue](https://github.com/moodyblue) ([#4438](https://github.com/community-scripts/ProxmoxVE/pull/4438))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- openhab. correct some typos [@moodyblue](https://github.com/moodyblue) ([#4448](https://github.com/community-scripts/ProxmoxVE/pull/4448))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 💾 Core
|
||||||
|
|
||||||
|
- fix: improve bridge detection in all network interface configuration files [@filippolauria](https://github.com/filippolauria) ([#4413](https://github.com/community-scripts/ProxmoxVE/pull/4413))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Jellyfin Media Server: Update configuration path [@tremor021](https://github.com/tremor021) ([#4434](https://github.com/community-scripts/ProxmoxVE/pull/4434))
|
||||||
|
- Pingvin Share: Added explanation on how to add/edit environment variables [@tremor021](https://github.com/tremor021) ([#4432](https://github.com/community-scripts/ProxmoxVE/pull/4432))
|
||||||
|
- pingvin.json: fix typo [@warmbo](https://github.com/warmbo) ([#4426](https://github.com/community-scripts/ProxmoxVE/pull/4426))
|
||||||
|
|
||||||
|
## 2025-05-12
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Alpine-Traefik [@MickLesk](https://github.com/MickLesk) ([#4412](https://github.com/community-scripts/ProxmoxVE/pull/4412))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Alpine: Use onliner for updates [@tremor021](https://github.com/tremor021) ([#4414](https://github.com/community-scripts/ProxmoxVE/pull/4414))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- homarr: fetch versions dynamically from source repo [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4409](https://github.com/community-scripts/ProxmoxVE/pull/4409))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Feature: LXC-Delete (pve helper): add "all items" [@MickLesk](https://github.com/MickLesk) ([#4296](https://github.com/community-scripts/ProxmoxVE/pull/4296))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 💾 Core
|
||||||
|
|
||||||
|
- Config file Function in build.func [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4411](https://github.com/community-scripts/ProxmoxVE/pull/4411))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Navidrome - Fix config path (use /etc/ instead of /var/lib) [@quake1508](https://github.com/quake1508) ([#4406](https://github.com/community-scripts/ProxmoxVE/pull/4406))
|
||||||
|
|
||||||
|
## 2025-05-11
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Zammad: Enable ElasticSearch service [@tremor021](https://github.com/tremor021) ([#4391](https://github.com/community-scripts/ProxmoxVE/pull/4391))
|
||||||
|
|
||||||
|
## 2025-05-10
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- (fix) Documenso: fix build failures [@vhsdream](https://github.com/vhsdream) ([#4382](https://github.com/community-scripts/ProxmoxVE/pull/4382))
|
||||||
|
- Jellyseerr: better handling of node and pnpm [@MickLesk](https://github.com/MickLesk) ([#4365](https://github.com/community-scripts/ProxmoxVE/pull/4365))
|
||||||
|
|
||||||
|
## 2025-05-09
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Authentik: change install to UV & increase resources to 10GB RAM [@MickLesk](https://github.com/MickLesk) ([#4364](https://github.com/community-scripts/ProxmoxVE/pull/4364))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- HomeAssistant-Core: update script for 2025.5+ [@MickLesk](https://github.com/MickLesk) ([#4363](https://github.com/community-scripts/ProxmoxVE/pull/4363))
|
||||||
|
- Feature: autologin for Alpine [@MickLesk](https://github.com/MickLesk) ([#4344](https://github.com/community-scripts/ProxmoxVE/pull/4344))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 💾 Core
|
||||||
|
|
||||||
|
- fix: detect all bridge types, not just vmbr prefix [@filippolauria](https://github.com/filippolauria) ([#4351](https://github.com/community-scripts/ProxmoxVE/pull/4351))
|
||||||
|
|
||||||
|
- #### 📂 Github
|
||||||
|
|
||||||
|
- Add a Repo check to all Workflows [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4339](https://github.com/community-scripts/ProxmoxVE/pull/4339))
|
||||||
|
- Auto-Merge Automatic PR [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4343](https://github.com/community-scripts/ProxmoxVE/pull/4343))
|
||||||
|
|
||||||
|
## 2025-05-08
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- SearXNG: fix to resolve yaml dependency error [@Biendeo](https://github.com/Biendeo) ([#4322](https://github.com/community-scripts/ProxmoxVE/pull/4322))
|
||||||
|
- Bugfix: Mikrotik & Pimox HAOS VM (NEXTID) [@MickLesk](https://github.com/MickLesk) ([#4313](https://github.com/community-scripts/ProxmoxVE/pull/4313))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 💾 Core
|
||||||
|
|
||||||
|
- build.func Change the menu for Bridge Selection [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4326](https://github.com/community-scripts/ProxmoxVE/pull/4326))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- FAQ: Explanation "updatable" [@tremor021](https://github.com/tremor021) ([#4300](https://github.com/community-scripts/ProxmoxVE/pull/4300))
|
||||||
|
|
||||||
|
## 2025-05-07
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Alpine scripts: Set minimum disk space to 0.5GB [@tremor021](https://github.com/tremor021) ([#4288](https://github.com/community-scripts/ProxmoxVE/pull/4288))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- SuwayomiServer: Bump Java to v21, code formating [@tremor021](https://github.com/tremor021) ([#3987](https://github.com/community-scripts/ProxmoxVE/pull/3987))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Feature: get correct next VMID [@MickLesk](https://github.com/MickLesk) ([#4292](https://github.com/community-scripts/ProxmoxVE/pull/4292))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- OpenWebUI: Update docs link [@tremor021](https://github.com/tremor021) ([#4298](https://github.com/community-scripts/ProxmoxVE/pull/4298))
|
||||||
|
|
||||||
|
## 2025-05-06
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- alpine-transmission ([#4277](https://github.com/community-scripts/ProxmoxVE/pull/4277))
|
||||||
|
- streamlink-webui ([#4262](https://github.com/community-scripts/ProxmoxVE/pull/4262))
|
||||||
|
- Fumadocs ([#4263](https://github.com/community-scripts/ProxmoxVE/pull/4263))
|
||||||
|
- alpine-rclone ([#4265](https://github.com/community-scripts/ProxmoxVE/pull/4265))
|
||||||
|
- alpine-tinyauth ([#4264](https://github.com/community-scripts/ProxmoxVE/pull/4264))
|
||||||
|
- Re-Add: ActualBudget [@MickLesk](https://github.com/MickLesk) ([#4228](https://github.com/community-scripts/ProxmoxVE/pull/4228))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- whiptail menu - cancel button now exists the advanced menu [@MickLesk](https://github.com/MickLesk) ([#4259](https://github.com/community-scripts/ProxmoxVE/pull/4259))
|
||||||
|
|
||||||
|
## 2025-05-05
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Alpine-Komodo [@MickLesk](https://github.com/MickLesk) ([#4234](https://github.com/community-scripts/ProxmoxVE/pull/4234))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Docker VM: Fix variable doublequoting [@tremor021](https://github.com/tremor021) ([#4245](https://github.com/community-scripts/ProxmoxVE/pull/4245))
|
||||||
|
- Alpine-Vaultwarden: Fix sed and better cert generation [@tremor021](https://github.com/tremor021) ([#4232](https://github.com/community-scripts/ProxmoxVE/pull/4232))
|
||||||
|
- Apache Guacamole: Fix Version Grepping [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4229](https://github.com/community-scripts/ProxmoxVE/pull/4229))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Docker-VM: Add Disk Size choice [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4241](https://github.com/community-scripts/ProxmoxVE/pull/4241))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Refactor: Komodo update logic [@MickLesk](https://github.com/MickLesk) ([#4231](https://github.com/community-scripts/ProxmoxVE/pull/4231))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### 💾 Core
|
||||||
|
|
||||||
|
- tools.func: better function handling + gs as new helper [@MickLesk](https://github.com/MickLesk) ([#4238](https://github.com/community-scripts/ProxmoxVE/pull/4238))
|
||||||
|
|
||||||
|
## 2025-05-04
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- Code Server: Update misleading name, description and icon. [@ArmainAP](https://github.com/ArmainAP) ([#4211](https://github.com/community-scripts/ProxmoxVE/pull/4211))
|
||||||
|
|
||||||
|
## 2025-05-03
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Vaultwarden: Enable HTTPS by default [@tremor021](https://github.com/tremor021) ([#4197](https://github.com/community-scripts/ProxmoxVE/pull/4197))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Vaultwarden: Fix access URL [@tremor021](https://github.com/tremor021) ([#4199](https://github.com/community-scripts/ProxmoxVE/pull/4199))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- SFTPGo: Switch updatable to true on website [@tremor021](https://github.com/tremor021) ([#4186](https://github.com/community-scripts/ProxmoxVE/pull/4186))
|
||||||
|
|
||||||
|
## 2025-05-02
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- NetBox: Fix typo in sed command, preventing install [@tremor021](https://github.com/tremor021) ([#4179](https://github.com/community-scripts/ProxmoxVE/pull/4179))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Changed the random script button to be the same as all the other buttons [@BramSuurdje](https://github.com/BramSuurdje) ([#4183](https://github.com/community-scripts/ProxmoxVE/pull/4183))
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Habitica: correct config path [@DrDonoso](https://github.com/DrDonoso) ([#4181](https://github.com/community-scripts/ProxmoxVE/pull/4181))
|
||||||
|
|
||||||
|
## 2025-05-01
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Readeck: Fix release crawling [@tremor021](https://github.com/tremor021) ([#4172](https://github.com/community-scripts/ProxmoxVE/pull/4172))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- homepage: Add build time var [@burgerga](https://github.com/burgerga) ([#4167](https://github.com/community-scripts/ProxmoxVE/pull/4167))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- Bump vite from 6.2.6 to 6.3.4 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#4159](https://github.com/community-scripts/ProxmoxVE/pull/4159))
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Grafana: add config path & documentation [@JamborJan](https://github.com/JamborJan) ([#4162](https://github.com/community-scripts/ProxmoxVE/pull/4162))
|
||||||
|
|
||||||
|
## 2025-04-30
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Refactor: Matterbridge [@MickLesk](https://github.com/MickLesk) ([#4148](https://github.com/community-scripts/ProxmoxVE/pull/4148))
|
||||||
|
- Refactor: Ollama & Adding to Website [@MickLesk](https://github.com/MickLesk) ([#4147](https://github.com/community-scripts/ProxmoxVE/pull/4147))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- mark Caddy as updateable [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4154](https://github.com/community-scripts/ProxmoxVE/pull/4154))
|
||||||
|
- Website: Add missing docs and config paths [@tremor021](https://github.com/tremor021) ([#4131](https://github.com/community-scripts/ProxmoxVE/pull/4131))
|
||||||
|
|
||||||
## 2025-04-29
|
## 2025-04-29
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
144
ct/2fauth.sh
144
ct/2fauth.sh
@ -20,79 +20,79 @@ 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
|
||||||
|
|
||||||
# Check if installation is present | -f for file, -d for folder
|
# Check if installation is present | -f for file, -d for folder
|
||||||
if [[ ! -d "/opt/2fauth" ]]; then
|
if [[ ! -d "/opt/2fauth" ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Crawling the new version and checking whether an update is required
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
|
||||||
if [[ "${RELEASE}" != "$(cat /opt/2fauth_version.txt)" ]] || [[ ! -f /opt/2fauth_version.txt ]]; then
|
|
||||||
msg_info "Updating $APP to ${RELEASE}"
|
|
||||||
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get -y upgrade
|
|
||||||
|
|
||||||
# Creating Backup
|
|
||||||
msg_info "Creating Backup"
|
|
||||||
mv "/opt/2fauth" "/opt/2fauth-backup"
|
|
||||||
if ! dpkg -l | grep -q 'php8.3'; then
|
|
||||||
cp /etc/nginx/conf.d/2fauth.conf /etc/nginx/conf.d/2fauth.conf.bak
|
|
||||||
fi
|
|
||||||
msg_ok "Backup Created"
|
|
||||||
|
|
||||||
# Upgrade PHP
|
|
||||||
if ! dpkg -l | grep -q 'php8.3'; then
|
|
||||||
$STD apt-get install -y \
|
|
||||||
lsb-release \
|
|
||||||
gpg
|
|
||||||
curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.gpg
|
|
||||||
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,mbstring,mysql,xml,cli,intl}
|
|
||||||
sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/2fauth.conf
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Execute Update
|
|
||||||
curl -fsSL -o "${RELEASE}.zip" "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip"
|
|
||||||
unzip -q "${RELEASE}.zip"
|
|
||||||
mv "2FAuth-${RELEASE//v/}/" "/opt/2fauth"
|
|
||||||
mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env"
|
|
||||||
mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage"
|
|
||||||
cd "/opt/2fauth" || return
|
|
||||||
|
|
||||||
chown -R www-data: "/opt/2fauth"
|
|
||||||
chmod -R 755 "/opt/2fauth"
|
|
||||||
|
|
||||||
export COMPOSER_ALLOW_SUPERUSER=1
|
|
||||||
$STD composer install --no-dev --prefer-source
|
|
||||||
|
|
||||||
php artisan 2fauth:install
|
|
||||||
|
|
||||||
$STD systemctl restart nginx
|
|
||||||
|
|
||||||
# Cleaning up
|
|
||||||
msg_info "Cleaning Up"
|
|
||||||
rm -rf "v${RELEASE}.zip"
|
|
||||||
if dpkg -l | grep -q 'php8.2'; then
|
|
||||||
$STD apt-get remove --purge -y php8.2*
|
|
||||||
fi
|
|
||||||
$STD apt-get -y autoremove
|
|
||||||
$STD apt-get -y autoclean
|
|
||||||
msg_ok "Cleanup Completed"
|
|
||||||
|
|
||||||
# Last Action
|
|
||||||
echo "${RELEASE}" >/opt/2fauth_version.txt
|
|
||||||
msg_ok "Updated $APP to ${RELEASE}"
|
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
|
||||||
fi
|
|
||||||
exit
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Crawling the new version and checking whether an update is required
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
|
if [[ "${RELEASE}" != "$(cat /opt/2fauth_version.txt)" ]] || [[ ! -f /opt/2fauth_version.txt ]]; then
|
||||||
|
msg_info "Updating $APP to ${RELEASE}"
|
||||||
|
|
||||||
|
$STD apt-get update
|
||||||
|
$STD apt-get -y upgrade
|
||||||
|
|
||||||
|
# Creating Backup
|
||||||
|
msg_info "Creating Backup"
|
||||||
|
mv "/opt/2fauth" "/opt/2fauth-backup"
|
||||||
|
if ! dpkg -l | grep -q 'php8.3'; then
|
||||||
|
cp /etc/nginx/conf.d/2fauth.conf /etc/nginx/conf.d/2fauth.conf.bak
|
||||||
|
fi
|
||||||
|
msg_ok "Backup Created"
|
||||||
|
|
||||||
|
# Upgrade PHP
|
||||||
|
if ! dpkg -l | grep -q 'php8.3'; then
|
||||||
|
$STD apt-get install -y \
|
||||||
|
lsb-release \
|
||||||
|
gpg
|
||||||
|
curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.gpg
|
||||||
|
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" >/etc/apt/sources.list.d/php.list
|
||||||
|
$STD apt-get update
|
||||||
|
$STD apt-get install -y php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,mbstring,mysql,xml,cli,intl}
|
||||||
|
sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/2fauth.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Execute Update
|
||||||
|
curl -fsSL -o "${RELEASE}.zip" "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip"
|
||||||
|
$STD unzip "${RELEASE}.zip"
|
||||||
|
mv "2FAuth-${RELEASE//v/}/" "/opt/2fauth"
|
||||||
|
mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env"
|
||||||
|
mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage"
|
||||||
|
cd "/opt/2fauth" || return
|
||||||
|
|
||||||
|
chown -R www-data: "/opt/2fauth"
|
||||||
|
chmod -R 755 "/opt/2fauth"
|
||||||
|
|
||||||
|
export COMPOSER_ALLOW_SUPERUSER=1
|
||||||
|
$STD composer install --no-dev --prefer-source
|
||||||
|
|
||||||
|
php artisan 2fauth:install
|
||||||
|
|
||||||
|
$STD systemctl restart nginx
|
||||||
|
|
||||||
|
# Cleaning up
|
||||||
|
msg_info "Cleaning Up"
|
||||||
|
rm -rf "v${RELEASE}.zip"
|
||||||
|
if dpkg -l | grep -q 'php8.2'; then
|
||||||
|
$STD apt-get remove --purge -y php8.2*
|
||||||
|
fi
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleanup Completed"
|
||||||
|
|
||||||
|
# Last Action
|
||||||
|
echo "${RELEASE}" >/opt/2fauth_version.txt
|
||||||
|
msg_ok "Updated $APP to ${RELEASE}"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
@ -102,4 +102,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
|
||||||
|
67
ct/actualbudget.sh
Normal file
67
ct/actualbudget.sh
Normal 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: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://actualbudget.org/
|
||||||
|
|
||||||
|
APP="Actual Budget"
|
||||||
|
var_tags="finance"
|
||||||
|
var_cpu="2"
|
||||||
|
var_ram="2048"
|
||||||
|
var_disk="4"
|
||||||
|
var_os="debian"
|
||||||
|
var_version="12"
|
||||||
|
var_unprivileged="1"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -f /opt/actualbudget_version.txt ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
NODE_VERSION="22"
|
||||||
|
install_node_and_modules
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
if [[ -f /opt/actualbudget-data/config.json ]]; then
|
||||||
|
if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then
|
||||||
|
msg_info "Stopping ${APP}"
|
||||||
|
systemctl stop actualbudget
|
||||||
|
msg_ok "${APP} Stopped"
|
||||||
|
|
||||||
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
|
$STD npm update -g @actual-app/sync-server
|
||||||
|
echo "${RELEASE}" >/opt/actualbudget_version.txt
|
||||||
|
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Starting ${APP}"
|
||||||
|
systemctl start actualbudget
|
||||||
|
msg_ok "Restarted ${APP}"
|
||||||
|
else
|
||||||
|
msg_info "${APP} is already up to date"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
msg_info "Old Installation Found, you need to migrate your data and recreate to a new container"
|
||||||
|
msg_info "Please follow the instructions on the ${APP} website to migrate your data"
|
||||||
|
msg_info "https://actualbudget.org/docs/backup-restore/backup"
|
||||||
|
exit 1
|
||||||
|
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}https://${IP}:5006${CL}"
|
@ -37,7 +37,7 @@ function update_script() {
|
|||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
mv /opt/adventurelog/ /opt/adventurelog-backup/
|
mv /opt/adventurelog/ /opt/adventurelog-backup/
|
||||||
curl -fsSL -o /opt/v${RELEASE}.zip "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
|
curl -fsSL -o /opt/v${RELEASE}.zip "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
|
||||||
unzip -q /opt/v${RELEASE}.zip -d /opt/
|
$STD unzip /opt/v${RELEASE}.zip -d /opt/
|
||||||
mv /opt/AdventureLog-${RELEASE} /opt/adventurelog
|
mv /opt/AdventureLog-${RELEASE} /opt/adventurelog
|
||||||
|
|
||||||
mv /opt/adventurelog-backup/backend/server/.env /opt/adventurelog/backend/server/.env
|
mv /opt/adventurelog-backup/backend/server/.env /opt/adventurelog/backend/server/.env
|
||||||
@ -78,4 +78,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
||||||
|
@ -20,21 +20,20 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
msg_info "Updating Alpine Packages"
|
msg_info "Updating Alpine Packages"
|
||||||
$STD apk update
|
$STD apk -U upgrade
|
||||||
$STD apk upgrade
|
msg_ok "Updated Alpine Packages"
|
||||||
msg_ok "Updated Alpine Packages"
|
|
||||||
|
|
||||||
msg_info "Updating AdGuard Home"
|
msg_info "Updating AdGuard Home"
|
||||||
$STD /opt/AdGuardHome/AdGuardHome --update
|
$STD /opt/AdGuardHome/AdGuardHome --update
|
||||||
msg_ok "Updated AdGuard Home"
|
msg_ok "Updated AdGuard Home"
|
||||||
|
|
||||||
msg_info "Restarting AdGuard Home"
|
msg_info "Restarting AdGuard Home"
|
||||||
$STD rc-service adguardhome restart
|
$STD rc-service adguardhome restart
|
||||||
msg_ok "Restarted AdGuard Home"
|
msg_ok "Restarted AdGuard Home"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
89
ct/alpine-bitmagnet.sh
Normal file
89
ct/alpine-bitmagnet.sh
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
#!/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://github.com/bitmagnet-io/bitmagnet
|
||||||
|
|
||||||
|
APP="Alpine-bitmagnet"
|
||||||
|
var_tags="${var_tags:-alpine;torrent}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-1024}"
|
||||||
|
var_disk="${var_disk:-3}"
|
||||||
|
var_os="${var_os:-alpine}"
|
||||||
|
var_version="${var_version:-3.21}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
|
||||||
|
if [[ ! -d /opt/bitmagnet ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
if [ "${RELEASE}" != "$(cat /opt/bitmagnet_version.txt)" ] || [ ! -f /opt/bitmagnet_version.txt ]; then
|
||||||
|
msg_info "Backing up database"
|
||||||
|
rm -f /tmp/backup.sql
|
||||||
|
$STD sudo -u postgres pg_dump \
|
||||||
|
--column-inserts \
|
||||||
|
--data-only \
|
||||||
|
--on-conflict-do-nothing \
|
||||||
|
--rows-per-insert=1000 \
|
||||||
|
--table=metadata_sources \
|
||||||
|
--table=content \
|
||||||
|
--table=content_attributes \
|
||||||
|
--table=content_collections \
|
||||||
|
--table=content_collections_content \
|
||||||
|
--table=torrent_sources \
|
||||||
|
--table=torrents \
|
||||||
|
--table=torrent_files \
|
||||||
|
--table=torrent_hints \
|
||||||
|
--table=torrent_contents \
|
||||||
|
--table=torrent_tags \
|
||||||
|
--table=torrents_torrent_sources \
|
||||||
|
--table=key_values \
|
||||||
|
bitmagnet \
|
||||||
|
>/tmp/backup.sql
|
||||||
|
mv /tmp/backup.sql /opt/
|
||||||
|
msg_ok "Database backed up"
|
||||||
|
|
||||||
|
msg_info "Updating ${APP} from $(cat /opt/bitmagnet_version.txt) to ${RELEASE}"
|
||||||
|
$STD apk -U upgrade
|
||||||
|
$STD service bitmagnet stop
|
||||||
|
[ -f /opt/bitmagnet/.env ] && cp /opt/bitmagnet/.env /opt/
|
||||||
|
[ -f /opt/bitmagnet/config.yml ] && cp /opt/bitmagnet/config.yml /opt/
|
||||||
|
rm -rf /opt/bitmagnet/*
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
curl -fsSL "https://github.com/bitmagnet-io/bitmagnet/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
||||||
|
tar zxf "$temp_file" --strip-components=1 -C /opt/bitmagnet
|
||||||
|
cd /opt/bitmagnet
|
||||||
|
VREL=v$RELEASE
|
||||||
|
$STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=$VREL"
|
||||||
|
chmod +x bitmagnet
|
||||||
|
[ -f "/opt/.env" ] && cp "/opt/.env" /opt/bitmagnet/
|
||||||
|
[ -f "/opt/config.yml" ] && cp "/opt/config.yml" /opt/bitmagnet/
|
||||||
|
rm -f "$temp_file"
|
||||||
|
echo "${RELEASE}" >/opt/bitmagnet_version.txt
|
||||||
|
$STD service bitmagnet start
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
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 IP:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3333${CL}"
|
@ -36,7 +36,7 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
case $CHOICE in
|
case $CHOICE in
|
||||||
1)
|
1)
|
||||||
apk update && apk upgrade
|
$STD apk -U upgrade
|
||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -47,4 +47,4 @@ start
|
|||||||
build_container
|
build_container
|
||||||
description
|
description
|
||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
|
62
ct/alpine-gatus.sh
Normal file
62
ct/alpine-gatus.sh
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/TwiN/gatus
|
||||||
|
|
||||||
|
APP="Alpine-gatus"
|
||||||
|
var_tags="${var_tags:-alpine;monitoring}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-256}"
|
||||||
|
var_disk="${var_disk:-3}"
|
||||||
|
var_os="${var_os:-alpine}"
|
||||||
|
var_version="${var_version:-3.21}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
|
||||||
|
if [[ ! -d /opt/gatus ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
if [ "${RELEASE}" != "$(cat /opt/gatus_version.txt)" ] || [ ! -f /opt/gatus_version.txt ]; then
|
||||||
|
msg_info "Updating ${APP} LXC"
|
||||||
|
$STD apk -U upgrade
|
||||||
|
$STD service gatus stop
|
||||||
|
mv /opt/gatus/config/config.yaml /opt
|
||||||
|
rm -rf /opt/gatus/*
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
curl -fsSL "https://github.com/TwiN/gatus/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
||||||
|
tar zxf "$temp_file" --strip-components=1 -C /opt/gatus
|
||||||
|
cd /opt/gatus
|
||||||
|
$STD go mod tidy
|
||||||
|
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus .
|
||||||
|
setcap CAP_NET_RAW+ep gatus
|
||||||
|
mv /opt/config.yaml config
|
||||||
|
rm -f "$temp_file"
|
||||||
|
echo "${RELEASE}" >/opt/gatus_version.txt
|
||||||
|
$STD service gatus start
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
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 IP:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"
|
@ -20,19 +20,18 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
msg_info "Updating Alpine Packages"
|
msg_info "Updating Alpine Packages"
|
||||||
apk update
|
$STD apk -U upgrade
|
||||||
apk upgrade
|
msg_ok "Updated Alpine Packages"
|
||||||
msg_ok "Updated Alpine Packages"
|
|
||||||
|
|
||||||
msg_info "Updating Gitea"
|
msg_info "Updating Gitea"
|
||||||
apk upgrade gitea
|
apk upgrade gitea
|
||||||
msg_ok "Updated Gitea"
|
msg_ok "Updated Gitea"
|
||||||
|
|
||||||
msg_info "Restarting Gitea"
|
msg_info "Restarting Gitea"
|
||||||
rc-service gitea restart
|
rc-service gitea restart
|
||||||
msg_ok "Restarted Gitea"
|
msg_ok "Restarted Gitea"
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
@ -42,4 +41,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
||||||
|
@ -39,7 +39,7 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
case $CHOICE in
|
case $CHOICE in
|
||||||
1)
|
1)
|
||||||
apk update && apk upgrade
|
$STD apk -U upgrade
|
||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
@ -62,4 +62,4 @@ description
|
|||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${APP} should be reachable by going to the following URL.
|
echo -e "${APP} should be reachable by going to the following URL.
|
||||||
${BL}http://${IP}:3000${CL} \n"
|
${BL}http://${IP}:3000${CL} \n"
|
||||||
|
@ -9,7 +9,7 @@ APP="Alpine-IT-Tools"
|
|||||||
var_tags="${var_tags:-alpine;development}"
|
var_tags="${var_tags:-alpine;development}"
|
||||||
var_cpu="${var_cpu:-1}"
|
var_cpu="${var_cpu:-1}"
|
||||||
var_ram="${var_ram:-256}"
|
var_ram="${var_ram:-256}"
|
||||||
var_disk="${var_disk:-0.2}"
|
var_disk="${var_disk:-0.5}"
|
||||||
var_os="${var_os:-alpine}"
|
var_os="${var_os:-alpine}"
|
||||||
var_version="${var_version:-3.21}"
|
var_version="${var_version:-3.21}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
@ -20,32 +20,32 @@ 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/nginx/html ]; then
|
if [ ! -d /usr/share/nginx/html ]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/CorentinTh/it-tools/releases/latest | grep '"tag_name":' | cut -d '"' -f4)
|
RELEASE=$(curl -fsSL https://api.github.com/repos/CorentinTh/it-tools/releases/latest | grep '"tag_name":' | cut -d '"' -f4)
|
||||||
if [ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ] || [ ! -f /opt/${APP}_version.txt ]; then
|
if [ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ] || [ ! -f /opt/${APP}_version.txt ]; then
|
||||||
DOWNLOAD_URL="https://github.com/CorentinTh/it-tools/releases/download/${RELEASE}/it-tools-${RELEASE#v}.zip"
|
DOWNLOAD_URL="https://github.com/CorentinTh/it-tools/releases/download/${RELEASE}/it-tools-${RELEASE#v}.zip"
|
||||||
msg_info "Updating ${APP} LXC"
|
msg_info "Updating ${APP} LXC"
|
||||||
curl -fsSL -o it-tools.zip "$DOWNLOAD_URL"
|
curl -fsSL -o it-tools.zip "$DOWNLOAD_URL"
|
||||||
mkdir -p /usr/share/nginx/html
|
mkdir -p /usr/share/nginx/html
|
||||||
rm -rf /usr/share/nginx/html/*
|
rm -rf /usr/share/nginx/html/*
|
||||||
unzip -q it-tools.zip -d /tmp/it-tools
|
$STD unzip it-tools.zip -d /tmp/it-tools
|
||||||
cp -r /tmp/it-tools/dist/* /usr/share/nginx/html
|
cp -r /tmp/it-tools/dist/* /usr/share/nginx/html
|
||||||
rm -rf /tmp/it-tools
|
rm -rf /tmp/it-tools
|
||||||
rm -f it-tools.zip
|
rm -f it-tools.zip
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
else
|
else
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
@ -55,4 +55,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following IP:${CL}"
|
echo -e "${INFO}${YW} Access it using the following IP:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
|
||||||
|
58
ct/alpine-komodo.sh
Normal file
58
ct/alpine-komodo.sh
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
#!/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: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://komo.do
|
||||||
|
|
||||||
|
APP="Alpine-Komodo"
|
||||||
|
var_tags="${var_tags:-docker,alpine}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-1024}"
|
||||||
|
var_disk="${var_disk:-10}"
|
||||||
|
var_os="${var_os:-alpine}"
|
||||||
|
var_version="${var_version:-3.21}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
[[ -d /opt/komodo ]] || {
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
msg_info "Updating ${APP}"
|
||||||
|
COMPOSE_FILE=$(find /opt/komodo -maxdepth 1 -type f -name '*.compose.yaml' ! -name 'compose.env' | head -n1)
|
||||||
|
if [[ -z "$COMPOSE_FILE" ]]; then
|
||||||
|
msg_error "No valid compose file found in /opt/komodo!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
COMPOSE_BASENAME=$(basename "$COMPOSE_FILE")
|
||||||
|
BACKUP_FILE="/opt/komodo/${COMPOSE_BASENAME}.bak_$(date +%Y%m%d_%H%M%S)"
|
||||||
|
cp "$COMPOSE_FILE" "$BACKUP_FILE" || {
|
||||||
|
msg_error "Failed to create backup of ${COMPOSE_BASENAME}!"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
GITHUB_URL="https://raw.githubusercontent.com/moghtech/komodo/main/compose/${COMPOSE_BASENAME}"
|
||||||
|
if ! curl -fsSL "$GITHUB_URL" -o "$COMPOSE_FILE"; then
|
||||||
|
msg_error "Failed to download ${COMPOSE_BASENAME} from GitHub!"
|
||||||
|
mv "$BACKUP_FILE" "$COMPOSE_FILE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
$STD docker compose -p komodo -f "$COMPOSE_FILE" --env-file /opt/komodo/compose.env up -d
|
||||||
|
msg_ok "Updated ${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}:9120${CL}"
|
@ -20,20 +20,19 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
msg_info "Updating Alpine Packages"
|
msg_info "Updating Alpine Packages"
|
||||||
$STD apk update
|
$STD apk -U upgrade
|
||||||
$STD apk upgrade
|
msg_ok "Updated Alpine Packages"
|
||||||
msg_ok "Updated Alpine Packages"
|
|
||||||
|
|
||||||
msg_info "Updating MariaDB"
|
msg_info "Updating MariaDB"
|
||||||
$STD apk upgrade mariadb mariadb-client
|
$STD apk upgrade mariadb mariadb-client
|
||||||
msg_ok "Updated MariaDB"
|
msg_ok "Updated MariaDB"
|
||||||
|
|
||||||
msg_info "Restarting MariaDB"
|
msg_info "Restarting MariaDB"
|
||||||
$STD rc-service mariadb restart
|
$STD rc-service mariadb restart
|
||||||
msg_ok "Restarted MariaDB"
|
msg_ok "Restarted MariaDB"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
@ -20,24 +20,19 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
msg_info "Updating Alpine Packages"
|
msg_info "Updating Alpine Packages"
|
||||||
$STD apk update
|
$STD apk -U upgrade
|
||||||
$STD apk upgrade
|
msg_ok "Updated Alpine Packages"
|
||||||
msg_ok "Updated Alpine Packages"
|
|
||||||
|
|
||||||
msg_info "Updating Node.js and npm"
|
msg_info "Updating Node.js and npm"
|
||||||
$STD apk upgrade nodejs npm
|
$STD apk upgrade nodejs npm
|
||||||
msg_ok "Updated Node.js and npm"
|
msg_ok "Updated Node.js and npm"
|
||||||
|
|
||||||
msg_info "Updating Node-RED"
|
msg_info "Updating Node-RED"
|
||||||
$STD npm install -g --unsafe-perm node-red
|
$STD npm install -g --unsafe-perm node-red
|
||||||
msg_ok "Updated Node-RED"
|
msg_ok "Updated Node-RED"
|
||||||
|
|
||||||
msg_info "Restarting Node-RED"
|
exit 0
|
||||||
$STD rc-service nodered restart
|
|
||||||
msg_ok "Restarted Node-RED"
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
@ -21,8 +21,7 @@ catch_errors
|
|||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
msg_info "Updating Alpine Packages"
|
msg_info "Updating Alpine Packages"
|
||||||
$STD apk update
|
$STD apk -U upgrade
|
||||||
$STD apk upgrade
|
|
||||||
msg_ok "Updated Alpine Packages"
|
msg_ok "Updated Alpine Packages"
|
||||||
|
|
||||||
msg_info "Updating PostgreSQL"
|
msg_info "Updating PostgreSQL"
|
||||||
|
@ -20,20 +20,19 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
msg_info "Updating Alpine Packages"
|
msg_info "Updating Alpine Packages"
|
||||||
$STD apk update
|
$STD apk -U upgrade
|
||||||
$STD apk upgrade
|
msg_ok "Updated Alpine Packages"
|
||||||
msg_ok "Updated Alpine Packages"
|
|
||||||
|
|
||||||
msg_info "Updating Prometheus"
|
msg_info "Updating Prometheus"
|
||||||
$STD apk upgrade prometheus
|
$STD apk upgrade prometheus
|
||||||
msg_ok "Updated Prometheus"
|
msg_ok "Updated Prometheus"
|
||||||
|
|
||||||
msg_info "Restarting Prometheus"
|
msg_info "Restarting Prometheus"
|
||||||
$STD rc-service prometheus restart
|
$STD rc-service prometheus restart
|
||||||
msg_ok "Restarted Prometheus"
|
msg_ok "Restarted Prometheus"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
55
ct/alpine-rclone.sh
Normal file
55
ct/alpine-rclone.sh
Normal 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: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/rclone/rclone
|
||||||
|
|
||||||
|
APP="Alpine-rclone"
|
||||||
|
var_tags="${var_tags:-alpine;backup}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-256}"
|
||||||
|
var_disk="${var_disk:-1}"
|
||||||
|
var_os="${var_os:-alpine}"
|
||||||
|
var_version="${var_version:-3.21}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
var_fuse="${var_fuse:-yes}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [ ! -d /opt/rclone ]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -s https://api.github.com/repos/rclone/rclone/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
if [ "${RELEASE}" != "$(cat /opt/rclone_version.txt)" ] || [ ! -f /opt/rclone_version.txt ]; then
|
||||||
|
msg_info "Updating ${APP} LXC"
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
curl -fsSL "https://github.com/rclone/rclone/releases/download/v${RELEASE}/rclone-v${RELEASE}-linux-amd64.zip" -o "$temp_file"
|
||||||
|
$STD unzip -o "$temp_file" '*/**' -d /opt/rclone
|
||||||
|
rm -f "$temp_file"
|
||||||
|
echo "${RELEASE}" >/opt/rclone_version.txt
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
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 IP:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
58
ct/alpine-tinyauth.sh
Normal file
58
ct/alpine-tinyauth.sh
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: Slaviša Arežina (tremor021) | Co-Author: Stavros (steveiliop56)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/steveiliop56/tinyauth
|
||||||
|
|
||||||
|
APP="Alpine-Tinyauth"
|
||||||
|
var_tags="${var_tags:-alpine;auth}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-256}"
|
||||||
|
var_disk="${var_disk:-2}"
|
||||||
|
var_os="${var_os:-alpine}"
|
||||||
|
var_version="${var_version:-3.21}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
if [[ ! -d /opt/tinyauth ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg_info "Updating packages"
|
||||||
|
$STD apk -U upgrade
|
||||||
|
msg_ok "Updated packages"
|
||||||
|
|
||||||
|
msg_info "Updating Tinyauth"
|
||||||
|
RELEASE=$(curl -s https://api.github.com/repos/steveiliop56/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
|
||||||
|
if [ "${RELEASE}" != "$(cat /opt/tinyauth_version.txt)" ] || [ ! -f /opt/tinyauth_version.txt ]; then
|
||||||
|
$STD service tinyauth stop
|
||||||
|
rm -f /opt/tinyauth/tinyauth
|
||||||
|
curl -fsSL "https://github.com/steveiliop56/tinyauth/releases/download/v${RELEASE}/tinyauth-amd64" -o /opt/tinyauth/tinyauth
|
||||||
|
chmod +x /opt/tinyauth/tinyauth
|
||||||
|
echo "${RELEASE}" > /opt/tinyauth_version.txt
|
||||||
|
msg_info "Restarting Tinyauth"
|
||||||
|
$STD service tinyauth start
|
||||||
|
msg_ok "Restarted Tinyauth"
|
||||||
|
msg_ok "Updated Tinyauth"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
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}"
|
41
ct/alpine-traefik.sh
Normal file
41
ct/alpine-traefik.sh
Normal 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: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://alpinelinux.org/
|
||||||
|
|
||||||
|
APP="Alpine-Traefik"
|
||||||
|
var_tags="${var_tags:-os;alpine}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-512}"
|
||||||
|
var_disk="${var_disk:-1}"
|
||||||
|
var_os="${var_os:-alpine}"
|
||||||
|
var_version="${var_version:-3.21}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
msg_info "Updating Alpine Packages"
|
||||||
|
$STD apk -U upgrade
|
||||||
|
msg_ok "Updated Alpine Packages"
|
||||||
|
|
||||||
|
msg_info "Upgrading traefik from edge"
|
||||||
|
$STD apk add traefik --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community
|
||||||
|
msg_ok "Upgraded traefik"
|
||||||
|
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} WebUI Access (if configured) - using the following URL:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/dashboard${CL}"
|
45
ct/alpine-transmission.sh
Normal file
45
ct/alpine-transmission.sh
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://transmissionbt.com/
|
||||||
|
|
||||||
|
APP="Alpine-Transmission"
|
||||||
|
var_tags="${var_tags:-alpine;torrent}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-256}"
|
||||||
|
var_disk="${var_disk:-1}"
|
||||||
|
var_os="${var_os:-alpine}"
|
||||||
|
var_version="${var_version:-3.21}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
msg_info "Updating Alpine Packages"
|
||||||
|
$STD apk -U upgrade
|
||||||
|
msg_ok "Updated Alpine Packages"
|
||||||
|
|
||||||
|
msg_info "Updating Transmission"
|
||||||
|
$STD apk upgrade transmission-daemon
|
||||||
|
msg_ok "Updated Transmission"
|
||||||
|
|
||||||
|
msg_info "Restarting Transmission"
|
||||||
|
$STD rc-service transmission-daemon restart
|
||||||
|
msg_ok "Restarted Transmission"
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
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}:9091${CL}"
|
@ -9,7 +9,7 @@ APP="Alpine-Vaultwarden"
|
|||||||
var_tags="${var_tags:-alpine;vault}"
|
var_tags="${var_tags:-alpine;vault}"
|
||||||
var_cpu="${var_cpu:-1}"
|
var_cpu="${var_cpu:-1}"
|
||||||
var_ram="${var_ram:-256}"
|
var_ram="${var_ram:-256}"
|
||||||
var_disk="${var_disk:-0.5}"
|
var_disk="${var_disk:-1}"
|
||||||
var_os="${var_os:-alpine}"
|
var_os="${var_os:-alpine}"
|
||||||
var_version="${var_version:-3.21}"
|
var_version="${var_version:-3.21}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
@ -37,14 +37,15 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
case $CHOICE in
|
case $CHOICE in
|
||||||
1)
|
1)
|
||||||
apk update && apk upgrade && rc-service vaultwarden restart -q
|
$STD apk -U upgrade
|
||||||
|
rc-service vaultwarden restart -q
|
||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
if NEWTOKEN=$(whiptail --backtitle "Proxmox VE Helper Scripts" --passwordbox "Setup your ADMIN_TOKEN (make it strong)" 10 58 3>&1 1>&2 2>&3); then
|
if NEWTOKEN=$(whiptail --backtitle "Proxmox VE Helper Scripts" --passwordbox "Setup your ADMIN_TOKEN (make it strong)" 10 58 3>&1 1>&2 2>&3); then
|
||||||
if [[ -z "$NEWTOKEN" ]]; then exit-script; fi
|
if [[ -z "$NEWTOKEN" ]]; then exit-script; fi
|
||||||
if ! command -v argon2 >/dev/null 2>&1; then apk add argon2 &>/dev/null; fi
|
if ! command -v argon2 >/dev/null 2>&1; then apk add argon2 &>/dev/null; fi
|
||||||
TOKEN=$(echo -n ${NEWTOKEN} | argon2 "$(openssl rand -base64 32)" -e -id -k 19456 -t 2 -p 1)
|
TOKEN=$(echo -n "${NEWTOKEN}" | argon2 "$(openssl rand -base64 32)" -e -id -k 19456 -t 2 -p 1)
|
||||||
if [[ ! -f /var/lib/vaultwarden/config.json ]]; then
|
if [[ ! -f /var/lib/vaultwarden/config.json ]]; then
|
||||||
sed -i "s|export ADMIN_TOKEN=.*|export ADMIN_TOKEN='${TOKEN}'|" /etc/conf.d/vaultwarden
|
sed -i "s|export ADMIN_TOKEN=.*|export ADMIN_TOKEN='${TOKEN}'|" /etc/conf.d/vaultwarden
|
||||||
else
|
else
|
||||||
@ -65,4 +66,4 @@ description
|
|||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${APP} should be reachable by going to the following URL.
|
echo -e "${APP} should be reachable by going to the following URL.
|
||||||
${BL}http://${IP}:8000${CL} \n"
|
${BL}https://${IP}:8000${CL} \n"
|
||||||
|
@ -21,8 +21,7 @@ catch_errors
|
|||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
msg_info "Updating Alpine Packages"
|
msg_info "Updating Alpine Packages"
|
||||||
$STD apk update
|
$STD apk -U upgrade
|
||||||
$STD apk upgrade
|
|
||||||
msg_ok "Updated Alpine Packages"
|
msg_ok "Updated Alpine Packages"
|
||||||
|
|
||||||
msg_info "update wireguard-tools"
|
msg_info "update wireguard-tools"
|
||||||
|
@ -36,7 +36,7 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
case $CHOICE in
|
case $CHOICE in
|
||||||
1)
|
1)
|
||||||
apk update && apk upgrade
|
$STD apk -U upgrade
|
||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -47,4 +47,4 @@ start
|
|||||||
build_container
|
build_container
|
||||||
description
|
description
|
||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
|
14
ct/alpine.sh
14
ct/alpine.sh
@ -9,7 +9,7 @@ APP="Alpine"
|
|||||||
var_tags="${var_tags:-os;alpine}"
|
var_tags="${var_tags:-os;alpine}"
|
||||||
var_cpu="${var_cpu:-1}"
|
var_cpu="${var_cpu:-1}"
|
||||||
var_ram="${var_ram:-512}"
|
var_ram="${var_ram:-512}"
|
||||||
var_disk="${var_disk:-0.1}"
|
var_disk="${var_disk:-0.5}"
|
||||||
var_os="${var_os:-alpine}"
|
var_os="${var_os:-alpine}"
|
||||||
var_version="${var_version:-3.21}"
|
var_version="${var_version:-3.21}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
@ -20,13 +20,15 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \
|
UPD=$(
|
||||||
"1" "Check for Alpine Updates" ON \
|
whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \
|
||||||
3>&1 1>&2 2>&3)
|
"1" "Check for Alpine Updates" ON \
|
||||||
|
3>&1 1>&2 2>&3
|
||||||
|
)
|
||||||
|
|
||||||
header_info
|
header_info
|
||||||
if [ "$UPD" == "1" ]; then
|
if [ "$UPD" == "1" ]; then
|
||||||
apk update && apk upgrade
|
$STD apk -U upgrade
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -35,4 +37,4 @@ start
|
|||||||
build_container
|
build_container
|
||||||
description
|
description
|
||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
|
53
ct/argus.sh
Normal file
53
ct/argus.sh
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
#!/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: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://release-argus.io/
|
||||||
|
|
||||||
|
APP="Argus"
|
||||||
|
var_tags="${var_tags:-watcher}"
|
||||||
|
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/argus ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/release-argus/Argus/releases/latest | jq -r .tag_name | sed 's/^v//')
|
||||||
|
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||||
|
msg_info "Updating $APP to ${RELEASE}"
|
||||||
|
rm -f /opt/argus/Argus
|
||||||
|
curl -fsSL "https://github.com/release-argus/Argus/releases/download/${RELEASE}/Argus-${RELEASE}.linux-amd64" -o /opt/argus/Argus
|
||||||
|
chmod +x /opt/argus/Argus
|
||||||
|
systemctl restart argus
|
||||||
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||||
|
else
|
||||||
|
msg_ok "${APP} is already up to date (${RELEASE})"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
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}"
|
@ -1,15 +1,15 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: tteck (tteckster)
|
# Author: michelroegl-brunner
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://umbrel.com/
|
# Source: https://asterisk.org/
|
||||||
|
|
||||||
APP="Umbrel"
|
APP="Asterisk"
|
||||||
var_tags="${var_tags:-os}"
|
var_tags="${var_tags:-telephone;pbx}"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-2048}"
|
||||||
var_disk="${var_disk:-8}"
|
var_disk="${var_disk:-4}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-12}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
@ -23,10 +23,7 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
msg_info "Updating ${APP} LXC"
|
msg_error "No Update function provided for ${APP} LXC"
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get -y upgrade
|
|
||||||
msg_ok "Updated ${APP} LXC"
|
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -35,6 +32,4 @@ build_container
|
|||||||
description
|
description
|
||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized! (manual reboot is required!)${CL}"
|
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}"
|
|
@ -1,87 +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: remz1337
|
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
# Source: https://goauthentik.io/
|
|
||||||
|
|
||||||
APP="Authentik"
|
|
||||||
var_tags="${var_tags:-identity-provider}"
|
|
||||||
var_disk="${var_disk:-12}"
|
|
||||||
var_cpu="${var_cpu:-6}"
|
|
||||||
var_ram="${var_ram:-8192}"
|
|
||||||
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 [[ ! -f /etc/systemd/system/authentik-server.service ]]; then
|
|
||||||
msg_error "No ${APP} Installation Found!"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/goauthentik/authentik/releases/latest | grep "tarball_url" | awk '{print substr($2, 2, length($2)-3)}')
|
|
||||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
|
||||||
msg_info "Stopping ${APP}"
|
|
||||||
systemctl stop authentik-server
|
|
||||||
systemctl stop authentik-worker
|
|
||||||
msg_ok "Stopped ${APP}"
|
|
||||||
|
|
||||||
msg_info "Building ${APP} website"
|
|
||||||
mkdir -p /opt/authentik
|
|
||||||
curl -fsSL "${RELEASE}" -o "authentik.tar.gz"
|
|
||||||
tar -xzf authentik.tar.gz -C /opt/authentik --strip-components 1 --overwrite
|
|
||||||
rm -rf authentik.tar.gz
|
|
||||||
cd /opt/authentik/website
|
|
||||||
$STD npm install
|
|
||||||
$STD npm run build-bundled
|
|
||||||
cd /opt/authentik/web
|
|
||||||
$STD npm install
|
|
||||||
$STD npm run build
|
|
||||||
msg_ok "Built ${APP} website"
|
|
||||||
|
|
||||||
msg_info "Building ${APP} server"
|
|
||||||
cd /opt/authentik
|
|
||||||
go mod download
|
|
||||||
go build -o /go/authentik ./cmd/server
|
|
||||||
go build -o /opt/authentik/authentik-server /opt/authentik/cmd/server/
|
|
||||||
msg_ok "Built ${APP} server"
|
|
||||||
|
|
||||||
msg_info "Installing Python Dependencies"
|
|
||||||
cd /opt/authentik
|
|
||||||
$STD poetry install --only=main --no-ansi --no-interaction --no-root
|
|
||||||
$STD poetry export --without-hashes --without-urls -f requirements.txt --output requirements.txt
|
|
||||||
$STD pip install --no-cache-dir -r requirements.txt
|
|
||||||
$STD pip install .
|
|
||||||
msg_ok "Installed Python Dependencies"
|
|
||||||
|
|
||||||
msg_info "Updating ${APP} to v${RELEASE} (Patience)"
|
|
||||||
cp -r /opt/authentik/authentik/blueprints /opt/authentik/blueprints
|
|
||||||
$STD bash /opt/authentik/lifecycle/ak migrate
|
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
|
||||||
|
|
||||||
msg_info "Starting ${APP}"
|
|
||||||
systemctl start authentik-server
|
|
||||||
systemctl start authentik-worker
|
|
||||||
msg_ok "Started ${APP}"
|
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
|
||||||
fi
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
start
|
|
||||||
build_container
|
|
||||||
description
|
|
||||||
|
|
||||||
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}:9000/if/flow/initial-setup/${CL}"
|
|
86
ct/babybuddy.sh
Normal file
86
ct/babybuddy.sh
Normal 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: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/babybuddy/babybuddy
|
||||||
|
|
||||||
|
APP="Baby Buddy"
|
||||||
|
var_tags="${var_tags:-baby}"
|
||||||
|
var_disk="${var_disk:-5}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
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/babybuddy ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/babybuddy/babybuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/babybuddy_version.txt)" ]]; then
|
||||||
|
setup_uv
|
||||||
|
|
||||||
|
msg_info "Stopping Services"
|
||||||
|
systemctl stop nginx
|
||||||
|
systemctl stop uwsgi
|
||||||
|
msg_ok "Services Stopped"
|
||||||
|
|
||||||
|
msg_info "Cleaning old files"
|
||||||
|
cp babybuddy/settings/production.py /tmp/production.py.bak
|
||||||
|
find . -mindepth 1 -maxdepth 1 ! -name '.venv' -exec rm -rf {} +
|
||||||
|
msg_ok "Cleaned old files"
|
||||||
|
|
||||||
|
msg_info "Updating ${APP} to v${RELEASE}"
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
curl -fsSL "https://github.com/babybuddy/babybuddy/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
||||||
|
cd /opt/babybuddy
|
||||||
|
tar zxf "$temp_file" --strip-components=1 -C /opt/babybuddy
|
||||||
|
mv /tmp/production.py.bak babybuddy/settings/production.py
|
||||||
|
cd /opt/babybuddy
|
||||||
|
source .venv/bin/activate
|
||||||
|
$STD uv pip install -r requirements.txt
|
||||||
|
$STD python manage.py migrate
|
||||||
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
msg_ok "Updated ${APP} to v${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Fixing permissions"
|
||||||
|
chown -R www-data:www-data /opt/data
|
||||||
|
chmod 640 /opt/data/db.sqlite3
|
||||||
|
chmod 750 /opt/data
|
||||||
|
msg_ok "Permissions fixed"
|
||||||
|
|
||||||
|
msg_info "Starting Services"
|
||||||
|
systemctl start uwsgi
|
||||||
|
systemctl start nginx
|
||||||
|
msg_ok "Services Started"
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f "$temp_file"
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||||
|
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}"
|
66
ct/backrest.sh
Normal file
66
ct/backrest.sh
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#!/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: ksad (enirys31)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://garethgeorge.github.io/backrest/
|
||||||
|
|
||||||
|
APP="Backrest"
|
||||||
|
var_tags="${var_tags:-backup}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-512}"
|
||||||
|
var_disk="${var_disk:-8}"
|
||||||
|
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/backrest ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/garethgeorge/backrest/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||||
|
msg_info "Stopping ${APP}"
|
||||||
|
systemctl stop backrest
|
||||||
|
msg_ok "Stopped ${APP}"
|
||||||
|
|
||||||
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
rm -f /opt/backrest/bin/backrest
|
||||||
|
curl -fsSL "https://github.com/garethgeorge/backrest/releases/download/v${RELEASE}/backrest_Linux_x86_64.tar.gz" -o "$temp_file"
|
||||||
|
tar xzf $temp_file -C /opt/backrest/bin
|
||||||
|
chmod +x /opt/backrest/bin/backrest
|
||||||
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Starting ${APP}"
|
||||||
|
systemctl start backrest
|
||||||
|
msg_ok "Started ${APP}"
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f "$temp_file"
|
||||||
|
msg_ok "Cleaned up"
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
|
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}:9898${CL}"
|
@ -37,7 +37,7 @@ function update_script() {
|
|||||||
cd /opt
|
cd /opt
|
||||||
curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -o $(basename "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip")
|
curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -o $(basename "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip")
|
||||||
mv /opt/baikal /opt/baikal-backup
|
mv /opt/baikal /opt/baikal-backup
|
||||||
unzip -o -q "baikal-${RELEASE}.zip"
|
$STD unzip -o "baikal-${RELEASE}.zip"
|
||||||
cp -r /opt/baikal-backup/config/baikal.yaml /opt/baikal/config/
|
cp -r /opt/baikal-backup/config/baikal.yaml /opt/baikal/config/
|
||||||
cp -r /opt/baikal-backup/Specific/ /opt/baikal/
|
cp -r /opt/baikal-backup/Specific/ /opt/baikal/
|
||||||
chown -R www-data:www-data /opt/baikal/
|
chown -R www-data:www-data /opt/baikal/
|
||||||
|
@ -38,7 +38,7 @@ function update_script() {
|
|||||||
cd /opt
|
cd /opt
|
||||||
mv /opt/barcodebuddy/ /opt/barcodebuddy-backup
|
mv /opt/barcodebuddy/ /opt/barcodebuddy-backup
|
||||||
curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip")
|
curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip")
|
||||||
unzip -q "v${RELEASE}.zip"
|
$STD unzip "v${RELEASE}.zip"
|
||||||
mv "/opt/barcodebuddy-${RELEASE}" /opt/barcodebuddy
|
mv "/opt/barcodebuddy-${RELEASE}" /opt/barcodebuddy
|
||||||
cp -r /opt/barcodebuddy-backup/data/. /opt/barcodebuddy/data
|
cp -r /opt/barcodebuddy-backup/data/. /opt/barcodebuddy/data
|
||||||
chown -R www-data:www-data /opt/barcodebuddy/data
|
chown -R www-data:www-data /opt/barcodebuddy/data
|
||||||
|
98
ct/bitmagnet.sh
Normal file
98
ct/bitmagnet.sh
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
#!/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://github.com/bitmagnet/bitmagnet
|
||||||
|
|
||||||
|
APP="Bitmagnet"
|
||||||
|
var_tags="${var_tags:-os}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-1024}"
|
||||||
|
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/bitmagnet ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
|
systemctl stop bitmagnet-web
|
||||||
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
msg_info "Backing up database"
|
||||||
|
rm -f /tmp/backup.sql
|
||||||
|
$STD sudo -u postgres pg_dump \
|
||||||
|
--column-inserts \
|
||||||
|
--data-only \
|
||||||
|
--on-conflict-do-nothing \
|
||||||
|
--rows-per-insert=1000 \
|
||||||
|
--table=metadata_sources \
|
||||||
|
--table=content \
|
||||||
|
--table=content_attributes \
|
||||||
|
--table=content_collections \
|
||||||
|
--table=content_collections_content \
|
||||||
|
--table=torrent_sources \
|
||||||
|
--table=torrents \
|
||||||
|
--table=torrent_files \
|
||||||
|
--table=torrent_hints \
|
||||||
|
--table=torrent_contents \
|
||||||
|
--table=torrent_tags \
|
||||||
|
--table=torrents_torrent_sources \
|
||||||
|
--table=key_values \
|
||||||
|
bitmagnet \
|
||||||
|
>/tmp/backup.sql
|
||||||
|
mv /tmp/backup.sql /opt/
|
||||||
|
msg_ok "Database backed up"
|
||||||
|
|
||||||
|
msg_info "Updating ${APP} to v${RELEASE}"
|
||||||
|
[ -f /opt/bitmagnet/.env ] && cp /opt/bitmagnet/.env /opt/
|
||||||
|
[ -f /opt/bitmagnet/config.yml ] && cp /opt/bitmagnet/config.yml /opt/
|
||||||
|
rm -rf /opt/bitmagnet/*
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
curl -fsSL "https://github.com/bitmagnet-io/bitmagnet/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
||||||
|
tar zxf "$temp_file" --strip-components=1 -C /opt/bitmagnet
|
||||||
|
cd /opt/bitmagnet
|
||||||
|
VREL=v$RELEASE
|
||||||
|
$STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=$VREL"
|
||||||
|
chmod +x bitmagnet
|
||||||
|
[ -f "/opt/.env" ] && cp "/opt/.env" /opt/bitmagnet/
|
||||||
|
[ -f "/opt/config.yml" ] && cp "/opt/config.yml" /opt/bitmagnet/
|
||||||
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
msg_ok "Updated $APP to v${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl start bitmagnet-web
|
||||||
|
msg_ok "Started Service"
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f "$temp_file"
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||||
|
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}:3333${CL}"
|
@ -1,71 +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: Slaviša Arežina (tremor021)
|
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
# Source: https://github.com/stackblitz-labs/bolt.diy/
|
|
||||||
|
|
||||||
APP="boltdiy"
|
|
||||||
TAGS="code;ai"
|
|
||||||
var_cpu="${var_cpu:-2}"
|
|
||||||
var_ram="${var_ram:-3072}"
|
|
||||||
var_disk="${var_disk:-6}"
|
|
||||||
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/bolt.diy ]]; then
|
|
||||||
msg_error "No ${APP} Installation Found!"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/stackblitz-labs/bolt.diy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
|
||||||
if [[ "${RELEASE}" != "$(cat /opt/boltdiy_version.txt)" ]] || [[ ! -f /opt/boltdiy_version.txt ]]; then
|
|
||||||
msg_info "Stopping $APP"
|
|
||||||
systemctl stop boltdiy
|
|
||||||
msg_ok "Stopped $APP"
|
|
||||||
|
|
||||||
msg_info "Updating $APP to v${RELEASE}"
|
|
||||||
temp_dir=$(mktemp -d)
|
|
||||||
temp_file=$(mktemp)
|
|
||||||
cd $temp_dir
|
|
||||||
curl -fsSL "https://github.com/stackblitz-labs/bolt.diy/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
|
||||||
tar xzf $temp_file
|
|
||||||
cp -rf bolt.diy-${RELEASE}/* /opt/bolt.diy
|
|
||||||
cd /opt/bolt.diy
|
|
||||||
$STD pnpm install
|
|
||||||
msg_ok "Updated $APP to v${RELEASE}"
|
|
||||||
|
|
||||||
msg_info "Starting $APP"
|
|
||||||
systemctl start boltdiy
|
|
||||||
msg_ok "Started $APP"
|
|
||||||
|
|
||||||
msg_info "Cleaning Up"
|
|
||||||
rm -rf $temp_file
|
|
||||||
rm -rf $temp_dir
|
|
||||||
msg_ok "Cleanup Completed"
|
|
||||||
|
|
||||||
echo "${RELEASE}" >/opt/boltdiy_version.txt
|
|
||||||
msg_ok "Update Successful"
|
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
|
||||||
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}:5173${CL}"
|
|
@ -36,12 +36,12 @@ function update_script() {
|
|||||||
msg_info "Updating ${APP} to v${RELEASE}"
|
msg_info "Updating ${APP} to v${RELEASE}"
|
||||||
mv /opt/bookstack /opt/bookstack-backup
|
mv /opt/bookstack /opt/bookstack-backup
|
||||||
curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o "/opt/BookStack-${RELEASE}.zip"
|
curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o "/opt/BookStack-${RELEASE}.zip"
|
||||||
unzip -q "/opt/BookStack-${RELEASE}.zip" -d /opt
|
$STD unzip "/opt/BookStack-${RELEASE}.zip" -d /opt
|
||||||
mv "/opt/BookStack-${RELEASE}" /opt/bookstack
|
mv "/opt/BookStack-${RELEASE}" /opt/bookstack
|
||||||
cp /opt/bookstack-backup/.env /opt/bookstack/.env
|
cp /opt/bookstack-backup/.env /opt/bookstack/.env
|
||||||
cp -r /opt/bookstack-backup/public/uploads/* /opt/bookstack/public/uploads/ || true
|
[[ -d /opt/bookstack-backup/public/uploads ]] && cp -a /opt/bookstack-backup/public/uploads/. /opt/bookstack/public/uploads/
|
||||||
cp -r /opt/bookstack-backup/storage/uploads/* /opt/bookstack/storage/uploads/ || true
|
[[ -d /opt/bookstack-backup/storage/uploads ]] && cp -a /opt/bookstack-backup/storage/uploads/. /opt/bookstack/storage/uploads/
|
||||||
cp -r /opt/bookstack-backup/themes/* /opt/bookstack/themes/ || true
|
[[ -d /opt/bookstack-backup/themes ]] && cp -a /opt/bookstack-backup/themes/. /opt/bookstack/themes/
|
||||||
cd /opt/bookstack
|
cd /opt/bookstack
|
||||||
export COMPOSER_ALLOW_SUPERUSER=1
|
export COMPOSER_ALLOW_SUPERUSER=1
|
||||||
$STD composer install --no-dev
|
$STD composer install --no-dev
|
||||||
|
@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
|||||||
APP="BunkerWeb"
|
APP="BunkerWeb"
|
||||||
var_tags="${var_tags:-webserver}"
|
var_tags="${var_tags:-webserver}"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-4096}"
|
var_ram="${var_ram:-8192}"
|
||||||
var_disk="${var_disk:-4}"
|
var_disk="${var_disk:-4}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-12}"
|
||||||
@ -55,4 +55,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/setup${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/setup${CL}"
|
||||||
|
37
ct/cloudflare-ddns.sh
Normal file
37
ct/cloudflare-ddns.sh
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
#!/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: edoardop13
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/favonia/cloudflare-ddns
|
||||||
|
|
||||||
|
APP="Cloudflare-DDNS"
|
||||||
|
var_tags="${var_tags:-network}"
|
||||||
|
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 [[ ! -f /etc/systemd/system/cloudflare-ddns.service ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
msg_error "There is no update function for ${APP}."
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
msg_ok "Completed Successfully!\n"
|
@ -42,7 +42,7 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -o $(basename "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip")
|
curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -o $(basename "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip")
|
||||||
unzip -q commafeed-"${RELEASE}"-h2-jvm.zip
|
$STD unzip commafeed-"${RELEASE}"-h2-jvm.zip
|
||||||
rsync -a --exclude 'data/' commafeed-"${RELEASE}"-h2/ /opt/commafeed/
|
rsync -a --exclude 'data/' commafeed-"${RELEASE}"-h2/ /opt/commafeed/
|
||||||
rm -rf commafeed-"${RELEASE}"-h2 commafeed-"${RELEASE}"-h2-jvm.zip
|
rm -rf commafeed-"${RELEASE}"-h2 commafeed-"${RELEASE}"-h2-jvm.zip
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
66
ct/configarr.sh
Normal file
66
ct/configarr.sh
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#!/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: finkerle
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/raydak-labs/configarr
|
||||||
|
|
||||||
|
APP="Configarr"
|
||||||
|
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/configarr ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/raydak-labs/configarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
if [[ "${RELEASE}" != "$(cat /opt/configarr_version.txt)" ]] || [[ ! -f /opt/configarr_version.txt ]]; then
|
||||||
|
msg_info "Stopping $APP"
|
||||||
|
systemctl stop configarr-task.timer
|
||||||
|
msg_ok "Stopped $APP"
|
||||||
|
|
||||||
|
msg_info "Updating $APP to v${RELEASE}"
|
||||||
|
mkdir -p /opt/backup/
|
||||||
|
mv /opt/configarr/{config.yml,secrets.yml,.env} "/opt/backup/"
|
||||||
|
rm -rf /opt/configarr
|
||||||
|
fetch_and_deploy_gh_release "raydak-labs/configarr"
|
||||||
|
mv /opt/backup/* /opt/configarr/
|
||||||
|
cd /opt/configarr
|
||||||
|
$STD pnpm install
|
||||||
|
$STD pnpm run build
|
||||||
|
msg_ok "Updated $APP to v${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Starting $APP"
|
||||||
|
systemctl start configarr-task.timer
|
||||||
|
msg_ok "Started configarr"
|
||||||
|
|
||||||
|
rm -rf /opt/backup
|
||||||
|
msg_ok "Update Successful"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||||
|
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 (no web-ui):${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8989${CL}"
|
@ -46,7 +46,7 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Updating Crafty-Controller to v${RELEASE}"
|
msg_info "Updating Crafty-Controller to v${RELEASE}"
|
||||||
curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o $(basename "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip")
|
curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o $(basename "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip")
|
||||||
unzip -q crafty-4-v${RELEASE}.zip
|
$STD unzip crafty-4-v${RELEASE}.zip
|
||||||
cp -a crafty-4-v${RELEASE}/. /opt/crafty-controller/crafty/crafty-4/
|
cp -a crafty-4-v${RELEASE}/. /opt/crafty-controller/crafty/crafty-4/
|
||||||
rm -rf crafty-4-v${RELEASE}
|
rm -rf crafty-4-v${RELEASE}
|
||||||
cd /opt/crafty-controller/crafty/crafty-4
|
cd /opt/crafty-controller/crafty/crafty-4
|
||||||
|
@ -20,46 +20,51 @@ 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/documenso ]]; then
|
if [[ ! -d /opt/documenso ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
|
||||||
fi
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/documenso/documenso/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
|
||||||
msg_info "Stopping ${APP}"
|
|
||||||
systemctl stop documenso
|
|
||||||
msg_ok "${APP} Stopped"
|
|
||||||
|
|
||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
|
||||||
cp /opt/documenso/.env /opt/
|
|
||||||
rm -rf /opt/documenso
|
|
||||||
cd /opt
|
|
||||||
curl -fsSL "https://github.com/documenso/documenso/archive/refs/tags/v${RELEASE}.zip" -o v${RELEASE}.zip
|
|
||||||
unzip -q v${RELEASE}.zip
|
|
||||||
mv documenso-${RELEASE} /opt/documenso
|
|
||||||
cd /opt/documenso
|
|
||||||
mv /opt/.env /opt/documenso/.env
|
|
||||||
$STD npm install
|
|
||||||
$STD npm run build:web
|
|
||||||
$STD npm run prisma:migrate-deploy
|
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
msg_ok "Updated ${APP}"
|
|
||||||
|
|
||||||
msg_info "Starting ${APP}"
|
|
||||||
systemctl start documenso
|
|
||||||
msg_ok "Started ${APP}"
|
|
||||||
|
|
||||||
msg_info "Cleaning Up"
|
|
||||||
rm -rf /opt/v${RELEASE}.zip
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
msg_ok "Updated Successfully"
|
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
|
||||||
fi
|
|
||||||
exit
|
exit
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/documenso/documenso/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||||
|
msg_info "Stopping ${APP}"
|
||||||
|
systemctl stop documenso
|
||||||
|
msg_ok "${APP} Stopped"
|
||||||
|
|
||||||
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
|
cp /opt/documenso/.env /opt/
|
||||||
|
rm -rf /opt/documenso
|
||||||
|
cd /opt
|
||||||
|
curl -fsSL "https://github.com/documenso/documenso/archive/refs/tags/v${RELEASE}.zip" -o v${RELEASE}.zip
|
||||||
|
$STD unzip v${RELEASE}.zip
|
||||||
|
mv documenso-${RELEASE} /opt/documenso
|
||||||
|
cd /opt/documenso
|
||||||
|
mv /opt/.env /opt/documenso/.env
|
||||||
|
export TURBO_CACHE=1
|
||||||
|
export NEXT_TELEMETRY_DISABLED=1
|
||||||
|
export CYPRESS_INSTALL_BINARY=0
|
||||||
|
export NODE_OPTIONS="--max-old-space-size=4096"
|
||||||
|
$STD npm ci
|
||||||
|
$STD turbo run build --filter=@documenso/remix
|
||||||
|
$STD npm run prisma:migrate-deploy
|
||||||
|
$STD turbo daemon stop
|
||||||
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
msg_ok "Updated ${APP}"
|
||||||
|
|
||||||
|
msg_info "Starting ${APP}"
|
||||||
|
systemctl start documenso
|
||||||
|
msg_ok "Started ${APP}"
|
||||||
|
|
||||||
|
msg_info "Cleaning Up"
|
||||||
|
rm -rf /opt/v${RELEASE}.zip
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
@ -9,7 +9,7 @@ APP="Excalidraw"
|
|||||||
TAGS="diagrams"
|
TAGS="diagrams"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-3072}"
|
var_ram="${var_ram:-3072}"
|
||||||
var_disk="${var_disk:-6}"
|
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}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
@ -20,46 +20,46 @@ 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/excalidraw ]]; then
|
if [[ ! -d /opt/excalidraw ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/excalidraw/excalidraw/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
|
||||||
if [[ "${RELEASE}" != "$(cat /opt/excalidraw_version.txt)" ]] || [[ ! -f /opt/excalidraw_version.txt ]]; then
|
|
||||||
msg_info "Stopping $APP"
|
|
||||||
systemctl stop excalidraw
|
|
||||||
msg_ok "Stopped $APP"
|
|
||||||
|
|
||||||
msg_info "Updating $APP to v${RELEASE}"
|
|
||||||
cd /tmp
|
|
||||||
temp_file=$(mktemp)
|
|
||||||
curl -fsSL "https://github.com/excalidraw/excalidraw/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
|
||||||
tar xzf $temp_file
|
|
||||||
rm -rf /opt/excalidraw
|
|
||||||
mv excalidraw-${RELEASE} /opt/excalidraw
|
|
||||||
cd /opt/excalidraw
|
|
||||||
$STD yarn
|
|
||||||
msg_ok "Updated $APP to v${RELEASE}"
|
|
||||||
|
|
||||||
msg_info "Starting $APP"
|
|
||||||
systemctl start excalidraw
|
|
||||||
msg_ok "Started $APP"
|
|
||||||
|
|
||||||
msg_info "Cleaning Up"
|
|
||||||
rm -rf $temp_file
|
|
||||||
msg_ok "Cleanup Completed"
|
|
||||||
|
|
||||||
echo "${RELEASE}" >/opt/excalidraw_version.txt
|
|
||||||
msg_ok "Update Successful"
|
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
|
||||||
fi
|
|
||||||
exit
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/excalidraw/excalidraw/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
if [[ "${RELEASE}" != "$(cat /opt/excalidraw_version.txt)" ]] || [[ ! -f /opt/excalidraw_version.txt ]]; then
|
||||||
|
msg_info "Stopping $APP"
|
||||||
|
systemctl stop excalidraw
|
||||||
|
msg_ok "Stopped $APP"
|
||||||
|
|
||||||
|
msg_info "Updating $APP to v${RELEASE}"
|
||||||
|
cd /tmp
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
curl -fsSL "https://github.com/excalidraw/excalidraw/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
||||||
|
tar xzf $temp_file
|
||||||
|
rm -rf /opt/excalidraw
|
||||||
|
mv excalidraw-${RELEASE} /opt/excalidraw
|
||||||
|
cd /opt/excalidraw
|
||||||
|
$STD yarn
|
||||||
|
msg_ok "Updated $APP to v${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Starting $APP"
|
||||||
|
systemctl start excalidraw
|
||||||
|
msg_ok "Started $APP"
|
||||||
|
|
||||||
|
msg_info "Cleaning Up"
|
||||||
|
rm -rf $temp_file
|
||||||
|
msg_ok "Cleanup Completed"
|
||||||
|
|
||||||
|
echo "${RELEASE}" >/opt/excalidraw_version.txt
|
||||||
|
msg_ok "Update Successful"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
@ -69,4 +69,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
||||||
|
@ -47,7 +47,7 @@ function update_script() {
|
|||||||
msg_info "Updating $APP to latest version"
|
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"
|
||||||
unzip -oq -d /opt/fileflows "$temp_file"
|
$STD unzip -o -d /opt/fileflows "$temp_file"
|
||||||
msg_ok "Updated $APP to latest version"
|
msg_ok "Updated $APP to latest version"
|
||||||
|
|
||||||
msg_info "Starting $APP"
|
msg_info "Starting $APP"
|
||||||
|
@ -39,8 +39,8 @@ function update_script() {
|
|||||||
cp /opt/fluid-calendar/.env /opt/fluid.env
|
cp /opt/fluid-calendar/.env /opt/fluid.env
|
||||||
rm -rf /opt/fluid-calendar
|
rm -rf /opt/fluid-calendar
|
||||||
tmp_file=$(mktemp)
|
tmp_file=$(mktemp)
|
||||||
curl -fsSL "https://github.com/dotnetfactory/fluid-calendar/archive/refs/tags/v${RELEASE}.zip" -o "$tmp_file"
|
curl -fsSL "https://github.com/dotnetfactory/fluid-calendar/archive/refs/tags/v${RELEASE}.zip" -o "$tmp_file"
|
||||||
unzip -q $tmp_file
|
$STD unzip $tmp_file
|
||||||
mv ${APP}-${RELEASE}/ /opt/fluid-calendar
|
mv ${APP}-${RELEASE}/ /opt/fluid-calendar
|
||||||
mv /opt/fluid.env /opt/fluid-calendar/.env
|
mv /opt/fluid.env /opt/fluid-calendar/.env
|
||||||
cd /opt/fluid-calendar
|
cd /opt/fluid-calendar
|
||||||
@ -74,4 +74,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: tteck (tteckster)
|
# Author: Arian Nasr (arian-nasr)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://github.com/deepch/RTSPtoWeb
|
# Source: https://www.freepbx.org/
|
||||||
|
|
||||||
APP="RTSPtoWeb"
|
APP="FreePBX"
|
||||||
var_tags="${var_tags:-media}"
|
var_tags="pbx;voip;telephony"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-2048}"
|
||||||
var_disk="${var_disk:-4}"
|
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}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
@ -23,14 +23,12 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
if [[ ! -d /var ]]; then
|
|
||||||
|
if [[ ! -f /lib/systemd/system/freepbx.service ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
msg_info "Updating $APP LXC"
|
msg_error "Currently we don't provide an update function for this ${APP}."
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get -y upgrade
|
|
||||||
msg_ok "Updated $APP LXC"
|
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -41,4 +39,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8083${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
|
72
ct/fumadocs.sh
Normal file
72
ct/fumadocs.sh
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
#!/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: MickLesk (CanbiZ)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/fuma-nama/fumadoc
|
||||||
|
|
||||||
|
APP="Fumadocs"
|
||||||
|
var_tags="${var_tags:-documentation}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-5}"
|
||||||
|
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/fumadocs ]]; then
|
||||||
|
msg_error "No installation found in /opt/fumadocs!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -f /opt/fumadocs/.projectname ]]; then
|
||||||
|
msg_error "Project name file not found: /opt/fumadocs/.projectname!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
|
||||||
|
PROJECT_NAME=$(</opt/fumadocs/.projectname)
|
||||||
|
PROJECT_DIR="/opt/fumadocs/${PROJECT_NAME}"
|
||||||
|
SERVICE_NAME="fumadocs_${PROJECT_NAME}.service"
|
||||||
|
|
||||||
|
if [[ ! -d "$PROJECT_DIR" ]]; then
|
||||||
|
msg_error "Project directory does not exist: $PROJECT_DIR"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg_info "Stopping service $SERVICE_NAME"
|
||||||
|
systemctl stop "$SERVICE_NAME"
|
||||||
|
msg_ok "Stopped service $SERVICE_NAME"
|
||||||
|
|
||||||
|
msg_info "Updating dependencies using pnpm"
|
||||||
|
cd "$PROJECT_DIR"
|
||||||
|
$STD pnpm up --latest
|
||||||
|
$STD pnpm build
|
||||||
|
msg_ok "Updated dependencies using pnpm"
|
||||||
|
|
||||||
|
msg_info "Starting service $SERVICE_NAME"
|
||||||
|
systemctl start "$SERVICE_NAME"
|
||||||
|
msg_ok "Started service $SERVICE_NAME"
|
||||||
|
|
||||||
|
msg_ok "Fumadocs successfully updated"
|
||||||
|
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}"
|
75
ct/gatus.sh
Normal file
75
ct/gatus.sh
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
#!/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://github.com/TwiN/gatus
|
||||||
|
|
||||||
|
APP="gatus"
|
||||||
|
var_tags="${var_tags:-monitoring}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-1024}"
|
||||||
|
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/gatus ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||||
|
msg_info "Updating $APP"
|
||||||
|
|
||||||
|
msg_info "Stopping $APP"
|
||||||
|
systemctl stop gatus
|
||||||
|
msg_ok "Stopped $APP"
|
||||||
|
|
||||||
|
msg_info "Updating $APP to v${RELEASE}"
|
||||||
|
mv /opt/gatus/config/config.yaml /opt
|
||||||
|
rm -rf /opt/gatus/*
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
curl -fsSL "https://github.com/TwiN/gatus/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
||||||
|
tar zxf "$temp_file" --strip-components=1 -C /opt/gatus
|
||||||
|
cd /opt/gatus
|
||||||
|
$STD go mod tidy
|
||||||
|
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus .
|
||||||
|
setcap CAP_NET_RAW+ep gatus
|
||||||
|
mv /opt/config.yaml config
|
||||||
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
msg_ok "Updated $APP to v${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Starting $APP"
|
||||||
|
systemctl start gatus
|
||||||
|
msg_ok "Started $APP"
|
||||||
|
|
||||||
|
msg_info "Cleaning Up"
|
||||||
|
rm -f "$temp_file"
|
||||||
|
msg_ok "Cleanup Completed"
|
||||||
|
|
||||||
|
msg_ok "Update Successful"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||||
|
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}:8080${CL}"
|
83
ct/gitea-mirror.sh
Normal file
83
ct/gitea-mirror.sh
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
#!/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/arunavo4/gitea-mirror
|
||||||
|
|
||||||
|
APP="gitea-mirror"
|
||||||
|
var_tags="${var_tags:-mirror;gitea}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-1024}"
|
||||||
|
var_disk="${var_disk:-5}"
|
||||||
|
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/gitea-mirror ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/arunavo4/gitea-mirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||||
|
|
||||||
|
msg_info "Stopping Services"
|
||||||
|
systemctl stop gitea-mirror
|
||||||
|
msg_ok "Services Stopped"
|
||||||
|
|
||||||
|
msg_info "Backup Data"
|
||||||
|
mkdir -p /opt/gitea-mirror-backup/data
|
||||||
|
cp /opt/gitea-mirror/data/* /opt/gitea-mirror-backup/data/
|
||||||
|
msg_ok "Backup Data"
|
||||||
|
|
||||||
|
msg_info "Installing Bun"
|
||||||
|
export BUN_INSTALL=/opt/bun
|
||||||
|
curl -fsSL https://bun.sh/install | $STD bash
|
||||||
|
ln -sf /opt/bun/bin/bun /usr/local/bin/bun
|
||||||
|
ln -sf /opt/bun/bin/bun /usr/local/bin/bunx
|
||||||
|
msg_ok "Installed Bun"
|
||||||
|
|
||||||
|
rm -rf /opt/gitea-mirror
|
||||||
|
fetch_and_deploy_gh_release "arunavo4/gitea-mirror"
|
||||||
|
|
||||||
|
msg_info "Updating and rebuilding ${APP} to v${RELEASE}"
|
||||||
|
cd /opt/gitea-mirror
|
||||||
|
$STD bun run setup
|
||||||
|
$STD bun run build
|
||||||
|
APP_VERSION=$(grep -o '"version": *"[^"]*"' package.json | cut -d'"' -f4)
|
||||||
|
sudo sed -i.bak "s|^Environment=npm_package_version=.*|Environment=npm_package_version=${APP_VERSION}|" /etc/systemd/system/gitea-mirror.service
|
||||||
|
msg_ok "Updated and rebuilt ${APP} to v${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Restoring Data"
|
||||||
|
cp /opt/gitea-mirror-backup/data/* /opt/gitea-mirror/data
|
||||||
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
msg_ok "Restored Data"
|
||||||
|
|
||||||
|
msg_info "Starting Service"
|
||||||
|
systemctl daemon-reload
|
||||||
|
systemctl start gitea-mirror
|
||||||
|
msg_ok "Service Started"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||||
|
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}:4321${CL}"
|
32
ct/go2rtc.sh
32
ct/go2rtc.sh
@ -6,7 +6,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
|||||||
# Source: https://github.com/AlexxIT/go2rtc
|
# Source: https://github.com/AlexxIT/go2rtc
|
||||||
|
|
||||||
APP="go2rtc"
|
APP="go2rtc"
|
||||||
var_tags="${var_tags:-recorder;video}"
|
var_tags="${var_tags:-streaming;video}"
|
||||||
var_cpu="${var_cpu:-2}"
|
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}"
|
||||||
@ -20,22 +20,22 @@ 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/go2rtc ]]; then
|
if [[ ! -d /opt/go2rtc ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
|
||||||
fi
|
|
||||||
msg_info "Updating $APP"
|
|
||||||
systemctl stop go2rtc
|
|
||||||
cd /opt/go2rtc
|
|
||||||
rm go2rtc_linux_amd64
|
|
||||||
curl -fsSL "https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64" -o $(basename "https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64")
|
|
||||||
chmod +x go2rtc_linux_amd64
|
|
||||||
systemctl start go2rtc
|
|
||||||
msg_ok "Updated $APP"
|
|
||||||
exit
|
exit
|
||||||
|
fi
|
||||||
|
msg_info "Updating $APP"
|
||||||
|
systemctl stop go2rtc
|
||||||
|
cd /opt/go2rtc
|
||||||
|
rm go2rtc_linux_amd64
|
||||||
|
curl -fsSL "https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64" -o $(basename "https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64")
|
||||||
|
chmod +x go2rtc_linux_amd64
|
||||||
|
systemctl start go2rtc
|
||||||
|
msg_ok "Updated $APP"
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
@ -37,7 +37,7 @@ function update_script() {
|
|||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
cd /opt/gotify
|
cd /opt/gotify
|
||||||
curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o $(basename "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip")
|
curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o $(basename "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip")
|
||||||
unzip -oq gotify-linux-amd64.zip
|
$STD unzip -o gotify-linux-amd64.zip
|
||||||
rm -rf gotify-linux-amd64.zip
|
rm -rf gotify-linux-amd64.zip
|
||||||
chmod +x gotify-linux-amd64
|
chmod +x gotify-linux-amd64
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
@ -39,7 +39,7 @@ function update_script() {
|
|||||||
rm -rf grist_bak
|
rm -rf grist_bak
|
||||||
mv grist grist_bak
|
mv grist grist_bak
|
||||||
curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip")
|
curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip")
|
||||||
unzip -q v$RELEASE.zip
|
$STD unzip v$RELEASE.zip
|
||||||
mv grist-core-${RELEASE} grist
|
mv grist-core-${RELEASE} grist
|
||||||
|
|
||||||
mkdir -p grist/docs
|
mkdir -p grist/docs
|
||||||
|
6
ct/headers/actualbudget
Normal file
6
ct/headers/actualbudget
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
___ __ __ ____ __ __
|
||||||
|
/ | _____/ /___ ______ _/ / / __ )__ ______/ /___ ____ / /_
|
||||||
|
/ /| |/ ___/ __/ / / / __ `/ / / __ / / / / __ / __ `/ _ \/ __/
|
||||||
|
/ ___ / /__/ /_/ /_/ / /_/ / / / /_/ / /_/ / /_/ / /_/ / __/ /_
|
||||||
|
/_/ |_\___/\__/\__,_/\__,_/_/ /_____/\__,_/\__,_/\__, /\___/\__/
|
||||||
|
/____/
|
6
ct/headers/alpine-bitmagnet
Normal file
6
ct/headers/alpine-bitmagnet
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
___ __ _ __ _ __ __
|
||||||
|
/ | / /___ (_)___ ___ / /_ (_) /_____ ___ ____ _____ _____ ___ / /_
|
||||||
|
/ /| | / / __ \/ / __ \/ _ \______/ __ \/ / __/ __ `__ \/ __ `/ __ `/ __ \/ _ \/ __/
|
||||||
|
/ ___ |/ / /_/ / / / / / __/_____/ /_/ / / /_/ / / / / / /_/ / /_/ / / / / __/ /_
|
||||||
|
/_/ |_/_/ .___/_/_/ /_/\___/ /_.___/_/\__/_/ /_/ /_/\__,_/\__, /_/ /_/\___/\__/
|
||||||
|
/_/ /____/
|
6
ct/headers/alpine-gatus
Normal file
6
ct/headers/alpine-gatus
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
___ __ _ __
|
||||||
|
/ | / /___ (_)___ ___ ____ _____ _/ /___ _______
|
||||||
|
/ /| | / / __ \/ / __ \/ _ \______/ __ `/ __ `/ __/ / / / ___/
|
||||||
|
/ ___ |/ / /_/ / / / / / __/_____/ /_/ / /_/ / /_/ /_/ (__ )
|
||||||
|
/_/ |_/_/ .___/_/_/ /_/\___/ \__, /\__,_/\__/\__,_/____/
|
||||||
|
/_/ /____/
|
6
ct/headers/alpine-komodo
Normal file
6
ct/headers/alpine-komodo
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
___ __ _ __ __ __
|
||||||
|
/ | / /___ (_)___ ___ / //_/___ ____ ___ ____ ____/ /___
|
||||||
|
/ /| | / / __ \/ / __ \/ _ \______/ ,< / __ \/ __ `__ \/ __ \/ __ / __ \
|
||||||
|
/ ___ |/ / /_/ / / / / / __/_____/ /| / /_/ / / / / / / /_/ / /_/ / /_/ /
|
||||||
|
/_/ |_/_/ .___/_/_/ /_/\___/ /_/ |_\____/_/ /_/ /_/\____/\__,_/\____/
|
||||||
|
/_/
|
6
ct/headers/alpine-rclone
Normal file
6
ct/headers/alpine-rclone
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
___ __ _ __
|
||||||
|
/ | / /___ (_)___ ___ __________/ /___ ____ ___
|
||||||
|
/ /| | / / __ \/ / __ \/ _ \______/ ___/ ___/ / __ \/ __ \/ _ \
|
||||||
|
/ ___ |/ / /_/ / / / / / __/_____/ / / /__/ / /_/ / / / / __/
|
||||||
|
/_/ |_/_/ .___/_/_/ /_/\___/ /_/ \___/_/\____/_/ /_/\___/
|
||||||
|
/_/
|
6
ct/headers/alpine-tinyauth
Normal file
6
ct/headers/alpine-tinyauth
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
___ __ _ _______ __ __
|
||||||
|
/ | / /___ (_)___ ___ /_ __(_)___ __ ______ ___ __/ /_/ /_
|
||||||
|
/ /| | / / __ \/ / __ \/ _ \______/ / / / __ \/ / / / __ `/ / / / __/ __ \
|
||||||
|
/ ___ |/ / /_/ / / / / / __/_____/ / / / / / / /_/ / /_/ / /_/ / /_/ / / /
|
||||||
|
/_/ |_/_/ .___/_/_/ /_/\___/ /_/ /_/_/ /_/\__, /\__,_/\__,_/\__/_/ /_/
|
||||||
|
/_/ /____/
|
6
ct/headers/alpine-traefik
Normal file
6
ct/headers/alpine-traefik
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
___ __ _ ______ _____ __
|
||||||
|
/ | / /___ (_)___ ___ /_ __/________ ____ / __(_) /__
|
||||||
|
/ /| | / / __ \/ / __ \/ _ \______/ / / ___/ __ `/ _ \/ /_/ / //_/
|
||||||
|
/ ___ |/ / /_/ / / / / / __/_____/ / / / / /_/ / __/ __/ / ,<
|
||||||
|
/_/ |_/_/ .___/_/_/ /_/\___/ /_/ /_/ \__,_/\___/_/ /_/_/|_|
|
||||||
|
/_/
|
6
ct/headers/alpine-transmission
Normal file
6
ct/headers/alpine-transmission
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
___ __ _ ______ _ _
|
||||||
|
/ | / /___ (_)___ ___ /_ __/________ _____ _________ ___ (_)_________(_)___ ____
|
||||||
|
/ /| | / / __ \/ / __ \/ _ \______/ / / ___/ __ `/ __ \/ ___/ __ `__ \/ / ___/ ___/ / __ \/ __ \
|
||||||
|
/ ___ |/ / /_/ / / / / / __/_____/ / / / / /_/ / / / (__ ) / / / / / (__ |__ ) / /_/ / / / /
|
||||||
|
/_/ |_/_/ .___/_/_/ /_/\___/ /_/ /_/ \__,_/_/ /_/____/_/ /_/ /_/_/____/____/_/\____/_/ /_/
|
||||||
|
/_/
|
6
ct/headers/argus
Normal file
6
ct/headers/argus
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
___
|
||||||
|
/ | _________ ___ _______
|
||||||
|
/ /| | / ___/ __ `/ / / / ___/
|
||||||
|
/ ___ |/ / / /_/ / /_/ (__ )
|
||||||
|
/_/ |_/_/ \__, /\__,_/____/
|
||||||
|
/____/
|
6
ct/headers/asterisk
Normal file
6
ct/headers/asterisk
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
___ __ _ __
|
||||||
|
/ | _____/ /____ _____(_)____/ /__
|
||||||
|
/ /| | / ___/ __/ _ \/ ___/ / ___/ //_/
|
||||||
|
/ ___ |(__ ) /_/ __/ / / (__ ) ,<
|
||||||
|
/_/ |_/____/\__/\___/_/ /_/____/_/|_|
|
||||||
|
|
@ -1,6 +0,0 @@
|
|||||||
___ __ __ __ _ __
|
|
||||||
/ | __ __/ /_/ /_ ___ ____ / /_(_) /__
|
|
||||||
/ /| |/ / / / __/ __ \/ _ \/ __ \/ __/ / //_/
|
|
||||||
/ ___ / /_/ / /_/ / / / __/ / / / /_/ / ,<
|
|
||||||
/_/ |_\__,_/\__/_/ /_/\___/_/ /_/\__/_/_/|_|
|
|
||||||
|
|
6
ct/headers/babybuddy
Normal file
6
ct/headers/babybuddy
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
____ __ ____ __ __
|
||||||
|
/ __ )____ _/ /_ __ __ / __ )__ ______/ /___/ /_ __
|
||||||
|
/ __ / __ `/ __ \/ / / / / __ / / / / __ / __ / / / /
|
||||||
|
/ /_/ / /_/ / /_/ / /_/ / / /_/ / /_/ / /_/ / /_/ / /_/ /
|
||||||
|
/_____/\__,_/_.___/\__, / /_____/\__,_/\__,_/\__,_/\__, /
|
||||||
|
/____/ /____/
|
6
ct/headers/backrest
Normal file
6
ct/headers/backrest
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
____ __ __
|
||||||
|
/ __ )____ ______/ /__________ _____/ /_
|
||||||
|
/ __ / __ `/ ___/ //_/ ___/ _ \/ ___/ __/
|
||||||
|
/ /_/ / /_/ / /__/ ,< / / / __(__ ) /_
|
||||||
|
/_____/\__,_/\___/_/|_/_/ \___/____/\__/
|
||||||
|
|
6
ct/headers/bitmagnet
Normal file
6
ct/headers/bitmagnet
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
____ _ __ __
|
||||||
|
/ __ )(_) /_____ ___ ____ _____ _____ ___ / /_
|
||||||
|
/ __ / / __/ __ `__ \/ __ `/ __ `/ __ \/ _ \/ __/
|
||||||
|
/ /_/ / / /_/ / / / / / /_/ / /_/ / / / / __/ /_
|
||||||
|
/_____/_/\__/_/ /_/ /_/\__,_/\__, /_/ /_/\___/\__/
|
||||||
|
/____/
|
@ -1,6 +0,0 @@
|
|||||||
__ ____ ___
|
|
||||||
/ /_ ____ / / /_____/ (_)_ __
|
|
||||||
/ __ \/ __ \/ / __/ __ / / / / /
|
|
||||||
/ /_/ / /_/ / / /_/ /_/ / / /_/ /
|
|
||||||
/_.___/\____/_/\__/\__,_/_/\__, /
|
|
||||||
/____/
|
|
6
ct/headers/cloudflare-ddns
Normal file
6
ct/headers/cloudflare-ddns
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
________ ________ ____ ____ _ _______
|
||||||
|
/ ____/ /___ __ ______/ / __/ /___ _________ / __ \/ __ \/ | / / ___/
|
||||||
|
/ / / / __ \/ / / / __ / /_/ / __ `/ ___/ _ \______/ / / / / / / |/ /\__ \
|
||||||
|
/ /___/ / /_/ / /_/ / /_/ / __/ / /_/ / / / __/_____/ /_/ / /_/ / /| /___/ /
|
||||||
|
\____/_/\____/\__,_/\__,_/_/ /_/\__,_/_/ \___/ /_____/_____/_/ |_//____/
|
||||||
|
|
6
ct/headers/configarr
Normal file
6
ct/headers/configarr
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
______ _____
|
||||||
|
/ ____/___ ____ / __(_)___ _____ ___________
|
||||||
|
/ / / __ \/ __ \/ /_/ / __ `/ __ `/ ___/ ___/
|
||||||
|
/ /___/ /_/ / / / / __/ / /_/ / /_/ / / / /
|
||||||
|
\____/\____/_/ /_/_/ /_/\__, /\__,_/_/ /_/
|
||||||
|
/____/
|
6
ct/headers/freepbx
Normal file
6
ct/headers/freepbx
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
______ ____ ____ _ __
|
||||||
|
/ ____/_______ ___ / __ \/ __ ) |/ /
|
||||||
|
/ /_ / ___/ _ \/ _ \/ /_/ / __ | /
|
||||||
|
/ __/ / / / __/ __/ ____/ /_/ / |
|
||||||
|
/_/ /_/ \___/\___/_/ /_____/_/|_|
|
||||||
|
|
6
ct/headers/fumadocs
Normal file
6
ct/headers/fumadocs
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
______ __
|
||||||
|
/ ____/_ ______ ___ ____ _____/ /___ __________
|
||||||
|
/ /_ / / / / __ `__ \/ __ `/ __ / __ \/ ___/ ___/
|
||||||
|
/ __/ / /_/ / / / / / / /_/ / /_/ / /_/ / /__(__ )
|
||||||
|
/_/ \__,_/_/ /_/ /_/\__,_/\__,_/\____/\___/____/
|
||||||
|
|
6
ct/headers/gatus
Normal file
6
ct/headers/gatus
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
__
|
||||||
|
____ _____ _/ /___ _______
|
||||||
|
/ __ `/ __ `/ __/ / / / ___/
|
||||||
|
/ /_/ / /_/ / /_/ /_/ (__ )
|
||||||
|
\__, /\__,_/\__/\__,_/____/
|
||||||
|
/____/
|
6
ct/headers/gitea-mirror
Normal file
6
ct/headers/gitea-mirror
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
_ __ _
|
||||||
|
____ _(_) /____ ____ _ ____ ___ (_)_____________ _____
|
||||||
|
/ __ `/ / __/ _ \/ __ `/_____/ __ `__ \/ / ___/ ___/ __ \/ ___/
|
||||||
|
/ /_/ / / /_/ __/ /_/ /_____/ / / / / / / / / / / /_/ / /
|
||||||
|
\__, /_/\__/\___/\__,_/ /_/ /_/ /_/_/_/ /_/ \____/_/
|
||||||
|
/____/
|
@ -1,6 +1,6 @@
|
|||||||
__ __
|
__
|
||||||
/ / / /___ ____ ___ ____ ___________
|
/ /_ ____ ____ ___ ____ ___________
|
||||||
/ /_/ / __ \/ __ `__ \/ __ `/ ___/ ___/
|
/ __ \/ __ \/ __ `__ \/ __ `/ ___/ ___/
|
||||||
/ __ / /_/ / / / / / / /_/ / / / /
|
/ / / / /_/ / / / / / / /_/ / / / /
|
||||||
/_/ /_/\____/_/ /_/ /_/\__,_/_/ /_/
|
/_/ /_/\____/_/ /_/ /_/\__,_/_/ /_/
|
||||||
|
|
||||||
|
6
ct/headers/immich
Normal file
6
ct/headers/immich
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
_ _ __
|
||||||
|
(_)___ ___ ____ ___ (_)____/ /_
|
||||||
|
/ / __ `__ \/ __ `__ \/ / ___/ __ \
|
||||||
|
/ / / / / / / / / / / / / /__/ / / /
|
||||||
|
/_/_/ /_/ /_/_/ /_/ /_/_/\___/_/ /_/
|
||||||
|
|
6
ct/headers/kasm
Normal file
6
ct/headers/kasm
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
__ __
|
||||||
|
/ //_/___ __________ ___
|
||||||
|
/ ,< / __ `/ ___/ __ `__ \
|
||||||
|
/ /| / /_/ (__ ) / / / / /
|
||||||
|
/_/ |_\__,_/____/_/ /_/ /_/
|
||||||
|
|
6
ct/headers/lyrionmusicserver
Normal file
6
ct/headers/lyrionmusicserver
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
__ _ __ ___ _ _____
|
||||||
|
/ / __ _______(_)___ ____ / |/ /_ _______(_)____ / ___/___ ______ _____ _____
|
||||||
|
/ / / / / / ___/ / __ \/ __ \ / /|_/ / / / / ___/ / ___/ \__ \/ _ \/ ___/ | / / _ \/ ___/
|
||||||
|
/ /___/ /_/ / / / / /_/ / / / / / / / / /_/ (__ ) / /__ ___/ / __/ / | |/ / __/ /
|
||||||
|
/_____/\__, /_/ /_/\____/_/ /_/ /_/ /_/\__,_/____/_/\___/ /____/\___/_/ |___/\___/_/
|
||||||
|
/____/
|
6
ct/headers/oauth2-proxy
Normal file
6
ct/headers/oauth2-proxy
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
__ __ ___
|
||||||
|
____ ____ ___ __/ /_/ /_ |__ \ ____ _________ _ ____ __
|
||||||
|
/ __ \/ __ `/ / / / __/ __ \__/ /_____/ __ \/ ___/ __ \| |/_/ / / /
|
||||||
|
/ /_/ / /_/ / /_/ / /_/ / / / __/_____/ /_/ / / / /_/ /> </ /_/ /
|
||||||
|
\____/\__,_/\__,_/\__/_/ /_/____/ / .___/_/ \____/_/|_|\__, /
|
||||||
|
/_/ /____/
|
6
ct/headers/odoo
Normal file
6
ct/headers/odoo
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
____ __
|
||||||
|
/ __ \____/ /___ ____
|
||||||
|
/ / / / __ / __ \/ __ \
|
||||||
|
/ /_/ / /_/ / /_/ / /_/ /
|
||||||
|
\____/\__,_/\____/\____/
|
||||||
|
|
6
ct/headers/pulse
Normal file
6
ct/headers/pulse
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
____ __
|
||||||
|
/ __ \__ __/ /_______
|
||||||
|
/ /_/ / / / / / ___/ _ \
|
||||||
|
/ ____/ /_/ / (__ ) __/
|
||||||
|
/_/ \__,_/_/____/\___/
|
||||||
|
|
6
ct/headers/rclone
Normal file
6
ct/headers/rclone
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
____ __
|
||||||
|
/ __ \_____/ /___ ____ ___
|
||||||
|
/ /_/ / ___/ / __ \/ __ \/ _ \
|
||||||
|
/ _, _/ /__/ / /_/ / / / / __/
|
||||||
|
/_/ |_|\___/_/\____/_/ /_/\___/
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user