33 lines
857 B
Bash
Executable File
33 lines
857 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
SOURCE_PATH="$SOURCE_DIRECTORY"
|
|
|
|
if [ -z "${SOURCE_PATH:-}" ] || [ "$(realpath -m "$SOURCE_PATH")" = "/" ]; then
|
|
echo "Error: SOURCE_DIRECTORY is invalid or set to root path ('/')." >&2
|
|
exit 1
|
|
fi
|
|
|
|
|
|
SERVER_IP="195.26.246.243"
|
|
SERVER_PATH="/docker/bunext-mariadb"
|
|
|
|
cd "$SOURCE_PATH"
|
|
|
|
rsync -avz --exclude-from=.gitignore --delete \
|
|
"$SOURCE_PATH/" "deploy@$SERVER_IP:$SERVER_PATH/"
|
|
|
|
ssh -i "$HOME/.ssh/deploy" "deploy@$SERVER_IP" << 'EOF'
|
|
set -e
|
|
cd /docker/bunext-mariadb
|
|
docker build -t bunext-mariadb .
|
|
docker kill bunext-mariadb 2>/dev/null || echo "Service already killed"
|
|
docker rm bunext-mariadb 2>/dev/null || echo "Container already removed"
|
|
docker run --name bunext-mariadb -d \
|
|
--network cloudflare --network mariadb \
|
|
-v server-data:/data \
|
|
--restart unless-stopped \
|
|
bunext-mariadb:latest
|
|
EOF
|