mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/GabsPuNs-MinecraftConsoles.git
synced 2026-05-22 00:05:42 +00:00
46 lines
1.1 KiB
Bash
46 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
|
COMPOSE_FILE="${SCRIPT_DIR}/docker-compose.dedicated-server.ghcr.yml"
|
|
SERVICE_NAME="minecraft-tu30dev-dedicated-server"
|
|
PERSIST_DIR="${SCRIPT_DIR}/server-data"
|
|
|
|
if [[ ! -f "${COMPOSE_FILE}" ]]; then
|
|
echo "[error] docker-compose file not found: ${COMPOSE_FILE}" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if command -v docker >/dev/null 2>&1; then
|
|
COMPOSE_CMD=(docker compose)
|
|
elif command -v docker-compose >/dev/null 2>&1; then
|
|
COMPOSE_CMD=(docker-compose)
|
|
else
|
|
echo "[error] docker compose is not available." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "${#}" -gt 1 ]]; then
|
|
echo "Usage: $0 [--no-pull]" >&2
|
|
exit 1
|
|
fi
|
|
|
|
DO_PULL=1
|
|
if [[ "${#}" -eq 1 ]]; then
|
|
if [[ "${1}" == "--no-pull" ]]; then
|
|
DO_PULL=0
|
|
else
|
|
echo "Usage: $0 [--no-pull]" >&2
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if [[ "${DO_PULL}" -eq 1 ]]; then
|
|
echo "[info] Pulling latest image from GHCR..."
|
|
"${COMPOSE_CMD[@]}" -f "${COMPOSE_FILE}" pull "${SERVICE_NAME}"
|
|
fi
|
|
|
|
echo "[info] Starting dedicated server..."
|
|
"${COMPOSE_CMD[@]}" -f "${COMPOSE_FILE}" up -d "${SERVICE_NAME}"
|
|
echo "[info] Dedicated server started."
|