#!/bin/bash # Container bauen und (neu) starten – auf dem Server ausführen: /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 # Gemeinsames Netz mit P42-F.W. – wer zuerst startet, legt es an docker network inspect p42 >/dev/null 2>&1 || docker network create p42 >/dev/null docker compose up -d --build docker image prune -f >/dev/null sleep 5 docker compose ps