Files
p42.s-m/deploy/update-docker.sh
T

29 lines
831 B
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Container bauen und (neu) starten – auf dem Server ausführen: <projektordner>/deploy/update-docker.sh
set -euo pipefail
cd "$(dirname "$(readlink -f "$0")")/.."
# Neuen Code holen, falls das Projekt per Git auf den Server kam
if [ -d .git ]; then
git pull --ff-only
fi
# Beim ersten Mal: .env mit zufälligem Token anlegen
if [ ! -f .env ]; then
cp .env.example .env
sed -i "s/^SM_TOKEN=.*/SM_TOKEN=$(openssl rand -hex 32)/" .env
chmod 600 .env
# Mit sudo gestartet: .env trotzdem dem eigentlichen Benutzer geben, sonst kann er den Token nicht lesen
if [ -n "${SUDO_USER:-}" ]; then
chown "$SUDO_USER": .env
fi
echo ".env wurde angelegt. Token für P42-F.W.:"
grep '^SM_TOKEN=' .env | cut -d= -f2
fi
docker compose up -d --build
docker image prune -f >/dev/null
sleep 5
docker compose ps