f69efb67ad
- Tauri desktop app (apps/desktop) - Python Django API service (services/api) - Deployment scripts and docs
61 lines
1.8 KiB
Bash
61 lines
1.8 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
echo "[AbyssInfo] Server environment installer"
|
|
echo "[AbyssInfo] User: $(whoami)"
|
|
echo "[AbyssInfo] OS:"
|
|
cat /etc/os-release
|
|
|
|
if [[ "$(id -u)" != "0" ]]; then
|
|
echo "[AbyssInfo] Please run as root." >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "[AbyssInfo] Installing base packages ..."
|
|
dnf install -y dnf-plugins-core ca-certificates curl git tar gzip unzip policycoreutils-python-utils
|
|
|
|
if ! command -v docker >/dev/null 2>&1; then
|
|
echo "[AbyssInfo] Adding Docker CE repository ..."
|
|
rm -f /etc/yum.repos.d/docker-ce.repo
|
|
dnf clean all
|
|
if ! dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo; then
|
|
echo "[AbyssInfo] Aliyun Docker repository failed, using official repository ..."
|
|
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
|
|
fi
|
|
dnf clean all
|
|
dnf makecache --disablerepo='*' --enablerepo='docker-ce-stable' || true
|
|
echo "[AbyssInfo] Installing Docker Engine and Compose plugin ..."
|
|
dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
|
else
|
|
echo "[AbyssInfo] Docker already installed."
|
|
fi
|
|
|
|
systemctl enable --now docker
|
|
|
|
if ! command -v nginx >/dev/null 2>&1; then
|
|
echo "[AbyssInfo] Installing Nginx ..."
|
|
dnf install -y nginx
|
|
else
|
|
echo "[AbyssInfo] Nginx already installed."
|
|
fi
|
|
|
|
mkdir -p /opt/abyssinfo-home-vpn
|
|
|
|
if systemctl is-active --quiet firewalld; then
|
|
echo "[AbyssInfo] Configuring running firewalld ..."
|
|
firewall-cmd --permanent --add-service=ssh
|
|
firewall-cmd --permanent --add-service=http
|
|
firewall-cmd --permanent --add-service=https
|
|
firewall-cmd --reload
|
|
else
|
|
echo "[AbyssInfo] firewalld is not running; skipping OS firewall changes."
|
|
fi
|
|
|
|
echo "[AbyssInfo] Versions:"
|
|
docker --version
|
|
docker compose version
|
|
git --version
|
|
nginx -v
|
|
|
|
echo "[AbyssInfo] Environment ready."
|