Add install.sh
This commit is contained in:
59
install.sh
Normal file
59
install.sh
Normal file
@@ -0,0 +1,59 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
APP_NAME="n8n" # <<< поменяй под приложение
|
||||
APP_DIR="/opt/apps/${APP_NAME}"
|
||||
|
||||
# <<< поменяй на свой raw base URL
|
||||
# пример: https://git.yalu.pro/evgeny/n8n-docker/raw/branch/main
|
||||
RAW_BASE="https://git.yalu.pro/evgeny/n8n-docker/raw/branch/main"
|
||||
|
||||
need() { command -v "$1" >/dev/null 2>&1; }
|
||||
|
||||
echo "==> Installing ${APP_NAME} into ${APP_DIR}"
|
||||
|
||||
# 1) Preflight
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
echo "ERROR: run as root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "$APP_DIR"
|
||||
cd "$APP_DIR"
|
||||
|
||||
# 2) Install Docker if missing
|
||||
if ! need docker; then
|
||||
echo "==> Docker not found. Installing Docker..."
|
||||
apt-get update
|
||||
apt-get install -y ca-certificates curl gnupg
|
||||
|
||||
install -m 0755 -d /etc/apt/keyrings
|
||||
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
chmod a+r /etc/apt/keyrings/docker.gpg
|
||||
|
||||
. /etc/os-release
|
||||
echo \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/${ID} \
|
||||
${VERSION_CODENAME} stable" | tee /etc/apt/sources.list.d/docker.list >/dev/null
|
||||
|
||||
apt-get update
|
||||
apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||||
fi
|
||||
|
||||
# 3) Fetch compose + env example from repo
|
||||
echo "==> Fetching docker-compose.yml and .env.example"
|
||||
curl -fsSL "${RAW_BASE}/docker-compose.yml" -o docker-compose.yml
|
||||
curl -fsSL "${RAW_BASE}/.env.example" -o .env.example
|
||||
|
||||
# 4) Create .env if missing
|
||||
if [[ ! -f .env ]]; then
|
||||
cp .env.example .env
|
||||
echo "==> Created .env from .env.example (edit it if needed)"
|
||||
fi
|
||||
|
||||
# 5) Start app
|
||||
echo "==> Starting ${APP_NAME}"
|
||||
docker compose up -d
|
||||
|
||||
echo "✅ Done."
|
||||
docker compose ps
|
||||
Reference in New Issue
Block a user