homelab infrastructure services
at fix-docker-install 53 lines 1.4 kB view raw
1#!/bin/bash 2 3# Fresh Tinsnip Installation Script 4# Cleans up any existing installation and installs fresh with latest version 5 6set -euo pipefail 7 8log() { 9 echo "[Fresh Install] $*" 10} 11 12log "Fresh Tinsnip Installation" 13log "=========================" 14log "" 15 16# Clean up existing installation 17log "Step 1: Cleaning up existing installation..." 18rm -rf ~/.local/opt/dynamicalsystem.tinsnip || true 19rm -rf ~/.local/opt/dynamicalsystem.service || true 20 21# Clean up any partial service users 22log "Step 2: Cleaning up service users..." 23 24# Clean up legacy users 25sudo pkill -u tinsnip || true 26sudo pkill -u lldap || true 27sudo pkill -u gazette || true 28sudo pkill -u test || true 29sudo pkill -u prod || true 30 31sudo userdel -r tinsnip || true 32sudo userdel -r lldap || true 33sudo userdel -r gazette || true 34sudo userdel -r test || true 35sudo userdel -r prod || true 36 37# Clean up TNSEP-style service users 38for service in station gazette lldap redis prometheus; do 39 for env in prod test; do 40 user="${service}-${env}" 41 if id "$user" &>/dev/null; then 42 log "Removing TNSEP user: $user" 43 sudo pkill -u "$user" || true 44 sudo userdel -r "$user" || true 45 fi 46 done 47done 48 49# Clean up any remaining NFS mounts 50sudo umount /mnt/docker || true 51 52log "Step 3: Fresh installation with latest version..." 53curl -fsSL "https://tangled.sh/dynamicalsystem.com/tinsnip/raw/main/install.sh?$(date +%s)" | bash