Bump various scripts to Debian 13 (Trixie) (#11093)
This commit is contained in:
committed by
GitHub
parent
5c122f0b5c
commit
b2017086cd
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Apt-Cacher NG"
|
||||
DEBIAN_FRONTEND=noninteractive $STD apt-get -o Dpkg::Options::="--force-confold" install -y apt-cacher-ng
|
||||
DEBIAN_FRONTEND=noninteractive $STD apt -o Dpkg::Options::="--force-confold" install -y apt-cacher-ng
|
||||
sed -i 's/# PassThroughPattern: .* # this would allow CONNECT to everything/PassThroughPattern: .*/' /etc/apt-cacher-ng/acng.conf
|
||||
cat <<EOF >/etc/apt/apt.conf.d/00aptproxy.conf
|
||||
Acquire::http::Proxy "http://localhost:3142";
|
||||
|
||||
@@ -14,18 +14,20 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Aria2"
|
||||
$STD apt-get install -y aria2
|
||||
$STD apt install -y aria2
|
||||
msg_ok "Installed Aria2"
|
||||
|
||||
read -r -p "${TAB3}Would you like to add AriaNG? <y/N> " prompt
|
||||
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
||||
msg_info "Installing AriaNG"
|
||||
$STD apt-get install -y nginx
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y nginx
|
||||
systemctl disable -q --now nginx
|
||||
curl -fsSL "$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)")
|
||||
$STD unzip AriaNg-*-AllInOne.zip -d /var/www
|
||||
rm AriaNg-*-AllInOne.zip
|
||||
rm /etc/nginx/sites-enabled/*
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
fetch_and_deploy_gh_release "ariang" "mayswind/ariang" "prebuild" "latest" "/var/www" "AriaNg-*-AllInOne.zip"
|
||||
|
||||
msg_info "Configure nginx"
|
||||
cat <<EOF >/etc/nginx/conf.d/ariang.conf
|
||||
server {
|
||||
listen 6880 default_server;
|
||||
@@ -42,11 +44,12 @@ server {
|
||||
}
|
||||
EOF
|
||||
cp /lib/systemd/system/nginx.service /lib/systemd/system/ariang.service
|
||||
msg_ok "Installed AriaNG"
|
||||
systemctl enable -q --now ariang
|
||||
msg_ok "Configured nginx"
|
||||
fi
|
||||
|
||||
msg_info "Creating Service"
|
||||
mkdir /root/downloads
|
||||
mkdir -p /root/downloads
|
||||
rpc_secret=$(openssl rand -base64 8)
|
||||
echo "rpc-secret: $rpc_secret" >>~/rpc.secret
|
||||
cat <<EOF >/root/aria2.daemon
|
||||
@@ -80,7 +83,6 @@ Restart=on-failure
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl enable -q --now aria2
|
||||
systemctl enable -q --now ariang
|
||||
msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y ffmpeg
|
||||
$STD apt install -y ffmpeg
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
setup_deb822_repo \
|
||||
|
||||
@@ -15,8 +15,39 @@ update_os
|
||||
|
||||
fetch_and_deploy_gh_release "authelia" "authelia/authelia" "binary"
|
||||
|
||||
read -rp "${TAB3}Enter your domain (ex. example.com): " DOMAIN
|
||||
|
||||
get_lxc_ip
|
||||
MAX_ATTEMPTS=3
|
||||
attempt=0
|
||||
while true; do
|
||||
((attempt++))
|
||||
read -rp "${TAB3}Enter your domain or IP (ex. example.com or 192.168.1.100): " DOMAIN
|
||||
if [[ -z "$DOMAIN" ]]; then
|
||||
if ((attempt >= MAX_ATTEMPTS)); then
|
||||
DOMAIN="${LOCAL_IP:-localhost}"
|
||||
msg_warn "Using fallback: $DOMAIN"
|
||||
break
|
||||
fi
|
||||
msg_warn "Domain cannot be empty! (Attempt $attempt/$MAX_ATTEMPTS)"
|
||||
elif [[ "$DOMAIN" =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]; then
|
||||
valid_ip=true
|
||||
IFS='.' read -ra octets <<< "$DOMAIN"
|
||||
for octet in "${octets[@]}"; do
|
||||
if ((octet > 255)); then
|
||||
valid_ip=false
|
||||
break
|
||||
fi
|
||||
done
|
||||
if $valid_ip; then
|
||||
break
|
||||
else
|
||||
msg_warn "Invalid IP address!"
|
||||
fi
|
||||
elif [[ "$DOMAIN" =~ ^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*\.[a-zA-Z]{2,}$ ]]; then
|
||||
break
|
||||
else
|
||||
msg_warn "Invalid domain format!"
|
||||
fi
|
||||
done
|
||||
msg_info "Setting Authelia up"
|
||||
touch /etc/authelia/emails.txt
|
||||
JWT_SECRET=$(openssl rand -hex 64)
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing dependencies"
|
||||
$STD apt-get install -y --no-install-recommends \
|
||||
$STD apt install -y --no-install-recommends \
|
||||
python3-dev \
|
||||
sqlite3 \
|
||||
build-essential \
|
||||
@@ -47,16 +47,12 @@ msg_ok "Installed dependencies"
|
||||
|
||||
fetch_and_deploy_gh_release "kepubify" "pgaskin/kepubify" "singlefile" "latest" "/usr/bin" "kepubify-linux-64bit"
|
||||
KEPUB_VERSION="$(/usr/bin/kepubify --version | awk '{print $2}')"
|
||||
fetch_and_deploy_gh_release "calibre" "kovidgoyal/calibre" "prebuild" "latest" "/opt/calibre" "calibre-*-x86_64.txz"
|
||||
|
||||
msg_info "Installing Calibre"
|
||||
CALIBRE_RELEASE="$(curl -s https://api.github.com/repos/kovidgoyal/calibre/releases/latest | grep -o '"tag_name": "[^"]*' | cut -d'"' -f4)"
|
||||
CALIBRE_VERSION=${CALIBRE_RELEASE#v}
|
||||
curl -fsSL https://github.com/kovidgoyal/calibre/releases/download/${CALIBRE_RELEASE}/calibre-${CALIBRE_VERSION}-x86_64.txz -o /tmp/calibre.txz
|
||||
mkdir -p /opt/calibre
|
||||
$STD tar -xf /tmp/calibre.txz -C /opt/calibre
|
||||
rm /tmp/calibre.txz
|
||||
$STD /opt/calibre/calibre_postinstall
|
||||
msg_ok "Calibre installed"
|
||||
CALIBRE_VERSION=$(cat ~/.calibre)
|
||||
msg_ok "Installed Calibre"
|
||||
|
||||
setup_uv
|
||||
|
||||
|
||||
@@ -16,12 +16,11 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
redis-server \
|
||||
nginx \
|
||||
lsb-release \
|
||||
libvips
|
||||
#php-{ffi,opcache,redis,zip,pdo-sqlite,bcmath,pdo,curl,dom,fpm}
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
PHP_VERSION="8.4" PHP_FPM=YES PHP_MODULE="ffi,opcache,redis,zip,pdo-sqlite,bcmath,pdo,curl,dom,fpm" setup_php
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
iproute2 \
|
||||
gcc \
|
||||
musl-dev
|
||||
@@ -23,28 +23,17 @@ msg_ok "Installed Dependencies"
|
||||
PG_VERSION="16" setup_postgresql
|
||||
setup_go
|
||||
fetch_and_deploy_gh_release "bitmagnet" "bitmagnet-io/bitmagnet" "tarball"
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
RELEASE=$(cat ~/.bitmagnet)
|
||||
|
||||
msg_info "Setting up database"
|
||||
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 "PostgreSQL Credentials"
|
||||
echo ""
|
||||
echo "postgres user password: $POSTGRES_PASSWORD"
|
||||
} >>~/postgres.creds
|
||||
msg_ok "Database set up"
|
||||
PG_DB_NAME="bitmagnet" PG_DB_USER="postgres" setup_postgresql_db
|
||||
|
||||
msg_info "Configuring bitmagnet v${RELEASE}"
|
||||
msg_info "Configuring bitmagnet"
|
||||
cd /opt/bitmagnet
|
||||
VREL=v$RELEASE
|
||||
$STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=$VREL"
|
||||
$STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=v${RELEASE}"
|
||||
chmod +x bitmagnet
|
||||
msg_ok "Configured bitmagnet v${RELEASE}"
|
||||
msg_ok "Configured bitmagnet"
|
||||
|
||||
read -r -p "${TAB3}Enter your TMDB API key if you have one: " tmdbapikey
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/bitmagnet-web.service
|
||||
[Unit]
|
||||
@@ -57,7 +46,7 @@ User=root
|
||||
WorkingDirectory=/opt/bitmagnet
|
||||
ExecStart=/opt/bitmagnet/bitmagnet worker run --all
|
||||
Environment=POSTGRES_HOST=localhost
|
||||
Environment=POSTGRES_PASSWORD=$POSTGRES_PASSWORD
|
||||
Environment=POSTGRES_PASSWORD=${PG_DB_PASS}
|
||||
Environment=TMDB_API_KEY=$tmdbapikey
|
||||
Restart=on-failure
|
||||
|
||||
|
||||
@@ -14,11 +14,12 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y apt-transport-https
|
||||
$STD apt-get install -y lsb-release
|
||||
$STD apt install -y \
|
||||
apt-transport-https \
|
||||
lsb-release
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
RELEASE=$(get_latest_github_release "bunkerity/bunkerweb")
|
||||
msg_warn "WARNING: This script will run an external installer from a third-party source (install-bunkerweb.sh)."
|
||||
msg_warn "The following code is NOT maintained or audited by our repository."
|
||||
msg_warn "If you have any doubts or concerns, please review the installer code before proceeding:"
|
||||
@@ -30,7 +31,7 @@ if [[ ! "$CONFIRM" =~ ^([yY][eE][sS]|[yY])$ ]]; then
|
||||
exit 10
|
||||
fi
|
||||
msg_info "Installing BunkerWeb (Patience)"
|
||||
curl -fsSL -o install-bunkerweb.sh https://github.com/bunkerity/bunkerweb/raw/v${RELEASE}/misc/install-bunkerweb.sh
|
||||
curl -fsSL -o install-bunkerweb.sh "https://github.com/bunkerity/bunkerweb/raw/v${RELEASE}/misc/install-bunkerweb.sh"
|
||||
chmod +x install-bunkerweb.sh
|
||||
$STD ./install-bunkerweb.sh --yes
|
||||
$STD apt-mark unhold bunkerweb nginx
|
||||
@@ -39,8 +40,8 @@ Package: bunkerweb
|
||||
Pin: version ${RELEASE}
|
||||
Pin-Priority: 1001
|
||||
EOF
|
||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
||||
msg_ok "Installed BunkerWeb v${RELEASE}"
|
||||
echo "${RELEASE}" >~/.bunkerweb
|
||||
msg_ok "Installed BunkerWeb"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
@@ -14,8 +14,9 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y chromium
|
||||
$STD apt-get install -y xvfb
|
||||
$STD apt install -y \
|
||||
chromium \
|
||||
xvfb
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_warn "WARNING: This script will run an external installer from a third-party source (https://getchannels.com)."
|
||||
|
||||
@@ -30,7 +30,6 @@ RestartSec=5
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
systemctl enable -q --now cloudreve
|
||||
msg_ok "Service Setup"
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@ update_os
|
||||
|
||||
msg_info "Installing Cockpit"
|
||||
source /etc/os-release
|
||||
|
||||
cat <<EOF >/etc/apt/sources.list.d/debian-backports.sources
|
||||
Types: deb deb-src
|
||||
URIs: http://deb.debian.org/debian
|
||||
@@ -42,18 +41,13 @@ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
|
||||
fi
|
||||
if [[ "$install_45drives" == "true" ]]; then
|
||||
msg_info "Installing 45Drives' cockpit extensions"
|
||||
curl -fsSL https://repo.45drives.com/key/gpg.asc | gpg --pinentry-mode loopback --batch --yes --dearmor -o /usr/share/keyrings/45drives-archive-keyring.gpg
|
||||
cat <<EOF >/etc/apt/sources.list.d/45drives-enterprise.sources
|
||||
Types: deb
|
||||
URIs: https://repo.45drives.com/enterprise/debian
|
||||
Suites: bookworm
|
||||
Components: main
|
||||
Architectures: amd64
|
||||
Signed-By: /usr/share/keyrings/45drives-archive-keyring.gpg
|
||||
EOF
|
||||
|
||||
$STD apt update
|
||||
$STD apt install cockpit-file-sharing cockpit-identities cockpit-navigator -y
|
||||
setup_deb822_repo "45drives" \
|
||||
"https://repo.45drives.com/key/gpg.asc" \
|
||||
"https://repo.45drives.com/enterprise/debian" \
|
||||
"bookworm" \
|
||||
"main" \
|
||||
"amd64"
|
||||
$STD apt install -y cockpit-file-sharing cockpit-identities cockpit-navigator
|
||||
msg_ok "Installed 45Drives' cockpit extensions"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y rsync
|
||||
$STD apt install -y rsync
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
JAVA_VERSION="25" setup_java
|
||||
|
||||
@@ -27,8 +27,9 @@ Description=Cross-Seed daemon Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=cross-seed daemon
|
||||
Restart=always
|
||||
ExecStart=/usr/bin/cross-seed daemon
|
||||
Restart=on-failure
|
||||
RestartSec=30
|
||||
User=root
|
||||
|
||||
[Install]
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y git
|
||||
$STD apt install -y git
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
NODE_VERSION="22" setup_nodejs
|
||||
@@ -22,7 +22,7 @@ NODE_VERSION="22" setup_nodejs
|
||||
read -rp "${TAB3}Install OnlyOffice components instead of CKEditor? (Y/N): " onlyoffice
|
||||
fetch_and_deploy_gh_release "cryptpad" "cryptpad/cryptpad" "tarball"
|
||||
|
||||
msg_info "Setup ${APPLICATION}"
|
||||
msg_info "Setup CryptPad"
|
||||
cd /opt/cryptpad
|
||||
$STD npm ci
|
||||
$STD npm run install:components
|
||||
@@ -33,7 +33,7 @@ sed -i "80s#//httpAddress: 'localhost'#httpAddress: '0.0.0.0'#g" /opt/cryptpad/c
|
||||
if [[ "$onlyoffice" =~ ^[Yy]$ ]]; then
|
||||
$STD bash -c "./install-onlyoffice.sh --accept-license"
|
||||
fi
|
||||
msg_ok "Setup ${APPLICATION}"
|
||||
msg_ok "Setup CryptPad"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/cryptpad.service
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y g++-multilib
|
||||
$STD apt install -y g++-multilib
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Installing Daemon Sync Server"
|
||||
|
||||
@@ -14,24 +14,23 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y python3-libtorrent
|
||||
$STD apt install -y \
|
||||
python3-pip \
|
||||
python3-libtorrent
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Setup Python3"
|
||||
$STD apt-get install -y \
|
||||
python3 \
|
||||
python3-dev \
|
||||
python3-pip
|
||||
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
||||
msg_ok "Setup Python3"
|
||||
|
||||
msg_info "Installing Deluge"
|
||||
mkdir -p ~/.config/pip
|
||||
cat >~/.config/pip/pip.conf <<EOF
|
||||
[global]
|
||||
break-system-packages = true
|
||||
EOF
|
||||
$STD pip install deluge[all]
|
||||
msg_ok "Installed Deluge"
|
||||
|
||||
msg_info "Creating Service"
|
||||
service_path="/etc/systemd/system/deluged.service"
|
||||
echo "[Unit]
|
||||
cat <<EOF >/etc/systemd/system/deluged.service
|
||||
[Unit]
|
||||
Description=Deluge Bittorrent Client Daemon
|
||||
Documentation=man:deluged
|
||||
After=network-online.target
|
||||
@@ -39,15 +38,16 @@ After=network-online.target
|
||||
[Service]
|
||||
Type=simple
|
||||
UMask=007
|
||||
ExecStart=/usr/local/bin/deluged -d
|
||||
ExecStart=/usr/bin/deluged -d
|
||||
Restart=on-failure
|
||||
TimeoutStopSec=300
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target" >$service_path
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
service_path="/etc/systemd/system/deluge-web.service"
|
||||
echo "[Unit]
|
||||
cat <<EOF >/etc/systemd/system/deluge-web.service
|
||||
[Unit]
|
||||
Description=Deluge Bittorrent Client Web Interface
|
||||
Documentation=man:deluge-web
|
||||
After=deluged.service
|
||||
@@ -56,13 +56,13 @@ Wants=deluged.service
|
||||
[Service]
|
||||
Type=simple
|
||||
UMask=027
|
||||
ExecStart=/usr/local/bin/deluge-web -d
|
||||
ExecStart=/usr/bin/deluge-web -d
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target" >$service_path
|
||||
systemctl enable --now -q deluged.service
|
||||
systemctl enable --now -q deluge-web.service
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl enable --now -q deluged.service deluge-web.service
|
||||
msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
|
||||
@@ -14,23 +14,24 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
lsb-release \
|
||||
$STD apt install -y \
|
||||
apt-transport-https \
|
||||
debconf-utils
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
|
||||
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
|
||||
|
||||
read -p "${TAB3}Please enter the name for your server: " servername
|
||||
|
||||
msg_info "Installing Element Synapse"
|
||||
curl -fsSL "https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg" -o "/usr/share/keyrings/matrix-org-archive-keyring.gpg"
|
||||
echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" >/etc/apt/sources.list.d/matrix-org.list
|
||||
$STD apt-get update
|
||||
setup_deb822_repo "matrix-org" \
|
||||
"https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg" \
|
||||
"https://packages.matrix.org/debian/" \
|
||||
"$(get_os_info codename)" \
|
||||
"main"
|
||||
echo "matrix-synapse-py3 matrix-synapse/server-name string $servername" | debconf-set-selections
|
||||
echo "matrix-synapse-py3 matrix-synapse/report-stats boolean false" | debconf-set-selections
|
||||
$STD apt-get install matrix-synapse-py3 -y
|
||||
$STD apt install matrix-synapse-py3 -y
|
||||
systemctl stop matrix-synapse
|
||||
sed -i 's/127.0.0.1/0.0.0.0/g' /etc/matrix-synapse/homeserver.yaml
|
||||
sed -i 's/'\''::1'\'', //g' /etc/matrix-synapse/homeserver.yaml
|
||||
@@ -48,11 +49,11 @@ $STD register_new_matrix_user -a --user admin --password "$ADMIN_PASS" --config
|
||||
systemctl stop matrix-synapse
|
||||
sed -i '34d' /etc/matrix-synapse/homeserver.yaml
|
||||
systemctl start matrix-synapse
|
||||
temp_file=$(mktemp)
|
||||
mkdir -p /opt/synapse-admin
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/etkecc/synapse-admin/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
curl -fsSL "https://github.com/etkecc/synapse-admin/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
||||
tar xzf "$temp_file" -C /opt/synapse-admin --strip-components=1
|
||||
msg_ok "Installed Element Synapse"
|
||||
|
||||
fetch_and_deploy_gh_release "etkecc/synapse-admin" "/opt/synapse-admin" "tarball"
|
||||
|
||||
msg_info "Installing Synapse-Admin"
|
||||
cd /opt/synapse-admin
|
||||
$STD yarn global add serve
|
||||
$STD yarn install --ignore-engines
|
||||
@@ -60,7 +61,7 @@ $STD yarn build
|
||||
mv ./dist ../ &&
|
||||
rm -rf * &&
|
||||
mv ../dist ./
|
||||
msg_ok "Installed Element Synapse"
|
||||
msg_ok "Installed Synapse-Admin"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/synapse-admin.service
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing dependencies"
|
||||
$STD apt-get install -y ca-certificates
|
||||
$STD apt install -y ca-certificates
|
||||
msg_ok "Installed dependencies"
|
||||
|
||||
msg_info "Fetching latest EMQX Enterprise version"
|
||||
@@ -33,7 +33,7 @@ $STD curl -fsSL -o "$DEB_FILE" "$DOWNLOAD_URL"
|
||||
msg_ok "Downloaded EMQX"
|
||||
|
||||
msg_info "Installing EMQX"
|
||||
$STD apt-get install -y "$DEB_FILE"
|
||||
$STD apt install -y "$DEB_FILE"
|
||||
rm -f "$DEB_FILE"
|
||||
echo "$LATEST_VERSION" >~/.emqx
|
||||
msg_ok "Installed EMQX"
|
||||
|
||||
@@ -14,10 +14,10 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y xdg-utils
|
||||
$STD apt install -y xdg-utils
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
|
||||
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
|
||||
fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw" "tarball"
|
||||
|
||||
msg_info "Configuring Excalidraw"
|
||||
|
||||
@@ -24,23 +24,23 @@ msg_ok "Installed Dependencies"
|
||||
setup_hwaccel
|
||||
|
||||
msg_info "Installing ASP.NET Core Runtime"
|
||||
curl -fsSL https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb
|
||||
curl -fsSL https://packages.microsoft.com/config/debian/13/packages-microsoft-prod.deb -o packages-microsoft-prod.deb
|
||||
$STD dpkg -i packages-microsoft-prod.deb
|
||||
rm -rf packages-microsoft-prod.deb
|
||||
$STD apt-get update
|
||||
$STD apt-get install -y aspnetcore-runtime-8.0
|
||||
msg_ok "Installed ASP.NET Core Runtime"
|
||||
|
||||
msg_info "Setup ${APPLICATION}"
|
||||
msg_info "Setup FileFlows"
|
||||
$STD ln -svf /usr/bin/ffmpeg /usr/local/bin/ffmpeg
|
||||
$STD ln -svf /usr/bin/ffprobe /usr/local/bin/ffprobe
|
||||
temp_file=$(mktemp)
|
||||
curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file"
|
||||
$STD unzip -d /opt/fileflows "$temp_file"
|
||||
(cd /opt/fileflows/Server && dotnet FileFlows.Server.dll --systemd install --root true)
|
||||
$STD bash -c "cd /opt/fileflows/Server && dotnet FileFlows.Server.dll --systemd install --root true"
|
||||
systemctl enable -q --now fileflows
|
||||
rm -f "$temp_file"
|
||||
msg_ok "Setup ${APPLICATION}"
|
||||
msg_ok "Setup FileFlows"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y zip
|
||||
$STD apt install -y zip
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
PG_VERSION="17" setup_postgresql
|
||||
|
||||
@@ -13,20 +13,20 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
ca-certificates \
|
||||
git
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
|
||||
NODE_VERSION="22" NODE_MODULE="pnpm" setup_nodejs
|
||||
|
||||
msg_info "Installing Fumadocs"
|
||||
msg_info "Preparing Fumadocs - "
|
||||
mkdir -p /opt/fumadocs
|
||||
cd /opt/fumadocs
|
||||
msg_ok "Important: Manual configuration is required after this step."
|
||||
pnpm create fumadocs-app
|
||||
PROJECT_NAME=$(find . -maxdepth 1 -type d ! -name '.' ! -name '..' | sed 's|^\./||')
|
||||
echo "$PROJECT_NAME" >/opt/fumadocs/.projectname
|
||||
msg_ok "Installed Fumadocs"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/fumadocs_$PROJECT_NAME.service
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
ca-certificates \
|
||||
libcap2-bin
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
@@ -14,29 +14,14 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
nginx \
|
||||
ca-certificates \
|
||||
libjemalloc2
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
setup_mariadb
|
||||
|
||||
msg_info "Configuring Database"
|
||||
DB_NAME=ghost
|
||||
DB_USER=ghostuser
|
||||
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||
$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;"
|
||||
$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
|
||||
$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
||||
{
|
||||
echo "Ghost-Credentials"
|
||||
echo "Ghost Database User: $DB_USER"
|
||||
echo "Ghost Database Password: $DB_PASS"
|
||||
echo "Ghost Database Name: $DB_NAME"
|
||||
} >>~/ghost.creds
|
||||
msg_ok "Configured MariaDB"
|
||||
|
||||
MARIADB_DB_NAME="ghost" MARIADB_DB_USER="ghostuser" setup_mariadb_db
|
||||
NODE_VERSION="22" setup_nodejs
|
||||
|
||||
msg_info "Installing Ghost CLI"
|
||||
@@ -50,7 +35,7 @@ echo "ghost-user ALL=(ALL) NOPASSWD:ALL" | tee /etc/sudoers.d/ghost-user
|
||||
mkdir -p /var/www/ghost
|
||||
chown -R ghost-user:ghost-user /var/www/ghost
|
||||
chmod 775 /var/www/ghost
|
||||
$STD sudo -u ghost-user -H sh -c "cd /var/www/ghost && ghost install --db=mysql --dbhost=localhost --dbuser=$DB_USER --dbpass=$DB_PASS --dbname=ghost --url=http://localhost:2368 --no-prompt --no-setup-nginx --no-setup-ssl --no-setup-mysql --enable --start --ip 0.0.0.0"
|
||||
$STD sudo -u ghost-user -H sh -c "cd /var/www/ghost && ghost install --db=mysql --dbhost=localhost --dbuser=$MARIADB_DB_USER --dbpass=$MARIADB_DB_PASS --dbname=$MARIADB_DB_NAME --url=http://localhost:2368 --no-prompt --no-setup-nginx --no-setup-ssl --no-setup-mysql --enable --start --ip 0.0.0.0"
|
||||
rm /etc/sudoers.d/ghost-user
|
||||
msg_ok "Creating Service"
|
||||
|
||||
|
||||
@@ -15,15 +15,16 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y git
|
||||
$STD apt-get install -y sqlite3
|
||||
$STD apt install -y \
|
||||
git \
|
||||
sqlite3
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
fetch_and_deploy_gh_release "gitea" "go-gitea/gitea" "singlefile" "latest" "/usr/local/bin" "gitea-*-linux-amd64"
|
||||
|
||||
msg_info "Configuring Gitea"
|
||||
chmod +x /usr/local/bin/gitea
|
||||
adduser --system --group --disabled-password --shell /bin/bash --home /etc/gitea gitea >/dev/null
|
||||
$STD adduser --system --group --disabled-password --shell /bin/bash --home /etc/gitea gitea
|
||||
mkdir -p /var/lib/gitea/{custom,data,log}
|
||||
chown -R gitea:gitea /var/lib/gitea/
|
||||
chmod -R 750 /var/lib/gitea/
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing dependencies"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
build-essential \
|
||||
openssl \
|
||||
sqlite3 \
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
make \
|
||||
ca-certificates \
|
||||
python3-venv
|
||||
@@ -42,7 +42,7 @@ Description=Grist
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=exec
|
||||
Type=simple
|
||||
WorkingDirectory=/opt/grist
|
||||
ExecStart=/usr/bin/yarn run start:prod
|
||||
EnvironmentFile=-/opt/grist/.env
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y apt-transport-https
|
||||
$STD apt install -y apt-transport-https
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
PHP_VERSION="8.3" PHP_MODULE="sqlite3,bz2" PHP_APACHE="yes" setup_php
|
||||
@@ -38,7 +38,6 @@ cat <<EOF >/etc/apache2/sites-available/grocy.conf
|
||||
</Directory>
|
||||
</VirtualHost>
|
||||
EOF
|
||||
|
||||
$STD a2dissite 000-default.conf
|
||||
$STD a2ensite grocy.conf
|
||||
$STD a2enmod rewrite
|
||||
|
||||
Reference in New Issue
Block a user