mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-03-03 16:15:54 +00:00
Databasus: add mariadb path for mysql/mariadb backups | add mongodb database tools (#12259)
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
7e37d23c5e
commit
33fd68b97f
@@ -38,6 +38,31 @@ function update_script() {
|
|||||||
cp /opt/databasus/.env /opt/databasus.env.bak
|
cp /opt/databasus/.env /opt/databasus.env.bak
|
||||||
msg_ok "Backed up Configuration"
|
msg_ok "Backed up Configuration"
|
||||||
|
|
||||||
|
msg_info "Ensuring Database Clients"
|
||||||
|
# Create PostgreSQL version symlinks for compatibility
|
||||||
|
for v in 12 13 14 15 16 18; do
|
||||||
|
ln -sf /usr/lib/postgresql/17 /usr/lib/postgresql/$v
|
||||||
|
done
|
||||||
|
# Install MongoDB Database Tools via direct .deb (no APT repo for Debian 13)
|
||||||
|
if ! command -v mongodump &>/dev/null; then
|
||||||
|
[[ "$(get_os_info id)" == "ubuntu" ]] && MONGO_DIST="ubuntu2204" || MONGO_DIST="debian12"
|
||||||
|
fetch_and_deploy_from_url "https://fastdl.mongodb.org/tools/db/mongodb-database-tools-${MONGO_DIST}-x86_64-100.14.1.deb"
|
||||||
|
fi
|
||||||
|
[[ -f /usr/bin/mongodump ]] && ln -sf /usr/bin/mongodump /usr/local/mongodb-database-tools/bin/mongodump
|
||||||
|
[[ -f /usr/bin/mongorestore ]] && ln -sf /usr/bin/mongorestore /usr/local/mongodb-database-tools/bin/mongorestore
|
||||||
|
# Create MariaDB and MySQL client symlinks for compatibility
|
||||||
|
ensure_dependencies mariadb-client
|
||||||
|
mkdir -p /usr/local/mariadb-{10.6,12.1}/bin /usr/local/mysql-{5.7,8.0,8.4,9}/bin /usr/local/mongodb-database-tools/bin
|
||||||
|
for dir in /usr/local/mariadb-{10.6,12.1}/bin; do
|
||||||
|
ln -sf /usr/bin/mariadb-dump "$dir/mariadb-dump"
|
||||||
|
ln -sf /usr/bin/mariadb "$dir/mariadb"
|
||||||
|
done
|
||||||
|
for dir in /usr/local/mysql-{5.7,8.0,8.4,9}/bin; do
|
||||||
|
ln -sf /usr/bin/mariadb-dump "$dir/mysqldump"
|
||||||
|
ln -sf /usr/bin/mariadb "$dir/mysql"
|
||||||
|
done
|
||||||
|
msg_ok "Ensured Database Clients"
|
||||||
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "databasus" "databasus/databasus" "tarball" "latest" "/opt/databasus"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "databasus" "databasus/databasus" "tarball" "latest" "/opt/databasus"
|
||||||
|
|
||||||
msg_info "Updating Databasus"
|
msg_info "Updating Databasus"
|
||||||
@@ -49,6 +74,7 @@ function update_script() {
|
|||||||
$STD /root/go/bin/swag init -g cmd/main.go -o swagger
|
$STD /root/go/bin/swag init -g cmd/main.go -o swagger
|
||||||
$STD env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o databasus ./cmd/main.go
|
$STD env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o databasus ./cmd/main.go
|
||||||
mv /opt/databasus/backend/databasus /opt/databasus/databasus
|
mv /opt/databasus/backend/databasus /opt/databasus/databasus
|
||||||
|
mkdir -p /opt/databasus/ui/build
|
||||||
cp -r /opt/databasus/frontend/dist/* /opt/databasus/ui/build/
|
cp -r /opt/databasus/frontend/dist/* /opt/databasus/ui/build/
|
||||||
cp -r /opt/databasus/backend/migrations /opt/databasus/
|
cp -r /opt/databasus/backend/migrations /opt/databasus/
|
||||||
chown -R postgres:postgres /opt/databasus
|
chown -R postgres:postgres /opt/databasus
|
||||||
|
|||||||
@@ -15,14 +15,40 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt install -y \
|
$STD apt install -y \
|
||||||
nginx \
|
nginx \
|
||||||
valkey
|
valkey \
|
||||||
|
mariadb-client \
|
||||||
|
rclone
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
PG_VERSION="17" setup_postgresql
|
PG_VERSION="17" setup_postgresql
|
||||||
setup_go
|
setup_go
|
||||||
NODE_VERSION="24" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
|
msg_info "Installing Database Clients"
|
||||||
|
# Create PostgreSQL version symlinks for compatibility
|
||||||
|
for v in 12 13 14 15 16 18; do
|
||||||
|
ln -sf /usr/lib/postgresql/17 /usr/lib/postgresql/$v
|
||||||
|
done
|
||||||
|
# Install MongoDB Database Tools via direct .deb (no APT repo for Debian 13)
|
||||||
|
[[ "$(get_os_info id)" == "ubuntu" ]] && MONGO_DIST="ubuntu2204" || MONGO_DIST="debian12"
|
||||||
|
MONGO_VERSION=$(get_latest_gh_tag "mongodb/mongo-tools" "100." || echo "100.14.1")
|
||||||
|
fetch_and_deploy_from_url "https://fastdl.mongodb.org/tools/db/mongodb-database-tools-${MONGO_DIST}-x86_64-${MONGO_VERSION}.deb"
|
||||||
|
mkdir -p /usr/local/mongodb-database-tools/bin
|
||||||
|
[[ -f /usr/bin/mongodump ]] && ln -sf /usr/bin/mongodump /usr/local/mongodb-database-tools/bin/mongodump
|
||||||
|
[[ -f /usr/bin/mongorestore ]] && ln -sf /usr/bin/mongorestore /usr/local/mongodb-database-tools/bin/mongorestore
|
||||||
|
# Create MariaDB and MySQL client symlinks for compatibility
|
||||||
|
mkdir -p /usr/local/mariadb-{10.6,12.1}/bin /usr/local/mysql-{5.7,8.0,8.4,9}/bin
|
||||||
|
for dir in /usr/local/mariadb-{10.6,12.1}/bin; do
|
||||||
|
ln -sf /usr/bin/mariadb-dump "$dir/mariadb-dump"
|
||||||
|
ln -sf /usr/bin/mariadb "$dir/mariadb"
|
||||||
|
done
|
||||||
|
for dir in /usr/local/mysql-{5.7,8.0,8.4,9}/bin; do
|
||||||
|
ln -sf /usr/bin/mariadb-dump "$dir/mysqldump"
|
||||||
|
ln -sf /usr/bin/mariadb "$dir/mysql"
|
||||||
|
done
|
||||||
|
msg_ok "Installed Database Clients"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "databasus" "databasus/databasus" "tarball" "latest" "/opt/databasus"
|
fetch_and_deploy_gh_release "databasus" "databasus/databasus" "tarball" "latest" "/opt/databasus"
|
||||||
|
|
||||||
msg_info "Building Databasus (Patience)"
|
msg_info "Building Databasus (Patience)"
|
||||||
@@ -47,10 +73,6 @@ msg_ok "Built Databasus"
|
|||||||
msg_info "Configuring Databasus"
|
msg_info "Configuring Databasus"
|
||||||
JWT_SECRET=$(openssl rand -hex 32)
|
JWT_SECRET=$(openssl rand -hex 32)
|
||||||
ENCRYPTION_KEY=$(openssl rand -hex 32)
|
ENCRYPTION_KEY=$(openssl rand -hex 32)
|
||||||
# Create PostgreSQL version symlinks for compatibility
|
|
||||||
for v in 12 13 14 15 16 18; do
|
|
||||||
ln -sf /usr/lib/postgresql/17 /usr/lib/postgresql/$v
|
|
||||||
done
|
|
||||||
# Install goose for migrations
|
# Install goose for migrations
|
||||||
$STD go install github.com/pressly/goose/v3/cmd/goose@latest
|
$STD go install github.com/pressly/goose/v3/cmd/goose@latest
|
||||||
ln -sf /root/go/bin/goose /usr/local/bin/goose
|
ln -sf /root/go/bin/goose /usr/local/bin/goose
|
||||||
|
|||||||
Reference in New Issue
Block a user