Compare commits

...

11 Commits

Author SHA1 Message Date
Slaviša Arežina
6827aa7f19 Update databasus-install.sh 2026-02-24 21:16:41 +01:00
Slaviša Arežina
696299ed37 Update databasus.sh 2026-02-24 21:14:25 +01:00
CanbiZ (MickLesk)
e22b3e2b9e fix(databasus): use get_latest_gh_tag for MongoDB tools version
Replace hardcoded 100.14.1 with dynamic version lookup via
get_latest_gh_tag (from feat/get-latest-gh-tag branch).
Falls back to 100.14.1 if the API call fails.

Depends-On: feat/get-latest-gh-tag
2026-02-24 09:26:50 +01:00
CanbiZ (MickLesk)
4f656c62a3 fix(databasus): add missing rclone dependency
rclone is required for cloud backup destinations (S3, GCS, etc.)
as shown in the upstream Dockerfile.
2026-02-24 09:24:56 +01:00
CanbiZ (MickLesk)
06874f260d Update package installation command for MongoDB tools 2026-02-24 09:23:23 +01:00
CanbiZ (MickLesk)
1ac4d4ad48 add some comments
Added symlink creation for PostgreSQL versions and MongoDB tools. Updated installation command for MongoDB Database Tools.
2026-02-24 09:22:45 +01:00
CanbiZ (MickLesk)
9e4dcff12c fix(databasus): use get_os_info/get_system_arch, curl, pin mongo version
- Use get_os_info id for OS detection instead of manual arch if/elif
- Use get_system_arch uname for architecture
- Replace wget -q with curl -fsSL
- Pin mongodb-database-tools to 100.14.1 (no GitHub releases available,
  mongo-tools repo only has r4.x tags)
- Remove broken GitHub API version lookup
2026-02-24 09:20:05 +01:00
CanbiZ (MickLesk)
e6dd3c1457 fix(databasus): use get_system_arch and dynamic MongoDB version
- Replace manual dpkg arch detection with get_system_arch helper
- Fetch latest mongodb-database-tools version from GitHub API
  instead of hardcoding 100.10.0
- Fallback to 100.10.0 if API call fails
2026-02-24 09:16:00 +01:00
CanbiZ (MickLesk)
a9fe74efaf fix(databasus): add MongoDB tools, use ensure_dependencies in update
- Install mongodb-database-tools (mongodump/mongorestore) and create
  symlinks at /usr/local/mongodb-database-tools/bin/ as expected by
  Databasus for MongoDB backup support
- Use ensure_dependencies in update script instead of raw apt install
  to skip redundant installs
- Add mongodump check before re-downloading .deb on update
2026-02-24 09:11:17 +01:00
CanbiZ (MickLesk)
273ba3f7ee fix(databasus): add mariadb-client + symlinks to update script
Ensures existing installations get the MariaDB/MySQL client symlinks
during update, not only on fresh install.
2026-02-24 09:09:04 +01:00
CanbiZ (MickLesk)
ebd624f992 fix(databasus): mariadb-dump path error & missing ui/build dir on update
- Install mariadb-client and create symlinks at paths expected by
  Databasus (/usr/local/mariadb-{10.6,12.1}/bin/mariadb-dump and
  /usr/local/mysql-{5.7,8.0,8.4,9}/bin/mysqldump)
- Add mkdir -p /opt/databasus/ui/build before cp in update script

Closes #12255
2026-02-24 09:06:12 +01:00
2 changed files with 54 additions and 6 deletions

View File

@@ -38,6 +38,31 @@ function update_script() {
cp /opt/databasus/.env /opt/databasus.env.bak
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"
msg_info "Updating Databasus"
@@ -49,6 +74,7 @@ function update_script() {
$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
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/backend/migrations /opt/databasus/
chown -R postgres:postgres /opt/databasus

View File

@@ -15,14 +15,40 @@ update_os
msg_info "Installing Dependencies"
$STD apt install -y \
nginx \
valkey
nginx \
valkey \
mariadb-client \
rclone
msg_ok "Installed Dependencies"
PG_VERSION="17" setup_postgresql
setup_go
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"
msg_info "Building Databasus (Patience)"
@@ -47,10 +73,6 @@ msg_ok "Built Databasus"
msg_info "Configuring Databasus"
JWT_SECRET=$(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
$STD go install github.com/pressly/goose/v3/cmd/goose@latest
ln -sf /root/go/bin/goose /usr/local/bin/goose