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