Compare commits
23 Commits
2025-05-26
...
main
Author | SHA1 | Date | |
---|---|---|---|
![]() |
7db94ad73a | ||
![]() |
56c2682601 | ||
![]() |
11a7c2e410 | ||
![]() |
ed9d8e995d | ||
![]() |
3b67e8dcc1 | ||
![]() |
f09e57c200 | ||
![]() |
72c24d5147 | ||
![]() |
93a179c201 | ||
![]() |
ac2f0e66ae | ||
![]() |
5ccf8a7cd6 | ||
![]() |
db82285b95 | ||
![]() |
58586cbfc8 | ||
![]() |
8708980786 | ||
![]() |
943fa7b7aa | ||
![]() |
5085547f39 | ||
![]() |
5685e7e088 | ||
![]() |
72db97b226 | ||
![]() |
e6805db9f5 | ||
![]() |
97073be5e2 | ||
![]() |
82228189a7 | ||
![]() |
53bdedfc08 | ||
![]() |
92ff5a9881 | ||
![]() |
0bb4509cd7 |
28
CHANGELOG.md
28
CHANGELOG.md
@ -16,6 +16,34 @@ All LXC instances created using this repository come pre-installed with Midnight
|
|||||||
|
|
||||||
## 2025-05-27
|
## 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
|
## 2025-05-26
|
||||||
|
|
||||||
### 🆕 New Scripts
|
### 🆕 New Scripts
|
||||||
|
@ -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}"
|
||||||
|
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}"
|
@ -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}"
|
||||||
|
6
ct/headers/backrest
Normal file
6
ct/headers/backrest
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
____ __ __
|
||||||
|
/ __ )____ ______/ /__________ _____/ /_
|
||||||
|
/ __ / __ `/ ___/ //_/ ___/ _ \/ ___/ __/
|
||||||
|
/ /_/ / /_/ / /__/ ,< / / / __(__ ) /_
|
||||||
|
/_____/\__,_/\___/_/|_/_/ \___/____/\__/
|
||||||
|
|
6
ct/headers/pulse
Normal file
6
ct/headers/pulse
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
____ __
|
||||||
|
/ __ \__ __/ /_______
|
||||||
|
/ /_/ / / / / / ___/ _ \
|
||||||
|
/ ____/ /_/ / (__ ) __/
|
||||||
|
/_/ \__,_/_/____/\___/
|
||||||
|
|
@ -23,7 +23,7 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
if [[ ! -f /etc/systemd/system/lldap.service ]]; then
|
if [[ ! -f /lib/systemd/system/lldap.service ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
@ -41,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}:17170${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:17170${CL}"
|
||||||
|
79
ct/pulse.sh
Normal file
79
ct/pulse.sh
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
#!/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: rcourtman
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/rcourtman/Pulse
|
||||||
|
|
||||||
|
APP="Pulse"
|
||||||
|
var_tags="${var_tags:-monitoring,proxmox}"
|
||||||
|
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/pulse-proxmox ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/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 pulse-monitor
|
||||||
|
msg_ok "Stopped ${APP}"
|
||||||
|
|
||||||
|
msg_info "Updating Pulse"
|
||||||
|
if [[ -f /opt/pulse-proxmox/.env ]]; then
|
||||||
|
cp /opt/pulse-proxmox/.env /tmp/.env.backup.pulse
|
||||||
|
fi
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
mkdir -p /opt/pulse-proxmox
|
||||||
|
rm -rf /opt/pulse-proxmox/*
|
||||||
|
curl -fsSL "https://github.com/rcourtman/Pulse/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
||||||
|
tar zxf "$temp_file" --strip-components=1 -C /opt/pulse-proxmox
|
||||||
|
if [[ -f /tmp/.env.backup.pulse ]]; then
|
||||||
|
mv /tmp/.env.backup.pulse /opt/pulse-proxmox/.env
|
||||||
|
fi
|
||||||
|
cd /opt/pulse-proxmox
|
||||||
|
$STD npm install --unsafe-perm
|
||||||
|
cd /opt/pulse-proxmox/server
|
||||||
|
$STD npm install --unsafe-perm
|
||||||
|
cd /opt/pulse-proxmox
|
||||||
|
$STD npm run build:css
|
||||||
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
msg_ok "Updated Pulse to ${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Setting permissions for /opt/pulse-proxmox..."
|
||||||
|
chown -R pulse:pulse "/opt/pulse-proxmox"
|
||||||
|
find "/opt/pulse-proxmox" -type d -exec chmod 755 {} \;
|
||||||
|
find "/opt/pulse-proxmox" -type f -exec chmod 644 {} \;
|
||||||
|
chmod 600 /opt/pulse-proxmox/.env
|
||||||
|
msg_ok "Set permissions."
|
||||||
|
|
||||||
|
msg_info "Starting ${APP}"
|
||||||
|
systemctl start pulse-monitor
|
||||||
|
msg_ok "Started ${APP}"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at ${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}(:your_port)${CL}"
|
40
frontend/public/json/backrest.json
Normal file
40
frontend/public/json/backrest.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "Backrest",
|
||||||
|
"slug": "backrest",
|
||||||
|
"categories": [
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"date_created": "2025-05-27",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 9898,
|
||||||
|
"documentation": "https://garethgeorge.github.io/backrest/introduction/getting-started",
|
||||||
|
"website": "https://garethgeorge.github.io/backrest",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/backrest.webp",
|
||||||
|
"config_path": "/opt/backrest/config/config.json",
|
||||||
|
"description": "Backrest is a web-accessible backup solution built on top of restic and providing a WebUI which wraps the restic CLI and makes it easy to create repos, browse snapshots, and restore files. Additionally, Backrest can run in the background and take an opinionated approach to scheduling snapshots and orchestrating repo health operations.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/backrest.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 512,
|
||||||
|
"hdd": 8,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"type": "info",
|
||||||
|
"text": "`cat ~/.ssh/id_ed25519.pub` to view ssh public key. This key is used to authenticate with sftp targets. You can add this key on the sftp server."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -20,7 +20,7 @@
|
|||||||
"script": "ct/bunkerweb.sh",
|
"script": "ct/bunkerweb.sh",
|
||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 2,
|
"cpu": 2,
|
||||||
"ram": 4096,
|
"ram": 8192,
|
||||||
"hdd": 4,
|
"hdd": 4,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "12"
|
||||||
|
40
frontend/public/json/pulse.json
Normal file
40
frontend/public/json/pulse.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "Pulse",
|
||||||
|
"slug": "pulse",
|
||||||
|
"categories": [
|
||||||
|
9
|
||||||
|
],
|
||||||
|
"date_created": "2025-05-27",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 7655,
|
||||||
|
"documentation": null,
|
||||||
|
"website": "https://github.com/rcourtman/Pulse",
|
||||||
|
"logo": "https://raw.githubusercontent.com/rcourtman/Pulse/main/src/public/logos/pulse-logo-256x256.png",
|
||||||
|
"config_path": "/opt/pulse-proxmox/.env",
|
||||||
|
"description": "A lightweight monitoring application for Proxmox VE that displays real-time status for VMs and containers via a simple web interface.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/pulse.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 1024,
|
||||||
|
"hdd": 4,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "Create Proxmox-API-Token first: `https: //github.com/rcourtman/Pulse?tab=readme-ov-file#creating-a-proxmox-api-token`",
|
||||||
|
"type": "Info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -32,7 +32,7 @@
|
|||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 1,
|
"cpu": 1,
|
||||||
"ram": 256,
|
"ram": 256,
|
||||||
"hdd": 0.5,
|
"hdd": 1,
|
||||||
"os": "alpine",
|
"os": "alpine",
|
||||||
"version": "3.21"
|
"version": "3.21"
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,44 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"name": "mattermost/mattermost",
|
||||||
|
"version": "v10.5.7",
|
||||||
|
"date": "2025-05-27T05:34:42Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "n8n-io/n8n",
|
||||||
|
"version": "n8n@1.94.1",
|
||||||
|
"date": "2025-05-27T10:36:43Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "traefik/traefik",
|
||||||
|
"version": "v2.11.25",
|
||||||
|
"date": "2025-05-27T10:25:28Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "readeck/readeck",
|
||||||
|
"version": "0.19.0",
|
||||||
|
"date": "2025-05-27T09:15:55Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "esphome/esphome",
|
||||||
|
"version": "2025.5.1",
|
||||||
|
"date": "2025-05-27T09:01:29Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "zitadel/zitadel",
|
||||||
|
"version": "v2.65.10",
|
||||||
|
"date": "2025-05-27T08:47:06Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jackett/Jackett",
|
||||||
|
"version": "v0.22.1956",
|
||||||
|
"date": "2025-05-27T05:55:21Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "semaphoreui/semaphore",
|
||||||
|
"version": "v2.14.12",
|
||||||
|
"date": "2025-05-27T03:58:59Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "open-webui/open-webui",
|
"name": "open-webui/open-webui",
|
||||||
"version": "v0.6.11",
|
"version": "v0.6.11",
|
||||||
@ -20,14 +60,9 @@
|
|||||||
"date": "2025-05-23T15:10:33Z"
|
"date": "2025-05-23T15:10:33Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "mattermost/mattermost",
|
"name": "keycloak/keycloak",
|
||||||
"version": "mattermost-redux@10.8.0",
|
"version": "26.0.12",
|
||||||
"date": "2025-05-26T19:17:13Z"
|
"date": "2025-05-15T14:06:52Z"
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "semaphoreui/semaphore",
|
|
||||||
"version": "v2.14.12",
|
|
||||||
"date": "2025-05-26T19:08:26Z"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "dgtlmoon/changedetection.io",
|
"name": "dgtlmoon/changedetection.io",
|
||||||
@ -44,16 +79,16 @@
|
|||||||
"version": "4.8.11.0",
|
"version": "4.8.11.0",
|
||||||
"date": "2025-03-10T06:39:11Z"
|
"date": "2025-03-10T06:39:11Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "wazuh/wazuh",
|
||||||
|
"version": "coverity-w22-4.13.0",
|
||||||
|
"date": "2025-05-26T15:04:48Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "nzbgetcom/nzbget",
|
"name": "nzbgetcom/nzbget",
|
||||||
"version": "v25.0",
|
"version": "v25.0",
|
||||||
"date": "2025-05-12T09:12:04Z"
|
"date": "2025-05-12T09:12:04Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "zitadel/zitadel",
|
|
||||||
"version": "v3.2.1",
|
|
||||||
"date": "2025-05-26T14:27:59Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "jupyter/notebook",
|
"name": "jupyter/notebook",
|
||||||
"version": "v7.4.3",
|
"version": "v7.4.3",
|
||||||
@ -74,11 +109,6 @@
|
|||||||
"version": "pmm-6401-v1.118.0",
|
"version": "pmm-6401-v1.118.0",
|
||||||
"date": "2025-05-26T13:09:32Z"
|
"date": "2025-05-26T13:09:32Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "n8n-io/n8n",
|
|
||||||
"version": "n8n@1.91.3",
|
|
||||||
"date": "2025-05-08T12:25:10Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Graylog2/graylog2-server",
|
"name": "Graylog2/graylog2-server",
|
||||||
"version": "6.3.0-beta.3",
|
"version": "6.3.0-beta.3",
|
||||||
@ -104,11 +134,6 @@
|
|||||||
"version": "v1.5.2",
|
"version": "v1.5.2",
|
||||||
"date": "2025-05-11T16:40:55Z"
|
"date": "2025-05-11T16:40:55Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Jackett/Jackett",
|
|
||||||
"version": "v0.22.1951",
|
|
||||||
"date": "2025-05-26T05:51:18Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "stonith404/pingvin-share",
|
"name": "stonith404/pingvin-share",
|
||||||
"version": "v1.13.0",
|
"version": "v1.13.0",
|
||||||
@ -136,8 +161,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "runtipi/runtipi",
|
"name": "runtipi/runtipi",
|
||||||
"version": "nightly",
|
"version": "v4.1.1",
|
||||||
"date": "2025-05-25T09:44:06Z"
|
"date": "2025-05-16T17:37:30Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Kozea/Radicale",
|
"name": "Kozea/Radicale",
|
||||||
@ -204,16 +229,6 @@
|
|||||||
"version": "v8.1.4",
|
"version": "v8.1.4",
|
||||||
"date": "2025-05-23T12:29:19Z"
|
"date": "2025-05-23T12:29:19Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "wazuh/wazuh",
|
|
||||||
"version": "v4.10.2",
|
|
||||||
"date": "2025-05-23T11:56:41Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "keycloak/keycloak",
|
|
||||||
"version": "26.0.12",
|
|
||||||
"date": "2025-05-15T14:06:52Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "ollama/ollama",
|
"name": "ollama/ollama",
|
||||||
"version": "v0.7.1-rc2",
|
"version": "v0.7.1-rc2",
|
||||||
@ -299,11 +314,6 @@
|
|||||||
"version": "10.0.18",
|
"version": "10.0.18",
|
||||||
"date": "2025-02-12T11:07:02Z"
|
"date": "2025-02-12T11:07:02Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "esphome/esphome",
|
|
||||||
"version": "2025.5.0",
|
|
||||||
"date": "2025-05-21T08:32:53Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "inventree/InvenTree",
|
"name": "inventree/InvenTree",
|
||||||
"version": "0.17.12",
|
"version": "0.17.12",
|
||||||
@ -584,11 +594,6 @@
|
|||||||
"version": "10.1.41",
|
"version": "10.1.41",
|
||||||
"date": "2025-05-08T12:45:44Z"
|
"date": "2025-05-08T12:45:44Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "readeck/readeck",
|
|
||||||
"version": "0.18.2",
|
|
||||||
"date": "2025-05-07T19:22:22Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "donaldzou/WGDashboard",
|
"name": "donaldzou/WGDashboard",
|
||||||
"version": "v4.2.3",
|
"version": "v4.2.3",
|
||||||
@ -644,11 +649,6 @@
|
|||||||
"version": "3.5.0",
|
"version": "3.5.0",
|
||||||
"date": "2025-05-05T16:28:24Z"
|
"date": "2025-05-05T16:28:24Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "traefik/traefik",
|
|
||||||
"version": "v3.4.0",
|
|
||||||
"date": "2025-05-05T13:59:23Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "moghtech/komodo",
|
"name": "moghtech/komodo",
|
||||||
"version": "v1.17.5",
|
"version": "v1.17.5",
|
||||||
|
@ -14,11 +14,8 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
|
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
lsb-release \
|
lsb-release
|
||||||
gpg
|
|
||||||
|
|
||||||
curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.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
|
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 update
|
||||||
@ -26,10 +23,11 @@ $STD apt-get update
|
|||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
nginx \
|
nginx \
|
||||||
composer \
|
composer \
|
||||||
php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,intl,mbstring,mysql,xml,cli} \
|
php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,intl,mbstring,mysql,xml,cli}
|
||||||
mariadb-server
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Setting up Database"
|
msg_info "Setting up Database"
|
||||||
DB_NAME=2fauth_db
|
DB_NAME=2fauth_db
|
||||||
DB_USER=2fauth
|
DB_USER=2fauth
|
||||||
|
@ -24,25 +24,10 @@ $STD apt-get install -y \
|
|||||||
python3-pip
|
python3-pip
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
PG_VERSION="16" PG_MODULES="postgis" install_postgresql
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL Repository"
|
msg_info "Set up PostgreSQL Database"
|
||||||
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
|
|
||||||
echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >/etc/apt/sources.list.d/pgdg.list
|
|
||||||
msg_ok "Set up PostgreSQL Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g pnpm
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Install/Set up PostgreSQL Database"
|
|
||||||
$STD apt-get install -y postgresql-16 postgresql-16-postgis
|
|
||||||
DB_NAME="adventurelog_db"
|
DB_NAME="adventurelog_db"
|
||||||
DB_USER="adventurelog_user"
|
DB_USER="adventurelog_user"
|
||||||
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
|
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
|
||||||
|
@ -14,31 +14,32 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
jq \
|
jq \
|
||||||
libcairo2-dev \
|
libcairo2-dev \
|
||||||
libturbojpeg0 \
|
libturbojpeg0 \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
libtool-bin \
|
libtool-bin \
|
||||||
libossp-uuid-dev \
|
libossp-uuid-dev \
|
||||||
libvncserver-dev \
|
libvncserver-dev \
|
||||||
freerdp2-dev \
|
freerdp2-dev \
|
||||||
libssh2-1-dev \
|
libssh2-1-dev \
|
||||||
libtelnet-dev \
|
libtelnet-dev \
|
||||||
libwebsockets-dev \
|
libwebsockets-dev \
|
||||||
libpulse-dev \
|
libpulse-dev \
|
||||||
libvorbis-dev \
|
libvorbis-dev \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libpango1.0-dev \
|
libpango1.0-dev \
|
||||||
libswscale-dev \
|
libswscale-dev \
|
||||||
libavcodec-dev \
|
libavcodec-dev \
|
||||||
libavutil-dev \
|
libavutil-dev \
|
||||||
libavformat-dev \
|
libavformat-dev \
|
||||||
mariadb-server \
|
default-jdk
|
||||||
default-jdk
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Setup Apache Tomcat"
|
msg_info "Setup Apache Tomcat"
|
||||||
RELEASE=$(curl -fsSL https://dlcdn.apache.org/tomcat/tomcat-9/ | grep -oP '(?<=href=")v[^"/]+(?=/")' | sed 's/^v//' | sort -V | tail -n1)
|
RELEASE=$(curl -fsSL https://dlcdn.apache.org/tomcat/tomcat-9/ | grep -oP '(?<=href=")v[^"/]+(?=/")' | sed 's/^v//' | sort -V | tail -n1)
|
||||||
mkdir -p /opt/apache-guacamole/tomcat9
|
mkdir -p /opt/apache-guacamole/tomcat9
|
||||||
@ -79,19 +80,19 @@ mysql -u root -e "CREATE DATABASE $DB_NAME;"
|
|||||||
mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
|
mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
|
||||||
mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
||||||
{
|
{
|
||||||
echo "Guacamole-Credentials"
|
echo "Guacamole-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"
|
||||||
} >>~/guacamole.creds
|
} >>~/guacamole.creds
|
||||||
cd guacamole-auth-jdbc-1.5.5/mysql/schema
|
cd guacamole-auth-jdbc-1.5.5/mysql/schema
|
||||||
cat *.sql | mysql -u root ${DB_NAME}
|
cat *.sql | mysql -u root ${DB_NAME}
|
||||||
{
|
{
|
||||||
echo "mysql-hostname: 127.0.0.1"
|
echo "mysql-hostname: 127.0.0.1"
|
||||||
echo "mysql-port: 3306"
|
echo "mysql-port: 3306"
|
||||||
echo "mysql-database: $DB_NAME"
|
echo "mysql-database: $DB_NAME"
|
||||||
echo "mysql-username: $DB_USER"
|
echo "mysql-username: $DB_USER"
|
||||||
echo "mysql-password: $DB_PASS"
|
echo "mysql-password: $DB_PASS"
|
||||||
|
|
||||||
} >>/etc/guacamole/guacamole.properties
|
} >>/etc/guacamole/guacamole.properties
|
||||||
msg_ok "Setup Database"
|
msg_ok "Setup Database"
|
||||||
|
@ -33,16 +33,7 @@ $STD apt-get install -y \
|
|||||||
python3-regex
|
python3-regex
|
||||||
msg_ok "Installed Python Dependencies"
|
msg_ok "Installed Python Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing Playwright"
|
msg_info "Installing Playwright"
|
||||||
$STD pip install playwright
|
$STD pip install playwright
|
||||||
|
@ -37,7 +37,7 @@ $STD apt-get install -y \
|
|||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
setup_uv
|
setup_uv
|
||||||
PG_VERSION="16" install_postgresql
|
PG_VERSION="16" PG_MODULES="contrib" install_postgresql
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" install_node_and_modules
|
||||||
install_go
|
install_go
|
||||||
|
|
||||||
@ -61,8 +61,7 @@ cat <<EOF >/etc/GeoIP.conf
|
|||||||
EOF
|
EOF
|
||||||
msg_ok "Installed GeoIP"
|
msg_ok "Installed GeoIP"
|
||||||
|
|
||||||
msg_info "Installing PostgreSQL"
|
msg_info "Setup PostgreSQL Database"
|
||||||
$STD apt-get install -y postgresql-16 postgresql-contrib-16
|
|
||||||
DB_NAME="authentik"
|
DB_NAME="authentik"
|
||||||
DB_USER="authentik"
|
DB_USER="authentik"
|
||||||
DB_PASS="$(openssl rand -base64 18 | cut -c1-13)"
|
DB_PASS="$(openssl rand -base64 18 | cut -c1-13)"
|
||||||
|
54
install/backrest-install.sh
Normal file
54
install/backrest-install.sh
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# 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/
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
msg_info "Installing Backrest"
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/garethgeorge/backrest/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
mkdir -p /opt/backrest/{bin,config,data}
|
||||||
|
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/${APPLICATION}_version.txt
|
||||||
|
msg_ok "Installed Backrest"
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
cat <<EOF >/etc/systemd/system/backrest.service
|
||||||
|
[Unit]
|
||||||
|
Description=Backrest
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=root
|
||||||
|
ExecStart=/opt/backrest/bin/backrest
|
||||||
|
Environment="BACKREST_PORT=9898"
|
||||||
|
Environment="BACKREST_CONFIG=/opt/backrest/config/config.json"
|
||||||
|
Environment="BACKREST_DATA=/opt/backrest/data"
|
||||||
|
Environment="XDG_CACHE_HOME=/opt/backrest/cache"
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now backrest
|
||||||
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f "$temp_file"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
@ -15,25 +15,26 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
postgresql \
|
apache2 \
|
||||||
apache2 \
|
libapache2-mod-php \
|
||||||
libapache2-mod-php \
|
php-{pgsql,dom}
|
||||||
php-{pgsql,dom}
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL"
|
PG_VERSION="16" install_postgresql
|
||||||
|
|
||||||
|
msg_info "Setting up PostgreSQL Database"
|
||||||
DB_NAME=baikal
|
DB_NAME=baikal
|
||||||
DB_USER=baikal
|
DB_USER=baikal
|
||||||
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)
|
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)
|
||||||
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
|
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
|
||||||
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMPLATE template0;"
|
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMPLATE template0;"
|
||||||
{
|
{
|
||||||
echo "Baikal Credentials"
|
echo "Baikal Credentials"
|
||||||
echo "Baikal Database User: $DB_USER"
|
echo "Baikal Database User: $DB_USER"
|
||||||
echo "Baikal Database Password: $DB_PASS"
|
echo "Baikal Database Password: $DB_PASS"
|
||||||
echo "Baikal Database Name: $DB_NAME"
|
echo "Baikal Database Name: $DB_NAME"
|
||||||
} >>~/baikal.creds
|
} >>~/baikal.creds
|
||||||
msg_ok "Set up PostgreSQL"
|
msg_ok "Set up PostgreSQL Database"
|
||||||
|
|
||||||
msg_info "Installing Baikal"
|
msg_info "Installing Baikal"
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/sabre-io/Baikal/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/sabre-io/Baikal/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
|
@ -15,15 +15,16 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies (Patience)"
|
msg_info "Installing Dependencies (Patience)"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
unzip \
|
unzip \
|
||||||
mariadb-server \
|
apache2 \
|
||||||
apache2 \
|
php8.2-{mbstring,gd,fpm,curl,intl,ldap,tidy,bz2,mysql,zip,xml} \
|
||||||
php8.2-{mbstring,gd,fpm,curl,intl,ldap,tidy,bz2,mysql,zip,xml} \
|
composer \
|
||||||
composer \
|
libapache2-mod-php \
|
||||||
libapache2-mod-php \
|
make
|
||||||
make
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Setting up Database"
|
msg_info "Setting up Database"
|
||||||
DB_NAME=bookstack
|
DB_NAME=bookstack
|
||||||
DB_USER=bookstack
|
DB_USER=bookstack
|
||||||
@ -32,10 +33,10 @@ $STD sudo mysql -u root -e "CREATE DATABASE $DB_NAME;"
|
|||||||
$STD sudo mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
|
$STD sudo mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
|
||||||
$STD sudo mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
$STD sudo mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
||||||
{
|
{
|
||||||
echo "Bookstack-Credentials"
|
echo "Bookstack-Credentials"
|
||||||
echo "Bookstack Database User: $DB_USER"
|
echo "Bookstack Database User: $DB_USER"
|
||||||
echo "Bookstack Database Password: $DB_PASS"
|
echo "Bookstack Database Password: $DB_PASS"
|
||||||
echo "Bookstack Database Name: $DB_NAME"
|
echo "Bookstack Database Name: $DB_NAME"
|
||||||
} >>~/bookstack.creds
|
} >>~/bookstack.creds
|
||||||
msg_ok "Set up database"
|
msg_ok "Set up database"
|
||||||
|
|
||||||
|
@ -13,21 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
$STD apt-get install -y \
|
|
||||||
gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing ByteStash"
|
msg_info "Installing ByteStash"
|
||||||
JWT_SECRET=$(openssl rand -base64 32 | tr -d '/+=')
|
JWT_SECRET=$(openssl rand -base64 32 | tr -d '/+=')
|
||||||
|
@ -52,16 +52,7 @@ $STD apt-get install -y \
|
|||||||
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
||||||
msg_ok "Setup Python3"
|
msg_ok "Setup Python3"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing Change Detection"
|
msg_info "Installing Change Detection"
|
||||||
mkdir /opt/changedetection
|
mkdir /opt/changedetection
|
||||||
|
@ -13,20 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
$STD apt-get install -y gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing Cronicle Primary Server"
|
msg_info "Installing Cronicle Primary Server"
|
||||||
LATEST=$(curl -fsSL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
|
LATEST=$(curl -fsSL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
|
||||||
|
@ -13,20 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
$STD apt-get install -y gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_23.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Setup Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Setting up Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Setup Node.js"
|
|
||||||
|
|
||||||
msg_info "Setup Cross-Seed"
|
msg_info "Setup Cross-Seed"
|
||||||
$STD npm install cross-seed@latest -g
|
$STD npm install cross-seed@latest -g
|
||||||
|
@ -15,20 +15,10 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
gnupg \
|
|
||||||
git
|
git
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Setup Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Setup Node.js"
|
|
||||||
|
|
||||||
read -p "${TAB3}Install OnlyOffice components instead of CKEditor? (Y/N): " onlyoffice
|
read -p "${TAB3}Install OnlyOffice components instead of CKEditor? (Y/N): " onlyoffice
|
||||||
|
|
||||||
|
@ -13,20 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
$STD apt-get install -y gpg
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
msg_info "Installing Dashy ${RELEASE} (Patience)"
|
msg_info "Installing Dashy ${RELEASE} (Patience)"
|
||||||
|
@ -15,23 +15,12 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
gpg \
|
|
||||||
redis \
|
redis \
|
||||||
make \
|
make
|
||||||
postgresql
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
PG_VERSION="16" install_postgresql
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g pnpm@10.4.0
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL"
|
msg_info "Setting up PostgreSQL"
|
||||||
DB_NAME="docmost_db"
|
DB_NAME="docmost_db"
|
||||||
|
@ -16,10 +16,11 @@ update_os
|
|||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
php-imap \
|
php-imap \
|
||||||
debconf-utils \
|
debconf-utils
|
||||||
mariadb-server
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Setting up Database"
|
msg_info "Setting up Database"
|
||||||
ROOT_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
ROOT_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||||
$STD sudo mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$ROOT_PASS'); flush privileges;"
|
$STD sudo mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$ROOT_PASS'); flush privileges;"
|
||||||
|
@ -17,21 +17,10 @@ msg_info "Installing Dependencies"
|
|||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
lsb-release \
|
lsb-release \
|
||||||
apt-transport-https \
|
apt-transport-https \
|
||||||
debconf-utils \
|
debconf-utils
|
||||||
gpg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g yarn
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
read -p "${TAB3}Please enter the name for your server: " servername
|
read -p "${TAB3}Please enter the name for your server: " servername
|
||||||
|
|
||||||
|
@ -15,21 +15,10 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
gnupg \
|
|
||||||
xdg-utils
|
xdg-utils
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setup Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Setup Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Setup Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g yarn
|
|
||||||
msg_ok "Setup Node.js"
|
|
||||||
|
|
||||||
msg_info "Setup Excalidraw"
|
msg_info "Setup Excalidraw"
|
||||||
temp_file=$(mktemp)
|
temp_file=$(mktemp)
|
||||||
|
@ -18,13 +18,14 @@ curl -fsSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/p
|
|||||||
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list
|
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list
|
||||||
$STD apt-get update
|
$STD apt-get update
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
apache2 \
|
apache2 \
|
||||||
libapache2-mod-php8.4 \
|
libapache2-mod-php8.4 \
|
||||||
php8.4-{bcmath,cli,intl,curl,zip,gd,xml,mbstring,mysql} \
|
php8.4-{bcmath,cli,intl,curl,zip,gd,xml,mbstring,mysql} \
|
||||||
mariadb-server \
|
composer
|
||||||
composer
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Setting up database"
|
msg_info "Setting up database"
|
||||||
DB_NAME=firefly
|
DB_NAME=firefly
|
||||||
DB_USER=firefly
|
DB_USER=firefly
|
||||||
@ -34,10 +35,10 @@ mysql -u root -e "CREATE DATABASE $DB_NAME;"
|
|||||||
mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
|
mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
|
||||||
mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
||||||
{
|
{
|
||||||
echo "Firefly-Credentials"
|
echo "Firefly-Credentials"
|
||||||
echo "Firefly Database User: $DB_USER"
|
echo "Firefly Database User: $DB_USER"
|
||||||
echo "Firefly Database Password: $DB_PASS"
|
echo "Firefly Database Password: $DB_PASS"
|
||||||
echo "Firefly Database Name: $DB_NAME"
|
echo "Firefly Database Name: $DB_NAME"
|
||||||
} >>~/firefly.creds
|
} >>~/firefly.creds
|
||||||
msg_ok "Set up database"
|
msg_ok "Set up database"
|
||||||
|
|
||||||
|
@ -13,17 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
$STD apt-get install -y gpg
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing FlowiseAI (Patience)"
|
msg_info "Installing FlowiseAI (Patience)"
|
||||||
$STD npm install -g flowise \
|
$STD npm install -g flowise \
|
||||||
|
@ -15,12 +15,13 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
postgresql \
|
|
||||||
apache2 \
|
apache2 \
|
||||||
php-{curl,dom,json,ctype,pgsql,gmp,mbstring,iconv,zip} \
|
php-{curl,dom,json,ctype,pgsql,gmp,mbstring,iconv,zip} \
|
||||||
libapache2-mod-php
|
libapache2-mod-php
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
PG_VERSION="16" install_postgresql
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL"
|
msg_info "Setting up PostgreSQL"
|
||||||
DB_NAME=freshrss
|
DB_NAME=freshrss
|
||||||
DB_USER=freshrss
|
DB_USER=freshrss
|
||||||
|
@ -23,13 +23,7 @@ $STD apt-get install -y {python3,python3-dev,python3-setuptools,python3-distutil
|
|||||||
$STD pip install --upgrade pip
|
$STD pip install --upgrade pip
|
||||||
msg_ok "Setup Python3"
|
msg_ok "Setup Python3"
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing go2rtc"
|
msg_info "Installing go2rtc"
|
||||||
mkdir -p /usr/local/go2rtc/bin
|
mkdir -p /usr/local/go2rtc/bin
|
||||||
|
@ -16,11 +16,11 @@ update_os
|
|||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
nginx \
|
nginx \
|
||||||
mariadb-server \
|
ca-certificates
|
||||||
ca-certificates \
|
|
||||||
gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Configuring Database"
|
msg_info "Configuring Database"
|
||||||
DB_NAME=ghost
|
DB_NAME=ghost
|
||||||
DB_USER=ghostuser
|
DB_USER=ghostuser
|
||||||
@ -37,16 +37,7 @@ mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRI
|
|||||||
} >>~/ghost.creds
|
} >>~/ghost.creds
|
||||||
msg_ok "Configured MySQL"
|
msg_ok "Configured MySQL"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="20" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Setup Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Setup Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing Ghost CLI"
|
msg_info "Installing Ghost CLI"
|
||||||
$STD npm install ghost-cli@latest -g
|
$STD npm install ghost-cli@latest -g
|
||||||
|
@ -15,14 +15,15 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
git \
|
git \
|
||||||
apache2 \
|
apache2 \
|
||||||
php8.2-{apcu,cli,common,curl,gd,imap,ldap,mysql,xmlrpc,xml,mbstring,bcmath,intl,zip,redis,bz2,soap} \
|
php8.2-{apcu,cli,common,curl,gd,imap,ldap,mysql,xmlrpc,xml,mbstring,bcmath,intl,zip,redis,bz2,soap} \
|
||||||
php-cas \
|
php-cas \
|
||||||
libapache2-mod-php \
|
libapache2-mod-php
|
||||||
mariadb-server
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Setting up database"
|
msg_info "Setting up database"
|
||||||
DB_NAME=glpi_db
|
DB_NAME=glpi_db
|
||||||
DB_USER=glpi
|
DB_USER=glpi
|
||||||
@ -33,10 +34,10 @@ mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
|
|||||||
mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';"
|
mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';"
|
||||||
mysql -u root -e "GRANT SELECT ON \`mysql\`.\`time_zone_name\` TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
mysql -u root -e "GRANT SELECT ON \`mysql\`.\`time_zone_name\` TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
||||||
{
|
{
|
||||||
echo "GLPI Database Credentials"
|
echo "GLPI Database Credentials"
|
||||||
echo "Database: $DB_NAME"
|
echo "Database: $DB_NAME"
|
||||||
echo "Username: $DB_USER"
|
echo "Username: $DB_USER"
|
||||||
echo "Password: $DB_PASS"
|
echo "Password: $DB_PASS"
|
||||||
} >>~/glpi_db.creds
|
} >>~/glpi_db.creds
|
||||||
msg_ok "Set up database"
|
msg_ok "Set up database"
|
||||||
|
|
||||||
|
@ -19,30 +19,11 @@ $STD apt-get install -y \
|
|||||||
rclone \
|
rclone \
|
||||||
tzdata \
|
tzdata \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
build-essential \
|
build-essential
|
||||||
gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Golang"
|
install_go
|
||||||
set +o pipefail
|
NODE_VERSION="22" install_node_and_modules
|
||||||
temp_file=$(mktemp)
|
|
||||||
golang_tarball=$(curl -s https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1)
|
|
||||||
wget -q https://golang.org/dl/"$golang_tarball" -O "$temp_file"
|
|
||||||
tar -C /usr/local -xzf "$temp_file"
|
|
||||||
ln -sf /usr/local/go/bin/go /usr/local/bin/go
|
|
||||||
set -o pipefail
|
|
||||||
msg_ok "Setup Golang"
|
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Setup ${APPLICATION} (Patience)"
|
msg_info "Setup ${APPLICATION} (Patience)"
|
||||||
temp_file=$(mktemp)
|
temp_file=$(mktemp)
|
||||||
|
@ -16,20 +16,12 @@ update_os
|
|||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
make \
|
make \
|
||||||
gnupg \
|
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
unzip \
|
unzip \
|
||||||
python3.11-venv
|
python3.11-venv
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g yarn
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing Grist"
|
msg_info "Installing Grist"
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
@ -15,24 +15,14 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
libkrb5-dev \
|
libkrb5-dev \
|
||||||
gnupg \
|
build-essential \
|
||||||
build-essential \
|
git
|
||||||
git
|
|
||||||
curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb" -o $(basename "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb")
|
curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb" -o $(basename "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb")
|
||||||
$STD dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
|
$STD dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Setup Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Setup Node.js"
|
|
||||||
|
|
||||||
msg_info "Setup ${APPLICATION}"
|
msg_info "Setup ${APPLICATION}"
|
||||||
temp_file=$(mktemp)
|
temp_file=$(mktemp)
|
||||||
|
@ -17,17 +17,7 @@ msg_info "Installing Dependencies"
|
|||||||
$STD apt-get install -y gpg jq
|
$STD apt-get install -y gpg jq
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g pnpm
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
LOCAL_IP=$(hostname -I | awk '{print $1}')
|
LOCAL_IP=$(hostname -I | awk '{print $1}')
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
@ -18,16 +18,7 @@ $STD apt-get install -y ca-certificates
|
|||||||
$STD apt-get install -y gnupg
|
$STD apt-get install -y gnupg
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing ioBroker (Patience)"
|
msg_info "Installing ioBroker (Patience)"
|
||||||
$STD bash <(curl -fsSL https://iobroker.net/install.sh)
|
$STD bash <(curl -fsSL https://iobroker.net/install.sh)
|
||||||
|
@ -49,14 +49,8 @@ sed -i \
|
|||||||
/etc/meilisearch.toml
|
/etc/meilisearch.toml
|
||||||
msg_ok "Installed Meilisearch"
|
msg_ok "Installed Meilisearch"
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g corepack@0.31.0
|
$STD npm install -g corepack@0.31.0
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing karakeep"
|
msg_info "Installing karakeep"
|
||||||
cd /opt
|
cd /opt
|
||||||
|
@ -20,10 +20,11 @@ $STD apt-get install -y \
|
|||||||
git \
|
git \
|
||||||
expect \
|
expect \
|
||||||
composer \
|
composer \
|
||||||
mariadb-server \
|
|
||||||
lsb-release
|
lsb-release
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Adding PHP8.4 Repository"
|
msg_info "Adding PHP8.4 Repository"
|
||||||
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
||||||
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
||||||
|
@ -15,11 +15,13 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
gnupg2 postgresql \
|
|
||||||
apache2 \
|
apache2 \
|
||||||
lsb-release
|
lsb-release
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
||||||
|
PG_VERSION="16" install_postgresql
|
||||||
|
|
||||||
msg_info "Setup PHP8.4 Repository"
|
msg_info "Setup PHP8.4 Repository"
|
||||||
$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
||||||
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
||||||
@ -49,16 +51,6 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMP
|
|||||||
} >>~/koillection.creds
|
} >>~/koillection.creds
|
||||||
msg_ok "Set up PostgreSQL"
|
msg_ok "Set up PostgreSQL"
|
||||||
|
|
||||||
msg_info "Setting up Node.js/Yarn"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g npm@latest
|
|
||||||
$STD npm install -g yarn
|
|
||||||
msg_ok "Installed Node.js/Yarn"
|
|
||||||
|
|
||||||
msg_info "Installing Koillection"
|
msg_info "Installing Koillection"
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
cd /opt
|
cd /opt
|
||||||
|
@ -18,21 +18,9 @@ $STD apt-get install -y make
|
|||||||
$STD apt-get install -y g++
|
$STD apt-get install -y g++
|
||||||
$STD apt-get install -y gcc
|
$STD apt-get install -y gcc
|
||||||
$STD apt-get install -y ca-certificates
|
$STD apt-get install -y ca-certificates
|
||||||
$STD apt-get install -y gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g npm@latest
|
|
||||||
$STD npm install -g yarn
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
msg_info "Installing Mafl v${RELEASE}"
|
msg_info "Installing Mafl v${RELEASE}"
|
||||||
|
@ -13,20 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
$STD apt-get install -y gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Setup MagicMirror"
|
msg_info "Setup MagicMirror"
|
||||||
temp_file=$(mktemp)
|
temp_file=$(mktemp)
|
||||||
|
@ -13,11 +13,12 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing MariaDB"
|
install_mariadb
|
||||||
$STD apt-get install -y mariadb-server
|
|
||||||
|
msg_info "Setup MariaDB"
|
||||||
sed -i 's/^# *\(port *=.*\)/\1/' /etc/mysql/my.cnf
|
sed -i 's/^# *\(port *=.*\)/\1/' /etc/mysql/my.cnf
|
||||||
sed -i 's/^bind-address/#bind-address/g' /etc/mysql/mariadb.conf.d/50-server.cnf
|
sed -i 's/^bind-address/#bind-address/g' /etc/mysql/mariadb.conf.d/50-server.cnf
|
||||||
msg_ok "Installed MariaDB"
|
msg_ok "Setup MariaDB"
|
||||||
|
|
||||||
read -r -p "${TAB3}Would you like to add PhpMyAdmin? <y/N> " prompt
|
read -r -p "${TAB3}Would you like to add PhpMyAdmin? <y/N> " prompt
|
||||||
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
||||||
|
@ -40,17 +40,7 @@ msg_ok "Setup ${APPLICATION}"
|
|||||||
|
|
||||||
read -r -p "${TAB3}Do you want add meilisearch-ui? [y/n]: " prompt
|
read -r -p "${TAB3}Do you want add meilisearch-ui? [y/n]: " prompt
|
||||||
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g pnpm
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Setup ${APPLICATION}-ui"
|
msg_info "Setup ${APPLICATION}-ui"
|
||||||
tmp_file=$(mktemp)
|
tmp_file=$(mktemp)
|
||||||
|
@ -21,31 +21,8 @@ $STD apt-get install -y \
|
|||||||
tzdata
|
tzdata
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
install_go
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing pnpm"
|
|
||||||
$STD npm install -g pnpm
|
|
||||||
msg_ok "Installed pnpm"
|
|
||||||
|
|
||||||
msg_info "Installing Golang"
|
|
||||||
set +o pipefail
|
|
||||||
temp_file=$(mktemp)
|
|
||||||
golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1)
|
|
||||||
curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file"
|
|
||||||
tar -C /usr/local -xzf "$temp_file"
|
|
||||||
ln -sf /usr/local/go/bin/go /usr/local/bin/go
|
|
||||||
rm -f "$temp_file"
|
|
||||||
set -o pipefail
|
|
||||||
msg_ok "Installed Golang"
|
|
||||||
|
|
||||||
msg_info "Installing Memos (Patience)"
|
msg_info "Installing Memos (Patience)"
|
||||||
mkdir -p /opt/memos_data
|
mkdir -p /opt/memos_data
|
||||||
|
@ -15,19 +15,9 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y ca-certificates
|
$STD apt-get install -y ca-certificates
|
||||||
$STD apt-get install -y gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing MeshCentral"
|
msg_info "Installing MeshCentral"
|
||||||
mkdir /opt/meshcentral
|
mkdir /opt/meshcentral
|
||||||
|
@ -25,7 +25,6 @@ $STD apt-get install -y --no-install-recommends \
|
|||||||
ffmpeg \
|
ffmpeg \
|
||||||
git \
|
git \
|
||||||
make \
|
make \
|
||||||
gnupg \
|
|
||||||
ca-certificates
|
ca-certificates
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
@ -37,16 +36,7 @@ $STD apt-get install -y \
|
|||||||
python3-venv
|
python3-venv
|
||||||
msg_ok "Setup Python3"
|
msg_ok "Setup Python3"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing MeTube"
|
msg_info "Installing MeTube"
|
||||||
$STD git clone https://github.com/alexta69/metube /opt/metube
|
$STD git clone https://github.com/alexta69/metube /opt/metube
|
||||||
|
@ -15,13 +15,15 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
gnupg2 mariadb-server \
|
apache2 \
|
||||||
apache2 \
|
libapache2-mod-php \
|
||||||
libapache2-mod-php \
|
php-{bcmath,curl,dom,gd,gmp,iconv,intl,json,mbstring,mysqli,opcache,pdo-mysql,redis,tokenizer,xml,zip} \
|
||||||
php-{bcmath,curl,dom,gd,gmp,iconv,intl,json,mbstring,mysqli,opcache,pdo-mysql,redis,tokenizer,xml,zip} \
|
composer
|
||||||
composer
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
||||||
|
|
||||||
msg_info "Setting up MariaDB"
|
msg_info "Setting up MariaDB"
|
||||||
DB_NAME=monica
|
DB_NAME=monica
|
||||||
DB_USER=monica
|
DB_USER=monica
|
||||||
@ -30,23 +32,13 @@ $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 "monica-Credentials"
|
echo "monica-Credentials"
|
||||||
echo "monica Database User: $DB_USER"
|
echo "monica Database User: $DB_USER"
|
||||||
echo "monica Database Password: $DB_PASS"
|
echo "monica Database Password: $DB_PASS"
|
||||||
echo "monica Database Name: $DB_NAME"
|
echo "monica Database Name: $DB_NAME"
|
||||||
} >>~/monica.creds
|
} >>~/monica.creds
|
||||||
msg_ok "Set up MariaDB"
|
msg_ok "Set up MariaDB"
|
||||||
|
|
||||||
msg_info "Setting up Node.js/Yarn"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g npm@latest
|
|
||||||
$STD npm install -g yarn
|
|
||||||
msg_ok "Installed Node.js/Yarn"
|
|
||||||
|
|
||||||
msg_info "Installing monica"
|
msg_info "Installing monica"
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/monicahq/monica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/monicahq/monica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
cd /opt
|
cd /opt
|
||||||
@ -57,9 +49,9 @@ cd /opt/monica
|
|||||||
cp /opt/monica/.env.example /opt/monica/.env
|
cp /opt/monica/.env.example /opt/monica/.env
|
||||||
HASH_SALT=$(openssl rand -base64 32)
|
HASH_SALT=$(openssl rand -base64 32)
|
||||||
sed -i -e "s|^DB_USERNAME=.*|DB_USERNAME=${DB_USER}|" \
|
sed -i -e "s|^DB_USERNAME=.*|DB_USERNAME=${DB_USER}|" \
|
||||||
-e "s|^DB_PASSWORD=.*|DB_PASSWORD=${DB_PASS}|" \
|
-e "s|^DB_PASSWORD=.*|DB_PASSWORD=${DB_PASS}|" \
|
||||||
-e "s|^HASH_SALT=.*|HASH_SALT=${HASH_SALT}|" \
|
-e "s|^HASH_SALT=.*|HASH_SALT=${HASH_SALT}|" \
|
||||||
/opt/monica/.env
|
/opt/monica/.env
|
||||||
$STD composer install --no-dev -o --no-interaction
|
$STD composer install --no-dev -o --no-interaction
|
||||||
$STD yarn install
|
$STD yarn install
|
||||||
$STD yarn run production
|
$STD yarn run production
|
||||||
|
@ -16,20 +16,10 @@ update_os
|
|||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
gpg \
|
|
||||||
ca-certificates
|
ca-certificates
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing MySpeed"
|
msg_info "Installing MySpeed"
|
||||||
RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5)
|
RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5)
|
||||||
|
@ -15,20 +15,10 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
ca-certificates \
|
ca-certificates
|
||||||
gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing n8n (Patience)"
|
msg_info "Installing n8n (Patience)"
|
||||||
$STD npm install --global patch-package
|
$STD npm install --global patch-package
|
||||||
|
@ -17,7 +17,6 @@ msg_info "Installing Dependencies"
|
|||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
apache2 \
|
apache2 \
|
||||||
redis-server \
|
redis-server \
|
||||||
postgresql \
|
|
||||||
build-essential \
|
build-essential \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxslt1-dev \
|
libxslt1-dev \
|
||||||
@ -27,6 +26,8 @@ $STD apt-get install -y \
|
|||||||
zlib1g-dev
|
zlib1g-dev
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
PG_VERSION="16" install_postgresql
|
||||||
|
|
||||||
msg_info "Installing Python"
|
msg_info "Installing Python"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
python3 \
|
python3 \
|
||||||
|
@ -16,20 +16,10 @@ update_os
|
|||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
git \
|
git \
|
||||||
ca-certificates \
|
ca-certificates
|
||||||
gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing Node-Red"
|
msg_info "Installing Node-Red"
|
||||||
$STD npm install -g --unsafe-perm node-red
|
$STD npm install -g --unsafe-perm node-red
|
||||||
|
@ -15,32 +15,14 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies (Patience)"
|
msg_info "Installing Dependencies (Patience)"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
redis-server \
|
redis-server \
|
||||||
expect \
|
expect \
|
||||||
gnupg \
|
ca-certificates
|
||||||
ca-certificates
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js & MongoDB Repository"
|
install_mongodb
|
||||||
mkdir -p /etc/apt/keyrings
|
NODE_VERSION="22" install_node_and_modules
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
|
|
||||||
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | gpg --dearmor -o /etc/apt/keyrings/mongodb-server-8.0.gpg
|
|
||||||
echo "deb [arch=amd64,arm64 signed-by=/etc/apt/keyrings/mongodb-server-8.0.gpg] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" >/etc/apt/sources.list.d/mongodb-org-8.0.list
|
|
||||||
$STD apt-get update
|
|
||||||
msg_ok "Set up Repositories"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing MongoDB"
|
|
||||||
$STD apt-get install -y mongodb-org
|
|
||||||
systemctl enable -q --now mongod
|
|
||||||
sleep 10 # MongoDB needs some secounds to start, if not sleep it collide with following mongosh
|
|
||||||
msg_ok "Installed MongoDB"
|
|
||||||
|
|
||||||
msg_info "Configure MongoDB"
|
msg_info "Configure MongoDB"
|
||||||
MONGO_ADMIN_USER="admin"
|
MONGO_ADMIN_USER="admin"
|
||||||
@ -50,12 +32,12 @@ NODEBB_PWD="$(openssl rand -base64 18 | cut -c1-13)"
|
|||||||
MONGO_CONNECTION_STRING="mongodb://${NODEBB_USER}:${NODEBB_PWD}@localhost:27017/nodebb"
|
MONGO_CONNECTION_STRING="mongodb://${NODEBB_USER}:${NODEBB_PWD}@localhost:27017/nodebb"
|
||||||
NODEBB_SECRET=$(uuidgen)
|
NODEBB_SECRET=$(uuidgen)
|
||||||
{
|
{
|
||||||
echo "NodeBB-Credentials"
|
echo "NodeBB-Credentials"
|
||||||
echo "Mongo Database User: $MONGO_ADMIN_USER"
|
echo "Mongo Database User: $MONGO_ADMIN_USER"
|
||||||
echo "Mongo Database Password: $MONGO_ADMIN_PWD"
|
echo "Mongo Database Password: $MONGO_ADMIN_PWD"
|
||||||
echo "NodeBB User: $NODEBB_USER"
|
echo "NodeBB User: $NODEBB_USER"
|
||||||
echo "NodeBB Password: $NODEBB_PWD"
|
echo "NodeBB Password: $NODEBB_PWD"
|
||||||
echo "NodeBB Secret: $NODEBB_SECRET"
|
echo "NodeBB Secret: $NODEBB_SECRET"
|
||||||
} >>~/nodebb.creds
|
} >>~/nodebb.creds
|
||||||
|
|
||||||
$STD mongosh <<EOF
|
$STD mongosh <<EOF
|
||||||
|
@ -16,7 +16,6 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
gpg \
|
|
||||||
git \
|
git \
|
||||||
ffmpeg
|
ffmpeg
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
@ -27,16 +26,7 @@ $STD apt-get install -y --no-install-recommends \
|
|||||||
python3-pip
|
python3-pip
|
||||||
msg_ok "Setup Python3"
|
msg_ok "Setup Python3"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing Open WebUI (Patience)"
|
msg_info "Installing Open WebUI (Patience)"
|
||||||
$STD git clone https://github.com/open-webui/open-webui.git /opt/open-webui
|
$STD git clone https://github.com/open-webui/open-webui.git /opt/open-webui
|
||||||
|
@ -21,25 +21,10 @@ $STD apt-get install -y \
|
|||||||
redis
|
redis
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="20" NODE_MODULE="yarn@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
PG_VERSION="16" install_postgresql
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL Repository"
|
msg_info "Set up PostgreSQL Database"
|
||||||
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
|
|
||||||
echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >/etc/apt/sources.list.d/pgdg.list
|
|
||||||
msg_ok "Set up PostgreSQL Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g yarn
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Install/Set up PostgreSQL Database"
|
|
||||||
$STD apt-get install -y postgresql-16
|
|
||||||
DB_NAME="outline"
|
DB_NAME="outline"
|
||||||
DB_USER="outline"
|
DB_USER="outline"
|
||||||
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
|
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
|
||||||
@ -48,7 +33,13 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCO
|
|||||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
|
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
|
||||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
|
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
|
||||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';"
|
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';"
|
||||||
msg_ok "Set up PostgreSQL"
|
{
|
||||||
|
echo "Outline-Credentials"
|
||||||
|
echo "Outline Database User: $DB_USER"
|
||||||
|
echo "Outline Database Password: $DB_PASS"
|
||||||
|
echo "Outline Database Name: $DB_NAME"
|
||||||
|
} >>~/outline.creds
|
||||||
|
msg_ok "Set up PostgreSQL Database"
|
||||||
|
|
||||||
msg_info "Setup Outline (Patience)"
|
msg_info "Setup Outline (Patience)"
|
||||||
SECRET_KEY="$(openssl rand -hex 32)"
|
SECRET_KEY="$(openssl rand -hex 32)"
|
||||||
|
@ -16,24 +16,10 @@ update_os
|
|||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
git \
|
git \
|
||||||
ca-certificates \
|
ca-certificates
|
||||||
gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing Yarn"
|
|
||||||
$STD npm install -g yarn
|
|
||||||
msg_ok "Installed Yarn"
|
|
||||||
|
|
||||||
msg_info "Installing Overseerr (Patience)"
|
msg_info "Installing Overseerr (Patience)"
|
||||||
git clone -q https://github.com/sct/overseerr.git /opt/overseerr
|
git clone -q https://github.com/sct/overseerr.git /opt/overseerr
|
||||||
|
@ -15,20 +15,10 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
git \
|
git
|
||||||
gpg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing PairDrop"
|
msg_info "Installing PairDrop"
|
||||||
git clone -q https://github.com/schlagmichdoch/PairDrop.git /opt/pairdrop
|
git clone -q https://github.com/schlagmichdoch/PairDrop.git /opt/pairdrop
|
||||||
|
@ -16,7 +16,6 @@ update_os
|
|||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
gcc \
|
gcc \
|
||||||
gnupg \
|
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
musl-dev \
|
musl-dev \
|
||||||
mupdf \
|
mupdf \
|
||||||
@ -24,27 +23,8 @@ $STD apt-get install -y \
|
|||||||
musl-tools
|
musl-tools
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
install_go
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing Golang"
|
|
||||||
set +o pipefail
|
|
||||||
temp_file=$(mktemp)
|
|
||||||
golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1)
|
|
||||||
curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file"
|
|
||||||
tar -C /usr/local -xzf "$temp_file"
|
|
||||||
ln -sf /usr/local/go/bin/go /usr/local/bin/go
|
|
||||||
rm -f "$temp_file"
|
|
||||||
set -o pipefail
|
|
||||||
msg_ok "Installed Golang"
|
|
||||||
|
|
||||||
msg_info "Setup Paperless-GPT"
|
msg_info "Setup Paperless-GPT"
|
||||||
temp_file=$(mktemp)
|
temp_file=$(mktemp)
|
||||||
|
@ -16,7 +16,6 @@ update_os
|
|||||||
msg_info "Installing Dependencies (Patience)"
|
msg_info "Installing Dependencies (Patience)"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
redis \
|
redis \
|
||||||
postgresql \
|
|
||||||
build-essential \
|
build-essential \
|
||||||
imagemagick \
|
imagemagick \
|
||||||
fonts-liberation \
|
fonts-liberation \
|
||||||
@ -37,6 +36,8 @@ $STD apt-get install -y \
|
|||||||
libleptonica-dev
|
libleptonica-dev
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
PG_VERSION="16" install_postgresql
|
||||||
|
|
||||||
msg_info "Setup Python3"
|
msg_info "Setup Python3"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
python3 \
|
python3 \
|
||||||
|
@ -21,10 +21,12 @@ $STD apt-get install -y \
|
|||||||
lsb-release \
|
lsb-release \
|
||||||
php-{opcache,curl,gd,mbstring,xml,bcmath,intl,zip,xsl,pgsql} \
|
php-{opcache,curl,gd,mbstring,xml,bcmath,intl,zip,xsl,pgsql} \
|
||||||
libapache2-mod-php \
|
libapache2-mod-php \
|
||||||
composer \
|
composer
|
||||||
postgresql
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
||||||
|
PG_VERSION="16" install_postgresql
|
||||||
|
|
||||||
msg_info "Setting up PHP"
|
msg_info "Setting up PHP"
|
||||||
PHPVER=$(php -r 'echo PHP_MAJOR_VERSION . "." . PHP_MINOR_VERSION . "\n";')
|
PHPVER=$(php -r 'echo PHP_MAJOR_VERSION . "." . PHP_MINOR_VERSION . "\n";')
|
||||||
sed -i "s@post_max_size = 8M@post_max_size = 100M@g" /etc/php/${PHPVER}/apache2/php.ini
|
sed -i "s@post_max_size = 8M@post_max_size = 100M@g" /etc/php/${PHPVER}/apache2/php.ini
|
||||||
@ -45,16 +47,6 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMP
|
|||||||
} >>~/partdb.creds
|
} >>~/partdb.creds
|
||||||
msg_ok "Set up PostgreSQL"
|
msg_ok "Set up PostgreSQL"
|
||||||
|
|
||||||
msg_info "Setting up Node.js/Yarn"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g npm@latest
|
|
||||||
$STD npm install -g yarn
|
|
||||||
msg_ok "Installed Node.js/Yarn"
|
|
||||||
|
|
||||||
msg_info "Installing Part-DB (Patience)"
|
msg_info "Installing Part-DB (Patience)"
|
||||||
cd /opt
|
cd /opt
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/Part-DB/Part-DB-server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/Part-DB/Part-DB-server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
@ -15,16 +15,16 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
git \
|
git \
|
||||||
software-properties-common \
|
software-properties-common \
|
||||||
apt-transport-https \
|
apt-transport-https \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
gnupg2 \
|
nginx \
|
||||||
mariadb-server \
|
redis-server
|
||||||
nginx \
|
|
||||||
redis-server
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Adding PHP Repository"
|
msg_info "Adding PHP Repository"
|
||||||
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
||||||
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
||||||
@ -35,8 +35,8 @@ msg_ok "Added PHP Repository"
|
|||||||
msg_info "Installing PHP"
|
msg_info "Installing PHP"
|
||||||
$STD apt-get remove -y php8.2*
|
$STD apt-get remove -y php8.2*
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
php8.3 \
|
php8.3 \
|
||||||
php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm,redis}
|
php8.3-{common,cli,gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm,redis}
|
||||||
msg_info "Installed PHP"
|
msg_info "Installed PHP"
|
||||||
|
|
||||||
msg_info "Installing Composer"
|
msg_info "Installing Composer"
|
||||||
@ -62,10 +62,10 @@ mysql -u root -e "CREATE DATABASE $DB_NAME;"
|
|||||||
mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
|
mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
|
||||||
mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost' WITH GRANT OPTION;"
|
mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost' WITH GRANT OPTION;"
|
||||||
{
|
{
|
||||||
echo "Paymenter Database Credentials"
|
echo "Paymenter Database Credentials"
|
||||||
echo "Database: $DB_NAME"
|
echo "Database: $DB_NAME"
|
||||||
echo "Username: $DB_USER"
|
echo "Username: $DB_USER"
|
||||||
echo "Password: $DB_PASS"
|
echo "Password: $DB_PASS"
|
||||||
} >>~/paymenter_db.creds
|
} >>~/paymenter_db.creds
|
||||||
cp .env.example .env
|
cp .env.example .env
|
||||||
$STD composer install --no-dev --optimize-autoloader --no-interaction
|
$STD composer install --no-dev --optimize-autoloader --no-interaction
|
||||||
|
@ -14,17 +14,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
$STD apt-get install -y gpg
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing NUT"
|
msg_info "Installing NUT"
|
||||||
$STD apt-get install -y nut-client
|
$STD apt-get install -y nut-client
|
||||||
|
@ -16,12 +16,12 @@ update_os
|
|||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
lsb-release \
|
lsb-release \
|
||||||
mariadb-server \
|
|
||||||
mariadb-client \
|
|
||||||
apache2 \
|
apache2 \
|
||||||
composer
|
composer
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Adding PHP8.4 Repository"
|
msg_info "Adding PHP8.4 Repository"
|
||||||
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
||||||
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
||||||
|
@ -16,21 +16,11 @@ update_os
|
|||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
apache2 \
|
apache2 \
|
||||||
gpg \
|
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
git
|
git
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Setup Pf2eTools"
|
msg_info "Setup Pf2eTools"
|
||||||
cd /opt
|
cd /opt
|
||||||
|
@ -15,13 +15,14 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
mariadb-server \
|
apache2 \
|
||||||
apache2 \
|
libapache2-mod-php \
|
||||||
libapache2-mod-php \
|
php8.2 php8.2-{fpm,curl,cli,mysql,gd,intl,imap,apcu,pspell,tidy,xmlrpc,mbstring,gmp,xml,ldap,common,snmp} \
|
||||||
php8.2 php8.2-{fpm,curl,cli,mysql,gd,intl,imap,apcu,pspell,tidy,xmlrpc,mbstring,gmp,xml,ldap,common,snmp} \
|
php-pear
|
||||||
php-pear
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Setting up MariaDB"
|
msg_info "Setting up MariaDB"
|
||||||
DB_NAME=phpipam
|
DB_NAME=phpipam
|
||||||
DB_USER=phpipam
|
DB_USER=phpipam
|
||||||
@ -30,10 +31,10 @@ $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 "phpIPAM-Credentials"
|
echo "phpIPAM-Credentials"
|
||||||
echo "phpIPAM Database User: $DB_USER"
|
echo "phpIPAM Database User: $DB_USER"
|
||||||
echo "phpIPAM Database Password: $DB_PASS"
|
echo "phpIPAM Database Password: $DB_PASS"
|
||||||
echo "phpIPAM Database Name: $DB_NAME"
|
echo "phpIPAM Database Name: $DB_NAME"
|
||||||
} >>~/phpipam.creds
|
} >>~/phpipam.creds
|
||||||
msg_ok "Set up MariaDB"
|
msg_ok "Set up MariaDB"
|
||||||
|
|
||||||
@ -45,10 +46,10 @@ unzip -q "phpipam-v${RELEASE}.zip"
|
|||||||
mysql -u root "${DB_NAME}" </opt/phpipam/db/SCHEMA.sql
|
mysql -u root "${DB_NAME}" </opt/phpipam/db/SCHEMA.sql
|
||||||
cp /opt/phpipam/config.dist.php /opt/phpipam/config.php
|
cp /opt/phpipam/config.dist.php /opt/phpipam/config.php
|
||||||
sed -i -e "s/\(\$disable_installer = \).*/\1true;/" \
|
sed -i -e "s/\(\$disable_installer = \).*/\1true;/" \
|
||||||
-e "s/\(\$db\['user'\] = \).*/\1'$DB_USER';/" \
|
-e "s/\(\$db\['user'\] = \).*/\1'$DB_USER';/" \
|
||||||
-e "s/\(\$db\['pass'\] = \).*/\1'$DB_PASS';/" \
|
-e "s/\(\$db\['pass'\] = \).*/\1'$DB_PASS';/" \
|
||||||
-e "s/\(\$db\['name'\] = \).*/\1'$DB_NAME';/" \
|
-e "s/\(\$db\['name'\] = \).*/\1'$DB_NAME';/" \
|
||||||
/opt/phpipam/config.php
|
/opt/phpipam/config.php
|
||||||
sed -i '/max_execution_time/s/= .*/= 600/' /etc/php/8.2/apache2/php.ini
|
sed -i '/max_execution_time/s/= .*/= 600/' /etc/php/8.2/apache2/php.ini
|
||||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
||||||
msg_ok "Installed phpIPAM"
|
msg_ok "Installed phpIPAM"
|
||||||
|
@ -16,26 +16,14 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
git \
|
git
|
||||||
gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="pm2" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install pm2 -g
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing Pingvin Share (Patience)"
|
msg_info "Installing Pingvin Share (Patience)"
|
||||||
cd /opt
|
cd /opt
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/stonith404/pingvin-share/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/stonith404/pingvin-share/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
|
||||||
curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip")
|
curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip")
|
||||||
unzip -q v${RELEASE}.zip
|
unzip -q v${RELEASE}.zip
|
||||||
echo "${RELEASE}" >"/opt/pingvin_version.txt"
|
echo "${RELEASE}" >"/opt/pingvin_version.txt"
|
||||||
@ -49,10 +37,9 @@ sed -i '/"admin.config.smtp.allow-unauthorized-certificates":\|admin.config.smtp
|
|||||||
$STD npm install
|
$STD npm install
|
||||||
$STD npm run build
|
$STD npm run build
|
||||||
$STD pm2 start --name="pingvin-share-frontend" npm -- run start
|
$STD pm2 start --name="pingvin-share-frontend" npm -- run start
|
||||||
# create and enable pm2-root systemd script
|
|
||||||
$STD pm2 startup systemd
|
$STD pm2 startup systemd
|
||||||
# save running pm2 processes so pingvin-share can survive reboots
|
|
||||||
$STD pm2 save
|
$STD pm2 save
|
||||||
|
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
||||||
msg_ok "Installed Pingvin Share"
|
msg_ok "Installed Pingvin Share"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
|
@ -15,12 +15,12 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
gnupg2 \
|
redis \
|
||||||
mariadb-server \
|
nginx
|
||||||
redis \
|
|
||||||
nginx
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Setting up Adoptium Repository"
|
msg_info "Setting up Adoptium Repository"
|
||||||
mkdir -p /etc/apt/keyrings
|
mkdir -p /etc/apt/keyrings
|
||||||
curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg
|
curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg
|
||||||
@ -41,10 +41,10 @@ $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 "Plant-it Credentials"
|
echo "Plant-it Credentials"
|
||||||
echo "Plant-it Database User: $DB_USER"
|
echo "Plant-it Database User: $DB_USER"
|
||||||
echo "Plant-it Database Password: $DB_PASS"
|
echo "Plant-it Database Password: $DB_PASS"
|
||||||
echo "Plant-it Database Name: $DB_NAME"
|
echo "Plant-it Database Name: $DB_NAME"
|
||||||
} >>~/plant-it.creds
|
} >>~/plant-it.creds
|
||||||
msg_ok "Set up MariaDB"
|
msg_ok "Set up MariaDB"
|
||||||
|
|
||||||
|
@ -13,19 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
PG_VERSION="17" install_postgresql
|
||||||
$STD apt-get install -y gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL Repository"
|
|
||||||
VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)"
|
|
||||||
echo "deb http://apt.postgresql.org/pub/repos/apt ${VERSION}-pgdg main" >/etc/apt/sources.list.d/pgdg.list
|
|
||||||
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor --output /etc/apt/trusted.gpg.d/postgresql.gpg
|
|
||||||
msg_ok "Setup PostgreSQL Repository"
|
|
||||||
|
|
||||||
msg_info "Installing PostgreSQL"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y postgresql
|
|
||||||
|
|
||||||
cat <<EOF >/etc/postgresql/17/main/pg_hba.conf
|
cat <<EOF >/etc/postgresql/17/main/pg_hba.conf
|
||||||
# PostgreSQL Client Authentication Configuration File
|
# PostgreSQL Client Authentication Configuration File
|
||||||
@ -127,7 +115,7 @@ default_text_search_config = 'pg_catalog.english'
|
|||||||
include_dir = 'conf.d'
|
include_dir = 'conf.d'
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
sudo systemctl restart postgresql
|
systemctl restart postgresql
|
||||||
msg_ok "Installed PostgreSQL"
|
msg_ok "Installed PostgreSQL"
|
||||||
|
|
||||||
read -r -p "${TAB3}Would you like to add Adminer? <y/N> " prompt
|
read -r -p "${TAB3}Would you like to add Adminer? <y/N> " prompt
|
||||||
|
@ -15,12 +15,13 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
mariadb-server \
|
apache2 \
|
||||||
apache2 \
|
libapache2-mod-php \
|
||||||
libapache2-mod-php \
|
php8.2-{pdo,mysql,mbstring,gettext,fileinfo,gd,xml,zip}
|
||||||
php8.2-{pdo,mysql,mbstring,gettext,fileinfo,gd,xml,zip}
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Setting up MariaDB"
|
msg_info "Setting up MariaDB"
|
||||||
DB_NAME=projectsend
|
DB_NAME=projectsend
|
||||||
DB_USER=projectsend
|
DB_USER=projectsend
|
||||||
@ -29,10 +30,10 @@ $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 "projectsend-Credentials"
|
echo "projectsend-Credentials"
|
||||||
echo "projectsend Database User: $DB_USER"
|
echo "projectsend Database User: $DB_USER"
|
||||||
echo "projectsend Database Password: $DB_PASS"
|
echo "projectsend Database Password: $DB_PASS"
|
||||||
echo "projectsend Database Name: $DB_NAME"
|
echo "projectsend Database Name: $DB_NAME"
|
||||||
} >>~/projectsend.creds
|
} >>~/projectsend.creds
|
||||||
msg_ok "Set up MariaDB"
|
msg_ok "Set up MariaDB"
|
||||||
|
|
||||||
@ -47,14 +48,14 @@ chown -R www-data:www-data /opt/projectsend
|
|||||||
chmod -R 775 /opt/projectsend
|
chmod -R 775 /opt/projectsend
|
||||||
chmod 644 /opt/projectsend/includes/sys.config.php
|
chmod 644 /opt/projectsend/includes/sys.config.php
|
||||||
sed -i -e "s/\(define('DB_NAME', \).*/\1'$DB_NAME');/" \
|
sed -i -e "s/\(define('DB_NAME', \).*/\1'$DB_NAME');/" \
|
||||||
-e "s/\(define('DB_USER', \).*/\1'$DB_USER');/" \
|
-e "s/\(define('DB_USER', \).*/\1'$DB_USER');/" \
|
||||||
-e "s/\(define('DB_PASSWORD', \).*/\1'$DB_PASS');/" \
|
-e "s/\(define('DB_PASSWORD', \).*/\1'$DB_PASS');/" \
|
||||||
/opt/projectsend/includes/sys.config.php
|
/opt/projectsend/includes/sys.config.php
|
||||||
sed -i -e "s/^\(memory_limit = \).*/\1 256M/" \
|
sed -i -e "s/^\(memory_limit = \).*/\1 256M/" \
|
||||||
-e "s/^\(post_max_size = \).*/\1 256M/" \
|
-e "s/^\(post_max_size = \).*/\1 256M/" \
|
||||||
-e "s/^\(upload_max_filesize = \).*/\1 256M/" \
|
-e "s/^\(upload_max_filesize = \).*/\1 256M/" \
|
||||||
-e "s/^\(max_execution_time = \).*/\1 300/" \
|
-e "s/^\(max_execution_time = \).*/\1 300/" \
|
||||||
/etc/php/8.2/apache2/php.ini
|
/etc/php/8.2/apache2/php.ini
|
||||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
||||||
msg_ok "Installed projectsend"
|
msg_ok "Installed projectsend"
|
||||||
|
|
||||||
|
@ -16,21 +16,10 @@ update_os
|
|||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
jq \
|
jq \
|
||||||
ca-certificates \
|
ca-certificates
|
||||||
gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="playactor" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm i -g playactor
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing PS5-MQTT"
|
msg_info "Installing PS5-MQTT"
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/FunkeyFlo/ps5-mqtt/releases/latest | jq -r '.tag_name')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/FunkeyFlo/ps5-mqtt/releases/latest | jq -r '.tag_name')
|
||||||
|
@ -17,12 +17,12 @@ msg_info "Installing Dependencies"
|
|||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
lsb-release \
|
lsb-release \
|
||||||
redis \
|
redis \
|
||||||
mariadb-server \
|
|
||||||
mariadb-client \
|
|
||||||
apache2 \
|
apache2 \
|
||||||
composer
|
composer
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Adding PHP8.4 Repository"
|
msg_info "Adding PHP8.4 Repository"
|
||||||
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
||||||
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
||||||
|
100
install/pulse-install.sh
Normal file
100
install/pulse-install.sh
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: rcourtman
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/rcourtman/Pulse
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
msg_info "Installing Dependencies"
|
||||||
|
$STD apt-get install -y \
|
||||||
|
diffutils
|
||||||
|
msg_ok "Installed Core Dependencies"
|
||||||
|
|
||||||
|
msg_info "Creating dedicated user pulse..."
|
||||||
|
if useradd -r -m -d /opt/pulse-home -s /bin/bash pulse; then
|
||||||
|
msg_ok "User created."
|
||||||
|
else
|
||||||
|
msg_error "User creation failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
NODE_VERSION="20" install_node_and_modules
|
||||||
|
|
||||||
|
msg_info "Setup Pulse"
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
mkdir -p /opt/pulse-proxmox
|
||||||
|
curl -fsSL "https://github.com/rcourtman/Pulse/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
||||||
|
tar zxf "$temp_file" --strip-components=1 -C /opt/pulse-proxmox
|
||||||
|
cd /opt/pulse-proxmox
|
||||||
|
$STD npm install --unsafe-perm
|
||||||
|
cd /opt/pulse-proxmox/server
|
||||||
|
$STD npm install --unsafe-perm
|
||||||
|
cd /opt/pulse-proxmox
|
||||||
|
$STD npm run build:css
|
||||||
|
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
||||||
|
msg_ok "Installed Pulse"
|
||||||
|
|
||||||
|
read -rp "${TAB3}Proxmox Host (z. B. https://proxmox.example.com:8006): " PROXMOX_HOST
|
||||||
|
read -rp "${TAB3}Proxmox Token ID (z. B. user@pam!mytoken): " PROXMOX_TOKEN_ID
|
||||||
|
read -rp "${TAB3}Proxmox Token Secret: " PROXMOX_TOKEN_SECRET
|
||||||
|
read -rp "${TAB3}Port (default: 7655): " PORT
|
||||||
|
PORT="${PORT:-7655}"
|
||||||
|
|
||||||
|
msg_info "Creating .env file"
|
||||||
|
cat <<EOF >/opt/pulse-proxmox/.env
|
||||||
|
PROXMOX_HOST=${PROXMOX_HOST}
|
||||||
|
PROXMOX_TOKEN_ID=${PROXMOX_TOKEN_ID}
|
||||||
|
PROXMOX_TOKEN_SECRET=${PROXMOX_TOKEN_SECRET}
|
||||||
|
PORT=${PORT}
|
||||||
|
EOF
|
||||||
|
msg_ok "Created .env file"
|
||||||
|
|
||||||
|
msg_info "Setting permissions for /opt/pulse-proxmox..."
|
||||||
|
chown -R pulse:pulse "/opt/pulse-proxmox"
|
||||||
|
find "/opt/pulse-proxmox" -type d -exec chmod 755 {} \;
|
||||||
|
find "/opt/pulse-proxmox" -type f -exec chmod 644 {} \;
|
||||||
|
chmod 600 /opt/pulse-proxmox/.env
|
||||||
|
msg_ok "Set permissions."
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
cat <<EOF >/etc/systemd/system/pulse-monitor.service
|
||||||
|
[Unit]
|
||||||
|
Description=Pulse Monitoring Application
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=pulse
|
||||||
|
Group=pulse
|
||||||
|
WorkingDirectory=/opt/pulse-proxmox
|
||||||
|
EnvironmentFile=/opt/pulse-proxmox/.env
|
||||||
|
ExecStart=/usr/bin/npm run start
|
||||||
|
Restart=on-failure
|
||||||
|
RestartSec=5
|
||||||
|
StandardOutput=journal
|
||||||
|
StandardError=journal
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now pulse-monitor
|
||||||
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f "$temp_file"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
@ -13,20 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
$STD apt-get install -y gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Setup Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Setup Node.js"
|
|
||||||
|
|
||||||
msg_info "Setup ${APPLICATION}"
|
msg_info "Setup ${APPLICATION}"
|
||||||
temp_file=$(mktemp)
|
temp_file=$(mktemp)
|
||||||
|
@ -16,30 +16,11 @@ update_os
|
|||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
make \
|
make \
|
||||||
gcc \
|
gcc
|
||||||
gpg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Golang"
|
install_go
|
||||||
set +o pipefail
|
NODE_VERSION="22" install_node_and_modules
|
||||||
temp_file=$(mktemp)
|
|
||||||
golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1)
|
|
||||||
curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file"
|
|
||||||
tar -C /usr/local -xzf "$temp_file"
|
|
||||||
ln -sf /usr/local/go/bin/go /usr/local/bin/go
|
|
||||||
set -o pipefail
|
|
||||||
msg_ok "Installed Golang"
|
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Setting up seelf. Patience"
|
msg_info "Setting up seelf. Patience"
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/YuukanOO/seelf/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/YuukanOO/seelf/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
@ -17,19 +17,10 @@ msg_info "Installing Dependencies"
|
|||||||
$STD apt-get install -y make zip net-tools git
|
$STD apt-get install -y make zip net-tools git
|
||||||
$STD apt-get install -y gcc g++ cmake
|
$STD apt-get install -y gcc g++ cmake
|
||||||
$STD apt-get install -y ca-certificates
|
$STD apt-get install -y ca-certificates
|
||||||
$STD apt-get install -y gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
install_mariadb
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing FFMPEG"
|
msg_info "Installing FFMPEG"
|
||||||
$STD apt-get install -y ffmpeg
|
$STD apt-get install -y ffmpeg
|
||||||
@ -51,7 +42,6 @@ sqluser="root"
|
|||||||
sqlpass="root"
|
sqlpass="root"
|
||||||
echo "mariadb-server mariadb-server/root_password password $sqlpass" | debconf-set-selections
|
echo "mariadb-server mariadb-server/root_password password $sqlpass" | debconf-set-selections
|
||||||
echo "mariadb-server mariadb-server/root_password_again password $sqlpass" | debconf-set-selections
|
echo "mariadb-server mariadb-server/root_password_again password $sqlpass" | debconf-set-selections
|
||||||
$STD apt-get install -y mariadb-server
|
|
||||||
service mysql start
|
service mysql start
|
||||||
mysql -u "$sqluser" -p"$sqlpass" -e "source sql/user.sql" || true
|
mysql -u "$sqluser" -p"$sqlpass" -e "source sql/user.sql" || true
|
||||||
msg_ok "Installed Database"
|
msg_ok "Installed Database"
|
||||||
|
@ -15,13 +15,14 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
composer \
|
composer \
|
||||||
git \
|
git \
|
||||||
nginx \
|
nginx \
|
||||||
php8.2-{bcmath,common,ctype,curl,fileinfo,fpm,gd,iconv,intl,mbstring,mysql,soap,xml,xsl,zip,cli} \
|
php8.2-{bcmath,common,ctype,curl,fileinfo,fpm,gd,iconv,intl,mbstring,mysql,soap,xml,xsl,zip,cli}
|
||||||
mariadb-server
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Setting up database"
|
msg_info "Setting up database"
|
||||||
DB_NAME=snipeit_db
|
DB_NAME=snipeit_db
|
||||||
DB_USER=snipeit
|
DB_USER=snipeit
|
||||||
@ -30,10 +31,10 @@ mysql -u root -e "CREATE DATABASE $DB_NAME;"
|
|||||||
mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
|
mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
|
||||||
mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
||||||
{
|
{
|
||||||
echo "SnipeIT-Credentials"
|
echo "SnipeIT-Credentials"
|
||||||
echo "SnipeIT Database User: $DB_USER"
|
echo "SnipeIT Database User: $DB_USER"
|
||||||
echo "SnipeIT Database Password: $DB_PASS"
|
echo "SnipeIT Database Password: $DB_PASS"
|
||||||
echo "SnipeIT Database Name: $DB_NAME"
|
echo "SnipeIT Database Name: $DB_NAME"
|
||||||
} >>~/snipeit.creds
|
} >>~/snipeit.creds
|
||||||
msg_ok "Set up database"
|
msg_ok "Set up database"
|
||||||
|
|
||||||
@ -48,9 +49,9 @@ cp .env.example .env
|
|||||||
IPADDRESS=$(hostname -I | awk '{print $1}')
|
IPADDRESS=$(hostname -I | awk '{print $1}')
|
||||||
|
|
||||||
sed -i -e "s|^APP_URL=.*|APP_URL=http://$IPADDRESS|" \
|
sed -i -e "s|^APP_URL=.*|APP_URL=http://$IPADDRESS|" \
|
||||||
-e "s|^DB_DATABASE=.*|DB_DATABASE=$DB_NAME|" \
|
-e "s|^DB_DATABASE=.*|DB_DATABASE=$DB_NAME|" \
|
||||||
-e "s|^DB_USERNAME=.*|DB_USERNAME=$DB_USER|" \
|
-e "s|^DB_USERNAME=.*|DB_USERNAME=$DB_USER|" \
|
||||||
-e "s|^DB_PASSWORD=.*|DB_PASSWORD=$DB_PASS|" .env
|
-e "s|^DB_PASSWORD=.*|DB_PASSWORD=$DB_PASS|" .env
|
||||||
|
|
||||||
chown -R www-data: /opt/snipe-it
|
chown -R www-data: /opt/snipe-it
|
||||||
chmod -R 755 /opt/snipe-it
|
chmod -R 755 /opt/snipe-it
|
||||||
|
@ -24,7 +24,6 @@ $STD apt-get install -y --no-install-recommends \
|
|||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
gpg \
|
|
||||||
git \
|
git \
|
||||||
make \
|
make \
|
||||||
pkg-config \
|
pkg-config \
|
||||||
@ -43,17 +42,7 @@ $STD apt-get install -y \
|
|||||||
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
||||||
msg_ok "Setup Python3"
|
msg_ok "Setup Python3"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="20" NODE_MODULE="yarn@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g yarn
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing Tandoor (Patience)"
|
msg_info "Installing Tandoor (Patience)"
|
||||||
$STD git clone https://github.com/TandoorRecipes/recipes -b master /opt/tandoor
|
$STD git clone https://github.com/TandoorRecipes/recipes -b master /opt/tandoor
|
||||||
|
@ -15,7 +15,6 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies. Patience"
|
msg_info "Installing Dependencies. Patience"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
gnupg \
|
|
||||||
git
|
git
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
@ -23,14 +22,7 @@ msg_info "Setup Python3"
|
|||||||
$STD apt-get install -y python3-venv
|
$STD apt-get install -y python3-venv
|
||||||
msg_ok "Setup Python3"
|
msg_ok "Setup Python3"
|
||||||
|
|
||||||
msg_info "Setup Node.js & yarn"
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g yarn
|
|
||||||
msg_ok "Setup Node.js & yarn"
|
|
||||||
|
|
||||||
msg_info "Setup Platformio"
|
msg_info "Setup Platformio"
|
||||||
curl -fsSL -o get-platformio.py https://raw.githubusercontent.com/platformio/platformio-core-installer/master/get-platformio.py
|
curl -fsSL -o get-platformio.py https://raw.githubusercontent.com/platformio/platformio-core-installer/master/get-platformio.py
|
||||||
|
@ -15,22 +15,10 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
gpg \
|
|
||||||
build-essential
|
build-essential
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="yarn@latest,node-gyp" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install --global yarn
|
|
||||||
$STD npm install --global node-gyp
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing The Lounge"
|
msg_info "Installing The Lounge"
|
||||||
cd /opt
|
cd /opt
|
||||||
|
@ -16,26 +16,17 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
postgresql \
|
|
||||||
python3 \
|
python3 \
|
||||||
cmake \
|
cmake \
|
||||||
g++ \
|
g++ \
|
||||||
build-essential \
|
build-essential \
|
||||||
git \
|
git \
|
||||||
make \
|
make \
|
||||||
gnupg \
|
|
||||||
ca-certificates
|
ca-certificates
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/msgbyte/tianji/master/package.json | jq -r '.packageManager | split("@")[1]')" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
PG_VERSION="16" install_postgresql
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g pnpm@9.7.1
|
|
||||||
export NODE_OPTIONS="--max_old_space_size=4096"
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL"
|
msg_info "Setting up PostgreSQL"
|
||||||
DB_NAME=tianji_db
|
DB_NAME=tianji_db
|
||||||
|
@ -15,21 +15,10 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y git
|
$STD apt-get install -y git
|
||||||
$STD apt-get install -y gpg
|
|
||||||
$STD apt-get install -y postgresql
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
PG_VERSION="16" install_postgresql
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g yarn
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Setting up postgresql"
|
msg_info "Setting up postgresql"
|
||||||
DB_NAME=umamidb
|
DB_NAME=umamidb
|
||||||
@ -41,12 +30,13 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCO
|
|||||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
|
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
|
||||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
|
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
|
||||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'"
|
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'"
|
||||||
echo "" >~/umami.creds
|
{
|
||||||
echo "Umami Database Credentials" >>~/umami.creds
|
echo "Umami-Credentials"
|
||||||
echo "" >>~/umami.creds
|
echo "Umami Database User: $DB_USER"
|
||||||
echo -e "umami Database User: \e[32m$DB_USER\e[0m" >>~/umami.creds
|
echo "Umami Database Password: $DB_PASS"
|
||||||
echo -e "umami Database Password: \e[32m$DB_PASS\e[0m" >>~/umami.creds
|
echo "Umami Database Name: $DB_NAME"
|
||||||
echo -e "umami Database Name: \e[32m$DB_NAME\e[0m" >>~/umami.creds
|
echo "Umami Secret Key: $SECRET_KEY"
|
||||||
|
} >>~/umami.creds
|
||||||
msg_ok "Set up postgresql"
|
msg_ok "Set up postgresql"
|
||||||
|
|
||||||
msg_info "Installing Umami (Patience)"
|
msg_info "Installing Umami (Patience)"
|
||||||
|
@ -16,19 +16,9 @@ update_os
|
|||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y git
|
$STD apt-get install -y git
|
||||||
$STD apt-get install -y ca-certificates
|
$STD apt-get install -y ca-certificates
|
||||||
$STD apt-get install -y gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing Uptime Kuma"
|
msg_info "Installing Uptime Kuma"
|
||||||
$STD git clone https://github.com/louislam/uptime-kuma.git
|
$STD git clone https://github.com/louislam/uptime-kuma.git
|
||||||
|
@ -15,28 +15,11 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
gcc \
|
gcc
|
||||||
gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setup Golang"
|
install_go
|
||||||
set +o pipefail
|
NODE_VERSION="22" install_node_and_modules
|
||||||
temp_file=$(mktemp)
|
|
||||||
golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1)
|
|
||||||
curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file"
|
|
||||||
tar -C /usr/local -xzf "$temp_file"
|
|
||||||
ln -sf /usr/local/go/bin/go /usr/local/bin/go
|
|
||||||
rm -f "$temp_file"
|
|
||||||
set -o pipefail
|
|
||||||
msg_ok "Setup Golang"
|
|
||||||
|
|
||||||
msg_info "Setup Node.js"
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Setup Node.js"
|
|
||||||
|
|
||||||
msg_info "Setup Watcharr"
|
msg_info "Setup Watcharr"
|
||||||
temp_file=$(mktemp)
|
temp_file=$(mktemp)
|
||||||
|
@ -15,11 +15,12 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
libapache2-mod-php \
|
libapache2-mod-php \
|
||||||
mariadb-server \
|
php8.2-{curl,mbstring,mysql,xml,zip,gd}
|
||||||
php8.2-{curl,mbstring,mysql,xml,zip,gd}
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Setting up Database"
|
msg_info "Setting up Database"
|
||||||
DB_NAME=wavelog
|
DB_NAME=wavelog
|
||||||
DB_USER=waveloguser
|
DB_USER=waveloguser
|
||||||
@ -28,10 +29,10 @@ $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 "Wavelog-Credentials"
|
echo "Wavelog-Credentials"
|
||||||
echo "Wavelog Database User: $DB_USER"
|
echo "Wavelog Database User: $DB_USER"
|
||||||
echo "Wavelog Database Password: $DB_PASS"
|
echo "Wavelog Database Password: $DB_PASS"
|
||||||
echo "Wavelog Database Name: $DB_NAME"
|
echo "Wavelog Database Name: $DB_NAME"
|
||||||
} >>~/wavelog.creds
|
} >>~/wavelog.creds
|
||||||
msg_ok "Set up database"
|
msg_ok "Set up database"
|
||||||
|
|
||||||
|
@ -17,7 +17,6 @@ msg_info "Installing Dependencies"
|
|||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
$STD apt-get -y install --no-install-recommends \
|
$STD apt-get -y install --no-install-recommends \
|
||||||
git \
|
git \
|
||||||
gnupg \
|
|
||||||
traceroute \
|
traceroute \
|
||||||
make \
|
make \
|
||||||
g++ \
|
g++ \
|
||||||
@ -36,11 +35,7 @@ $STD apt-get -y install --no-install-recommends \
|
|||||||
x11-apps
|
x11-apps
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Setup Python3"
|
msg_info "Setup Python3"
|
||||||
$STD apt-get install -y python3
|
$STD apt-get install -y python3
|
||||||
@ -57,12 +52,6 @@ $STD apt-get -y install \
|
|||||||
lsb-release
|
lsb-release
|
||||||
msg_ok "Installed Chromium"
|
msg_ok "Installed Chromium"
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g yarn
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Setting up Chromium"
|
msg_info "Setting up Chromium"
|
||||||
/usr/bin/chromium --no-sandbox --version >/etc/chromium-version
|
/usr/bin/chromium --no-sandbox --version >/etc/chromium-version
|
||||||
chmod 755 /usr/bin/chromium
|
chmod 755 /usr/bin/chromium
|
||||||
|
@ -16,7 +16,6 @@ update_os
|
|||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
git \
|
git \
|
||||||
gnupg \
|
|
||||||
apache2 \
|
apache2 \
|
||||||
libapache2-mod-wsgi-py3
|
libapache2-mod-wsgi-py3
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
@ -26,17 +25,7 @@ $STD apt-get install -y python3-pip
|
|||||||
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
||||||
msg_ok "Installed Python"
|
msg_ok "Installed Python"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="yarn@latest,sass" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g yarn sass
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Setting up wger"
|
msg_info "Setting up wger"
|
||||||
$STD adduser wger --disabled-password --gecos ""
|
$STD adduser wger --disabled-password --gecos ""
|
||||||
|
@ -19,26 +19,10 @@ $STD apt-get install -y \
|
|||||||
gpg
|
gpg
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="20" NODE_MODULE="yarn@latest,node-gyp" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
PG_VERSION="17" install_postgresql
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL Repository"
|
|
||||||
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
|
|
||||||
echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >/etc/apt/sources.list.d/pgdg.list
|
|
||||||
msg_ok "Set up PostgreSQL Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install --global yarn
|
|
||||||
$STD npm install -g node-gyp
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Set up PostgreSQL"
|
msg_info "Set up PostgreSQL"
|
||||||
$STD apt-get install -y postgresql-17
|
|
||||||
DB_NAME="wiki"
|
DB_NAME="wiki"
|
||||||
DB_USER="wikijs_user"
|
DB_USER="wikijs_user"
|
||||||
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
|
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
|
||||||
|
@ -15,12 +15,13 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies (Patience)"
|
msg_info "Installing Dependencies (Patience)"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
apache2 \
|
apache2 \
|
||||||
php8.2-{bcmath,common,cli,curl,fpm,gd,snmp,imap,mbstring,mysql,xml,zip} \
|
php8.2-{bcmath,common,cli,curl,fpm,gd,snmp,imap,mbstring,mysql,xml,zip} \
|
||||||
libapache2-mod-php \
|
libapache2-mod-php
|
||||||
mariadb-server
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Setting up Database"
|
msg_info "Setting up Database"
|
||||||
DB_NAME=wordpress_db
|
DB_NAME=wordpress_db
|
||||||
DB_USER=wordpress
|
DB_USER=wordpress
|
||||||
@ -29,10 +30,10 @@ $STD mysql -u root -e "CREATE DATABASE $DB_NAME;"
|
|||||||
$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
|
$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
|
||||||
$STD mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
$STD mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
||||||
{
|
{
|
||||||
echo "WordPress Credentials"
|
echo "WordPress 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"
|
||||||
} >>~/wordpress.creds
|
} >>~/wordpress.creds
|
||||||
msg_ok "Set up Database"
|
msg_ok "Set up Database"
|
||||||
|
|
||||||
@ -46,9 +47,9 @@ find . -type d -exec chmod 755 {} \;
|
|||||||
find . -type f -exec chmod 644 {} \;
|
find . -type f -exec chmod 644 {} \;
|
||||||
mv wp-config-sample.php wp-config.php
|
mv wp-config-sample.php wp-config.php
|
||||||
sed -i -e "s|^define( 'DB_NAME', '.*' );|define( 'DB_NAME', '$DB_NAME' );|" \
|
sed -i -e "s|^define( 'DB_NAME', '.*' );|define( 'DB_NAME', '$DB_NAME' );|" \
|
||||||
-e "s|^define( 'DB_USER', '.*' );|define( 'DB_USER', '$DB_USER' );|" \
|
-e "s|^define( 'DB_USER', '.*' );|define( 'DB_USER', '$DB_USER' );|" \
|
||||||
-e "s|^define( 'DB_PASSWORD', '.*' );|define( 'DB_PASSWORD', '$DB_PASS' );|" \
|
-e "s|^define( 'DB_PASSWORD', '.*' );|define( 'DB_PASSWORD', '$DB_PASS' );|" \
|
||||||
/var/www/html/wordpress/wp-config.php
|
/var/www/html/wordpress/wp-config.php
|
||||||
msg_ok "Installed Wordpress"
|
msg_ok "Installed Wordpress"
|
||||||
|
|
||||||
msg_info "Setup Services"
|
msg_info "Setup Services"
|
||||||
|
@ -19,24 +19,10 @@ $STD apt-get install -y \
|
|||||||
make \
|
make \
|
||||||
g++ \
|
g++ \
|
||||||
gcc \
|
gcc \
|
||||||
ca-certificates \
|
ca-certificates
|
||||||
gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Installing pnpm"
|
|
||||||
$STD npm install -g pnpm
|
|
||||||
msg_ok "Installed pnpm"
|
|
||||||
|
|
||||||
msg_info "Setting up Zigbee2MQTT"
|
msg_info "Setting up Zigbee2MQTT"
|
||||||
cd /opt
|
cd /opt
|
||||||
|
@ -16,21 +16,11 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
postgresql \
|
postgresql
|
||||||
gpg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
PG_VERSION="16" install_postgresql
|
||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
|
|
||||||
msg_ok "Set up Node.js Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g pnpm
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL"
|
msg_info "Setting up PostgreSQL"
|
||||||
DB_NAME=ziplinedb
|
DB_NAME=ziplinedb
|
||||||
@ -42,11 +32,13 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCO
|
|||||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
|
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
|
||||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
|
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
|
||||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'"
|
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'"
|
||||||
echo "" >>~/zipline.creds
|
{
|
||||||
echo -e "Zipline Database User: $DB_USER" >>~/zipline.creds
|
echo "Zipline-Credentials"
|
||||||
echo -e "Zipline Database Password: $DB_PASS" >>~/zipline.creds
|
echo "Zipline Database User: $DB_USER"
|
||||||
echo -e "Zipline Database Name: $DB_NAME" >>~/zipline.creds
|
echo "Zipline Database Password: $DB_PASS"
|
||||||
echo -e "Zipline Secret: $SECRET_KEY" >>~/zipline.creds
|
echo "Zipline Database Name: $DB_NAME"
|
||||||
|
echo "Zipline Secret Key: $SECRET_KEY"
|
||||||
|
} >>~/zipline.creds
|
||||||
msg_ok "Set up PostgreSQL"
|
msg_ok "Set up PostgreSQL"
|
||||||
|
|
||||||
msg_info "Installing Zipline (Patience)"
|
msg_info "Installing Zipline (Patience)"
|
||||||
|
180
misc/tools.func
180
misc/tools.func
@ -32,6 +32,15 @@ install_node_and_modules() {
|
|||||||
NEED_NODE_INSTALL=true
|
NEED_NODE_INSTALL=true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if ! command -v jq &>/dev/null; then
|
||||||
|
$STD msg_info "Installing jq..."
|
||||||
|
$STD apt-get update -qq &>/dev/null
|
||||||
|
$STD apt-get install -y jq &>/dev/null || {
|
||||||
|
msg_error "Failed to install jq"
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
# Install Node.js if required
|
# Install Node.js if required
|
||||||
if [[ "$NEED_NODE_INSTALL" == true ]]; then
|
if [[ "$NEED_NODE_INSTALL" == true ]]; then
|
||||||
$STD apt-get purge -y nodejs
|
$STD apt-get purge -y nodejs
|
||||||
@ -113,20 +122,22 @@ install_node_and_modules() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Installs or upgrades PostgreSQL and performs data migration.
|
# Installs or upgrades PostgreSQL and optional extensions/modules.
|
||||||
#
|
#
|
||||||
# Description:
|
# Description:
|
||||||
# - Detects existing PostgreSQL version
|
# - Detects existing PostgreSQL version
|
||||||
# - Dumps all databases before upgrade
|
# - Dumps all databases before upgrade
|
||||||
# - Adds PGDG repo and installs specified version
|
# - Adds PGDG repo and installs specified version
|
||||||
|
# - Installs optional PG_MODULES (e.g. postgis, contrib)
|
||||||
# - Restores dumped data post-upgrade
|
# - Restores dumped data post-upgrade
|
||||||
#
|
#
|
||||||
# Variables:
|
# Variables:
|
||||||
# PG_VERSION - Major PostgreSQL version (e.g. 15, 16) (default: 16)
|
# PG_VERSION - Major PostgreSQL version (e.g. 15, 16) (default: 16)
|
||||||
|
# PG_MODULES - Comma-separated list of extensions (e.g. "postgis,contrib")
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
install_postgresql() {
|
install_postgresql() {
|
||||||
local PG_VERSION="${PG_VERSION:-16}"
|
local PG_VERSION="${PG_VERSION:-16}"
|
||||||
|
local PG_MODULES="${PG_MODULES:-}"
|
||||||
local CURRENT_PG_VERSION=""
|
local CURRENT_PG_VERSION=""
|
||||||
local DISTRO
|
local DISTRO
|
||||||
local NEED_PG_INSTALL=false
|
local NEED_PG_INSTALL=false
|
||||||
@ -136,10 +147,10 @@ install_postgresql() {
|
|||||||
CURRENT_PG_VERSION="$(psql -V | awk '{print $3}' | cut -d. -f1)"
|
CURRENT_PG_VERSION="$(psql -V | awk '{print $3}' | cut -d. -f1)"
|
||||||
if [[ "$CURRENT_PG_VERSION" == "$PG_VERSION" ]]; then
|
if [[ "$CURRENT_PG_VERSION" == "$PG_VERSION" ]]; then
|
||||||
msg_ok "PostgreSQL $PG_VERSION is already installed"
|
msg_ok "PostgreSQL $PG_VERSION is already installed"
|
||||||
return
|
else
|
||||||
|
msg_info "Detected PostgreSQL $CURRENT_PG_VERSION, preparing upgrade to $PG_VERSION"
|
||||||
|
NEED_PG_INSTALL=true
|
||||||
fi
|
fi
|
||||||
msg_info "Detected PostgreSQL $CURRENT_PG_VERSION, preparing upgrade to $PG_VERSION"
|
|
||||||
NEED_PG_INSTALL=true
|
|
||||||
else
|
else
|
||||||
msg_info "Setup PostgreSQL $PG_VERSION"
|
msg_info "Setup PostgreSQL $PG_VERSION"
|
||||||
NEED_PG_INSTALL=true
|
NEED_PG_INSTALL=true
|
||||||
@ -170,20 +181,34 @@ install_postgresql() {
|
|||||||
$STD apt-get install -y "postgresql-${PG_VERSION}" "postgresql-client-${PG_VERSION}"
|
$STD apt-get install -y "postgresql-${PG_VERSION}" "postgresql-client-${PG_VERSION}"
|
||||||
|
|
||||||
if [[ -n "$CURRENT_PG_VERSION" ]]; then
|
if [[ -n "$CURRENT_PG_VERSION" ]]; then
|
||||||
$STD msg_info "Removing old PostgreSQL $CURRENT_PG_VERSION packages"
|
msg_info "Removing old PostgreSQL $CURRENT_PG_VERSION packages"
|
||||||
$STD apt-get purge -y "postgresql-${CURRENT_PG_VERSION}" "postgresql-client-${CURRENT_PG_VERSION}" || true
|
$STD apt-get purge -y "postgresql-${CURRENT_PG_VERSION}" "postgresql-client-${CURRENT_PG_VERSION}" || true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$STD msg_info "Starting PostgreSQL $PG_VERSION"
|
msg_info "Starting PostgreSQL $PG_VERSION"
|
||||||
systemctl enable -q --now postgresql
|
systemctl enable -q --now postgresql
|
||||||
|
|
||||||
if [[ -n "$CURRENT_PG_VERSION" ]]; then
|
if [[ -n "$CURRENT_PG_VERSION" ]]; then
|
||||||
$STD msg_info "Restoring dumped data"
|
msg_info "Restoring dumped data"
|
||||||
su - postgres -c "psql < /var/lib/postgresql/backup_$(date +%F)_v${CURRENT_PG_VERSION}.sql"
|
su - postgres -c "psql < /var/lib/postgresql/backup_$(date +%F)_v${CURRENT_PG_VERSION}.sql"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_ok "PostgreSQL $PG_VERSION installed"
|
msg_ok "PostgreSQL $PG_VERSION installed"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Install optional PostgreSQL modules
|
||||||
|
if [[ -n "$PG_MODULES" ]]; then
|
||||||
|
IFS=',' read -ra MODULES <<<"$PG_MODULES"
|
||||||
|
for module in "${MODULES[@]}"; do
|
||||||
|
local pkg="postgresql-${PG_VERSION}-${module}"
|
||||||
|
msg_info "Installing PostgreSQL module: $pkg"
|
||||||
|
$STD apt-get install -y "$pkg" || {
|
||||||
|
msg_error "Failed to install $pkg"
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
done
|
||||||
|
msg_ok "All requested PostgreSQL modules installed"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
@ -355,8 +380,10 @@ install_php() {
|
|||||||
CURRENT_PHP=""
|
CURRENT_PHP=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$CURRENT_PHP" != "$PHP_VERSION" ]]; then
|
if [[ -z "$CURRENT_PHP" ]]; then
|
||||||
$STD msg_info "PHP $CURRENT_PHP detected, migrating to PHP $PHP_VERSION"
|
msg_info "Setup PHP $PHP_VERSION"
|
||||||
|
elif [[ "$CURRENT_PHP" != "$PHP_VERSION" ]]; then
|
||||||
|
msg_info "PHP $CURRENT_PHP detected, migrating to PHP $PHP_VERSION"
|
||||||
if [[ ! -f /etc/apt/sources.list.d/php.list ]]; then
|
if [[ ! -f /etc/apt/sources.list.d/php.list ]]; then
|
||||||
$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
||||||
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
|
||||||
@ -373,6 +400,9 @@ install_php() {
|
|||||||
for mod in "${MODULES[@]}"; do
|
for mod in "${MODULES[@]}"; do
|
||||||
MODULE_LIST+=" php${PHP_VERSION}-${mod}"
|
MODULE_LIST+=" php${PHP_VERSION}-${mod}"
|
||||||
done
|
done
|
||||||
|
if [[ "$PHP_FPM" == "YES" ]]; then
|
||||||
|
MODULE_LIST+=" php${PHP_VERSION}-fpm"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ "$PHP_APACHE" == "YES" ]]; then
|
if [[ "$PHP_APACHE" == "YES" ]]; then
|
||||||
# Optionally disable old Apache PHP module
|
# Optionally disable old Apache PHP module
|
||||||
@ -439,7 +469,7 @@ install_composer() {
|
|||||||
|
|
||||||
# Download and install latest composer
|
# Download and install latest composer
|
||||||
curl -fsSL https://getcomposer.org/installer -o /tmp/composer-setup.php
|
curl -fsSL https://getcomposer.org/installer -o /tmp/composer-setup.php
|
||||||
php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer &>/dev/null
|
php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer >/dev/null 2>&1
|
||||||
|
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
msg_error "Failed to install Composer"
|
msg_error "Failed to install Composer"
|
||||||
@ -447,7 +477,9 @@ install_composer() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
chmod +x "$COMPOSER_BIN"
|
chmod +x "$COMPOSER_BIN"
|
||||||
msg_ok "Installed Composer $($COMPOSER_BIN --version | awk '{print $3}')"
|
composer diagnose >/dev/null 2>&1
|
||||||
|
msg_ok "Setup Composer"
|
||||||
|
#msg_ok "Installed Composer $($COMPOSER_BIN --version | awk '{print $3}')"
|
||||||
}
|
}
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
@ -580,11 +612,21 @@ install_java() {
|
|||||||
|
|
||||||
install_mongodb() {
|
install_mongodb() {
|
||||||
local MONGO_VERSION="${MONGO_VERSION:-8.0}"
|
local MONGO_VERSION="${MONGO_VERSION:-8.0}"
|
||||||
local DISTRO_CODENAME
|
local DISTRO_ID DISTRO_CODENAME MONGO_BASE_URL
|
||||||
DISTRO_CODENAME=$(awk -F= '/VERSION_CODENAME/ { print $2 }' /etc/os-release)
|
DISTRO_ID=$(awk -F= '/^ID=/{ gsub(/"/,"",$2); print $2 }' /etc/os-release)
|
||||||
|
DISTRO_CODENAME=$(awk -F= '/^VERSION_CODENAME=/{ print $2 }' /etc/os-release)
|
||||||
|
|
||||||
|
case "$DISTRO_ID" in
|
||||||
|
ubuntu) MONGO_BASE_URL="https://repo.mongodb.org/apt/ubuntu" ;;
|
||||||
|
debian) MONGO_BASE_URL="https://repo.mongodb.org/apt/debian" ;;
|
||||||
|
*)
|
||||||
|
msg_error "Unsupported distribution: $DISTRO_ID"
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
local REPO_LIST="/etc/apt/sources.list.d/mongodb-org-${MONGO_VERSION}.list"
|
local REPO_LIST="/etc/apt/sources.list.d/mongodb-org-${MONGO_VERSION}.list"
|
||||||
|
|
||||||
# Aktuell installierte Major-Version ermitteln
|
|
||||||
local INSTALLED_VERSION=""
|
local INSTALLED_VERSION=""
|
||||||
if command -v mongod >/dev/null; then
|
if command -v mongod >/dev/null; then
|
||||||
INSTALLED_VERSION=$(mongod --version | awk '/db version/{print $3}' | cut -d. -f1,2)
|
INSTALLED_VERSION=$(mongod --version | awk '/db version/{print $3}' | cut -d. -f1,2)
|
||||||
@ -598,7 +640,6 @@ install_mongodb() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Ältere Version entfernen (nur Packages, nicht Daten!)
|
|
||||||
if [[ -n "$INSTALLED_VERSION" ]]; then
|
if [[ -n "$INSTALLED_VERSION" ]]; then
|
||||||
msg_info "Replacing MongoDB $INSTALLED_VERSION with $MONGO_VERSION (data will be preserved)"
|
msg_info "Replacing MongoDB $INSTALLED_VERSION with $MONGO_VERSION (data will be preserved)"
|
||||||
$STD systemctl stop mongod || true
|
$STD systemctl stop mongod || true
|
||||||
@ -609,15 +650,17 @@ install_mongodb() {
|
|||||||
msg_info "Installing MongoDB $MONGO_VERSION"
|
msg_info "Installing MongoDB $MONGO_VERSION"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# MongoDB Repo hinzufügen
|
|
||||||
curl -fsSL "https://pgp.mongodb.com/server-${MONGO_VERSION}.asc" | gpg --dearmor -o "/etc/apt/trusted.gpg.d/mongodb-${MONGO_VERSION}.gpg"
|
curl -fsSL "https://pgp.mongodb.com/server-${MONGO_VERSION}.asc" | gpg --dearmor -o "/etc/apt/trusted.gpg.d/mongodb-${MONGO_VERSION}.gpg"
|
||||||
echo "deb [signed-by=/etc/apt/trusted.gpg.d/mongodb-${MONGO_VERSION}.gpg] https://repo.mongodb.org/apt/debian ${DISTRO_CODENAME}/mongodb-org/${MONGO_VERSION} main" \
|
echo "deb [signed-by=/etc/apt/trusted.gpg.d/mongodb-${MONGO_VERSION}.gpg] ${MONGO_BASE_URL} ${DISTRO_CODENAME}/mongodb-org/${MONGO_VERSION} main" \
|
||||||
>"$REPO_LIST"
|
>"$REPO_LIST"
|
||||||
|
|
||||||
$STD apt-get update
|
$STD apt-get update || {
|
||||||
|
msg_error "APT update failed — invalid MongoDB repo for ${DISTRO_ID}-${DISTRO_CODENAME}?"
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
$STD apt-get install -y mongodb-org
|
$STD apt-get install -y mongodb-org
|
||||||
|
|
||||||
# Sicherstellen, dass Datenverzeichnis intakt bleibt
|
|
||||||
mkdir -p /var/lib/mongodb
|
mkdir -p /var/lib/mongodb
|
||||||
chown -R mongodb:mongodb /var/lib/mongodb
|
chown -R mongodb:mongodb /var/lib/mongodb
|
||||||
|
|
||||||
@ -1203,3 +1246,100 @@ create_selfsigned_certs() {
|
|||||||
-subj "/C=US/O=$app/OU=Domain Control Validated/CN=localhost"
|
-subj "/C=US/O=$app/OU=Domain Control Validated/CN=localhost"
|
||||||
$STD msg_ok "Created Self-Signed Certificate"
|
$STD msg_ok "Created Self-Signed Certificate"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Installs Rust toolchain and optional global crates via cargo.
|
||||||
|
#
|
||||||
|
# Description:
|
||||||
|
# - Installs rustup (if missing)
|
||||||
|
# - Installs or updates desired Rust toolchain (stable, nightly, or versioned)
|
||||||
|
# - Installs or updates specified global crates using `cargo install`
|
||||||
|
#
|
||||||
|
# Notes:
|
||||||
|
# - Skips crate install if exact version is already present
|
||||||
|
# - Updates crate if newer version or different version is requested
|
||||||
|
#
|
||||||
|
# Variables:
|
||||||
|
# RUST_TOOLCHAIN - Rust toolchain to install (default: stable)
|
||||||
|
# RUST_CRATES - Comma-separated list of crates (e.g. "cargo-edit,wasm-pack@0.12.1")
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
install_rust_and_crates() {
|
||||||
|
local RUST_TOOLCHAIN="${RUST_TOOLCHAIN:-stable}"
|
||||||
|
local RUST_CRATES="${RUST_CRATES:-}"
|
||||||
|
local CARGO_BIN="${HOME}/.cargo/bin"
|
||||||
|
|
||||||
|
# rustup & toolchain
|
||||||
|
if ! command -v rustup &>/dev/null; then
|
||||||
|
msg_info "Installing rustup"
|
||||||
|
curl -fsSL https://sh.rustup.rs | $STD sh -s -- -y --default-toolchain "$RUST_TOOLCHAIN"
|
||||||
|
export PATH="$CARGO_BIN:$PATH"
|
||||||
|
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >>"$HOME/.profile"
|
||||||
|
msg_ok "Installed rustup with $RUST_TOOLCHAIN"
|
||||||
|
else
|
||||||
|
$STD rustup install "$RUST_TOOLCHAIN"
|
||||||
|
$STD rustup default "$RUST_TOOLCHAIN"
|
||||||
|
$STD rustup update "$RUST_TOOLCHAIN"
|
||||||
|
msg_ok "Rust toolchain set to $RUST_TOOLCHAIN"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# install/update crates
|
||||||
|
if [[ -n "$RUST_CRATES" ]]; then
|
||||||
|
IFS=',' read -ra CRATES <<<"$RUST_CRATES"
|
||||||
|
for crate in "${CRATES[@]}"; do
|
||||||
|
local NAME VER INSTALLED_VER
|
||||||
|
if [[ "$crate" == *"@"* ]]; then
|
||||||
|
NAME="${crate%@*}"
|
||||||
|
VER="${crate##*@}"
|
||||||
|
else
|
||||||
|
NAME="$crate"
|
||||||
|
VER=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
INSTALLED_VER=$(cargo install --list 2>/dev/null | awk "/^$NAME v[0-9]/ {print \$2}" | tr -d 'v')
|
||||||
|
|
||||||
|
if [[ -n "$INSTALLED_VER" ]]; then
|
||||||
|
if [[ -n "$VER" && "$VER" != "$INSTALLED_VER" ]]; then
|
||||||
|
msg_info "Updating $NAME from $INSTALLED_VER to $VER"
|
||||||
|
$STD cargo install "$NAME" --version "$VER" --force
|
||||||
|
elif [[ -z "$VER" ]]; then
|
||||||
|
msg_info "Updating $NAME to latest"
|
||||||
|
$STD cargo install "$NAME" --force
|
||||||
|
else
|
||||||
|
msg_ok "$NAME@$INSTALLED_VER already up to date"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
msg_info "Installing $NAME ${VER:+($VER)}"
|
||||||
|
$STD cargo install "$NAME" ${VER:+--version "$VER"}
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
msg_ok "All requested Rust crates processed"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Installs Adminer (Debian/Ubuntu via APT, Alpine via direct download).
|
||||||
|
#
|
||||||
|
# Description:
|
||||||
|
# - Adds Adminer to Apache or web root
|
||||||
|
# - Supports Alpine and Debian-based systems
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
install_adminer() {
|
||||||
|
if grep -qi alpine /etc/os-release; then
|
||||||
|
msg_info "Installing Adminer (Alpine)"
|
||||||
|
mkdir -p /var/www/localhost/htdocs/adminer
|
||||||
|
if ! curl -fsSL https://github.com/vrana/adminer/releases/latest/download/adminer.php \
|
||||||
|
-o /var/www/localhost/htdocs/adminer/index.php; then
|
||||||
|
msg_error "Failed to download Adminer"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
msg_ok "Adminer available at /adminer (Alpine)"
|
||||||
|
else
|
||||||
|
msg_info "Installing Adminer (Debian/Ubuntu)"
|
||||||
|
$STD apt-get install -y adminer
|
||||||
|
$STD a2enconf adminer
|
||||||
|
$STD systemctl reload apache2
|
||||||
|
msg_ok "Adminer available at /adminer (Debian/Ubuntu)"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user