30 lines
749 B
Bash
30 lines
749 B
Bash
#!/bin/bash
|
|
# manage-worker.sh
|
|
|
|
DOMAIN=$1
|
|
|
|
if [ -z "$DOMAIN" ]; then
|
|
echo "Usage: $0 <domain> [action]"
|
|
echo "Example: $0 andreasknuth.de"
|
|
echo " $0 andreasknuth.de down"
|
|
echo " $0 andreasknuth.de logs -f"
|
|
exit 1
|
|
fi
|
|
|
|
# Entfernt den ersten Parameter ($1 / DOMAIN) aus der Argumentenliste
|
|
shift
|
|
|
|
# Nimm ALLE verbleibenden Argumente ($@). Wenn keine da sind, nimm "up -d".
|
|
ACTION="${@:-up -d}"
|
|
|
|
PROJECT_NAME="${DOMAIN//./-}"
|
|
ENV_FILE=".env.${DOMAIN}"
|
|
|
|
if [ ! -f "$ENV_FILE" ]; then
|
|
echo "Error: $ENV_FILE not found!"
|
|
exit 1
|
|
fi
|
|
|
|
# $ACTION wird hier nicht in Anführungszeichen gesetzt,
|
|
# damit "logs -f" als zwei separate Befehle erkannt wird.
|
|
docker compose -p "$PROJECT_NAME" --env-file "$ENV_FILE" $ACTION |