Files
abyssVpn/deploy/remote/install_env.sh
T
arthur_chen f69efb67ad Initial commit: abyssVpn project
- Tauri desktop app (apps/desktop)
- Python Django API service (services/api)
- Deployment scripts and docs
2026-05-15 09:06:10 +08:00

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."