Files
fixfin/install.sh
T
2026-08-18 06:56:00 +02:00

38 lines
940 B
Bash
Executable File

#!/usr/bin/env bash
set -Eeuo pipefail
SOURCE_DIR="$(cd "$(dirname "$0")" && pwd)"
TARGET_DIR="/opt/docker-infra/fixfin"
DATA_DIR="/srv/docker/fixfin/data"
if [[ "$EUID" -ne 0 ]]; then
echo "Bitte mit sudo starten:"
echo " sudo bash install.sh"
exit 1
fi
command -v docker >/dev/null || { echo "Docker fehlt."; exit 1; }
docker compose version >/dev/null || { echo "Docker Compose v2 fehlt."; exit 1; }
mkdir -p "$TARGET_DIR" "$DATA_DIR"
# Nur Projektdateien kopieren, niemals /opt oder /srv rekursiv löschen.
if [[ "$SOURCE_DIR" != "$TARGET_DIR" ]]; then
cp -a "$SOURCE_DIR"/. "$TARGET_DIR"/
fi
# node:alpine verwendet standardmäßig UID/GID 1000 für 'node'.
chown -R 1000:1000 "$DATA_DIR"
chmod 750 "$DATA_DIR"
cd "$TARGET_DIR"
docker compose config >/dev/null
docker compose up -d --build
echo
echo "FixFin läuft."
echo "URL: http://DOCKER-SERVER-IP:3080"
echo "Daten: $DATA_DIR/finance.json"
echo
docker compose ps