1
0

update: cross-platform run script

This commit is contained in:
2026-03-02 02:26:24 +01:00
parent 9ad21e6f34
commit 0112694b76
2 changed files with 30 additions and 17 deletions

31
run
View File

@@ -1,9 +1,19 @@
#!/bin/zsh
#!/bin/bash
# Load parameters
ACTION=$1
ENV_FILE=".env"
# Detect docker compose command (cross-platform compatibility)
if command -v docker-compose >/dev/null 2>&1; then
DOCKER_COMPOSE="docker-compose"
elif command -v docker >/dev/null 2>&1 && docker compose version >/dev/null 2>&1; then
DOCKER_COMPOSE="docker compose"
else
echo "Error: Neither docker-compose nor docker compose found!"
exit 1
fi
# Check if .env file exists
if [[ ! -f $ENV_FILE ]]; then
echo "Error: $ENV_FILE file not found!"
@@ -19,28 +29,33 @@ source $ENV_FILE
case "$ACTION" in
"up")
docker network create $EXTERNAL_NETWORK > /dev/null 2>&1 || true
# Create network if it doesn't exist (cross-platform)
if ! docker network ls | grep -q "${EXTERNAL_NETWORK}"; then
docker network create "${EXTERNAL_NETWORK}" >/dev/null 2>&1 || true
fi
# Check HTTPS redirect setting
if [[ "${FORCE_HTTPS_REDIRECT}" == "true" ]]; then
MSG="Starting with HTTPS redirect enabled..."
docker compose -f docker-compose.yml -f docker-compose.https-redirect.yml up -d
${DOCKER_COMPOSE} -f docker-compose.yml -f docker-compose.https-redirect.yml up -d
else
MSG="Starting without HTTPS redirect..."
docker compose up -d
${DOCKER_COMPOSE} up -d
fi
echo "\n${MSG}"
echo ""
echo "${MSG}"
sleep 2
echo "\nAvailable services:"
echo ""
echo "Available services:"
echo "Traefik: https://traefik.${DEV_URL}"
echo "Portainer: https://portainer.${DEV_URL}"
;;
"restart")
docker compose restart
${DOCKER_COMPOSE} restart
;;
"down")
docker compose down
${DOCKER_COMPOSE} down
;;
*)
echo "Usage: $0 [up|restart|down]"