SafeLine/setup.sh
2023-04-17 22:51:41 +08:00

47 lines
1.4 KiB
Bash
Executable file

#! /bin/bash
set -eE
abort()
{
echo $1
exit 1
}
echo "
____ __ _ _
/ ___| __ _ / _| ___ | | (_) _ __ ___
\___ \ / _\` | | |_ / _ \ | | | | | '_ \ / _ \\
___) | | (_| | | _| | __/ | |___ | | | | | | | __/
|____/ \__,_| |_| \___| |_____| |_| |_| |_| \___|
"
if [[ "$#" -ne "0" ]]; then
echo "Usage: run "$0" to set up Safeline CE at current working directory."
exit 0
fi
command -v docker > /dev/null || abort "docker not found, unable to deploy"
compose_plugin=true
compose_command="docker compose"
docker --help | grep compose | grep v2 > /dev/null || compose_plugin=false || compose_command="docker-compose"
if [[ "x${compose_plugin}" = "xfalse" ]]; then
command -v docker-compose > /dev/null && docker-compose --version | grep v2 > /dev/null || abort "docker compose v2 not found, unable to deploy"
fi
COMPOSE_YAML="compose.yaml"
if [[ ! -f ${COMPOSE_YAML} ]]; then
wget https://waf-ce.chaitin.cn/release/latest/compose.yaml --no-check-certificate -O ${COMPOSE_YAML}
fi
ENV_FILE=".env"
if [[ ! -f ${ENV_FILE} ]]; then
echo "SAFELINE_DIR=$(pwd)" >> .env
echo "IMAGE_TAG=latest" >> .env
echo "MGT_PORT=9443" >> .env
echo "POSTGRES_PASSWORD=$(LC_ALL=C tr -dc A-Za-z0-9 </dev/urandom | head -c 32)" >> .env
fi
echo "Setup success!"
echo "Run '$compose_command up -d' to start SafeLine."
echo "And then visit https://<SafeLine-IP>:9443."