Add deploy.sh
This commit is contained in:
38
deploy/my-vpn/deploy.sh
Normal file
38
deploy/my-vpn/deploy.sh
Normal file
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# BLOCK 1: config + sanity checks
|
||||
APP_DIR="/srv/proxyfier"
|
||||
REPO_URL="ssh://git@git.ornot.ru:2223/alexanderOrNot/proxyfier.git"
|
||||
BRANCH="main"
|
||||
IMAGE="proxyfier:latest"
|
||||
CONTAINER="proxyfier"
|
||||
PORT="9000"
|
||||
|
||||
command -v git >/dev/null 2>&1 || { echo "git not found"; exit 1; }
|
||||
command -v docker >/dev/null 2>&1 || { echo "docker not found"; exit 1; }
|
||||
|
||||
# BLOCK 2: get/update source code
|
||||
if [[ ! -d "$APP_DIR/.git" ]]; then
|
||||
mkdir -p "$APP_DIR"
|
||||
git clone "$REPO_URL" "$APP_DIR"
|
||||
fi
|
||||
cd "$APP_DIR"
|
||||
git fetch --all
|
||||
git reset --hard "origin/${BRANCH}"
|
||||
|
||||
# BLOCK 3: build image
|
||||
docker build -t "$IMAGE" .
|
||||
|
||||
# BLOCK 4: run container
|
||||
if docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER}$"; then
|
||||
docker rm -f "$CONTAINER"
|
||||
fi
|
||||
docker run -d --name "$CONTAINER" \
|
||||
--restart unless-stopped \
|
||||
-p "${PORT}:${PORT}" \
|
||||
-v "$APP_DIR/config.yaml:/app/config.yaml:ro" \
|
||||
-e PROXYFIER_CONFIG=/app/config.yaml \
|
||||
"$IMAGE"
|
||||
|
||||
echo "OK: deployed ${CONTAINER} on port ${PORT}"
|
||||
Reference in New Issue
Block a user