From be8986d07017c17885f6d14a1d1425f5749599de Mon Sep 17 00:00:00 2001 From: tremor021 Date: Wed, 14 May 2025 15:58:30 +0200 Subject: [PATCH] Add debian bitmagnet wip --- install/bitmagnet-install.sh | 66 ++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 install/bitmagnet-install.sh diff --git a/install/bitmagnet-install.sh b/install/bitmagnet-install.sh new file mode 100644 index 0000000..efd61a2 --- /dev/null +++ b/install/bitmagnet-install.sh @@ -0,0 +1,66 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Slaviša Arežina (tremor021) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/bitmagnet-io/bitmagnet + +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 + +msg_ok "Installed Dependencies" + +PG_VERSION=16 install_postgresql + +msg_info "Installing bitmagnet" +mkdir -p /opt/bitmagnet +temp_file=$(mktemp) +curl -fsSL "https://github.com/bitmagnet-io/bitmagnet/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" +tar zxf "$temp_file" --strip-components=1 -C /opt/bitmagnet +cd /opt/bitmagnet +VREL=v$RELEASE +$STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=$VREL" +chmod +x bitmagnet +POSTGRES_PASSWORD=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) +$STD sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD $POSTGRES_PASSWORD;" +$STD sudo -u postgres psql -c "CREATE DATABASE bitmagnet;" +echo "${RELEASE}" >/opt/bitmagnet_version.txt +msg_ok "Installed bitmagnet" + +msg_info "Creating Service" +cat </etc/systemd/system/bitmagnet-web.service +[Unit] +Description=bitmagnet Web GUI +After=network-online.target + +[Service] +Type=simple +User=root +WorkingDirectory=/opt/bitmagnet +ExecStart=/opt/bitmagnet/bitmagnet rcd --rc-web-gui --rc-web-gui-no-open-browser --rc-addr :3000 --rc-htpasswd /opt/login.pwd +Environment=POSTGRES_HOST=localhost +Environment=POSTGRES_PASSWORD=$POSTGRES_PASSWORD +Restart=on-failure + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now bitmagnet-web +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"