zeroed-some/dougk / 7a16c27

Browse files

make agnostic for arch server

Authored by mfwolffe <wolffemf@dukes.jmu.edu>
SHA
7a16c278a8f12a753cfae2640bfdd88d0869475b
Parents
fc5951a
Tree
cbb2eb8

1 changed file

StatusFile+-
M deploy.sh 32 4
deploy.shmodified
@@ -3,7 +3,20 @@ set -euo pipefail
33
 
44
 STAMP=$(date +%Y-%m-%d-%H%M%S)
55
 OUTDIR=~/builds/$STAMP
6
-SITE=/var/www/dougk.musicsian.com
6
+SITE=/var/www/dougk.world
7
+
8
+# Detect distro
9
+if [ -f /etc/os-release ]; then
10
+    . /etc/os-release
11
+    DISTRO="${ID:-unknown}"
12
+else
13
+    DISTRO="unknown"
14
+fi
15
+
16
+echo "▶ Detected distro: $DISTRO"
17
+
18
+# Ensure builds directory exists
19
+mkdir -p ~/builds
720
 
821
 echo "▶ npm ci"
922
 npm ci
@@ -16,8 +29,23 @@ echo "▶ copy into releases"
1629
 sudo mkdir -p "$SITE/releases"
1730
 sudo rsync -az --delete "$OUTDIR"/ "$SITE/releases/$STAMP/"
1831
 
19
-echo "▶ fix selinux context"
20
-sudo restorecon -Rv "$SITE/releases/$STAMP"
32
+# SELinux context fix (Alma/RHEL/Fedora only)
33
+case "$DISTRO" in
34
+    almalinux|rhel|centos|fedora|rocky)
35
+        echo "▶ fix selinux context"
36
+        sudo restorecon -Rv "$SITE/releases/$STAMP"
37
+        ;;
38
+    arch|manjaro|endeavouros)
39
+        echo "▶ skipping selinux (not used on $DISTRO)"
40
+        ;;
41
+    *)
42
+        # Fallback: run restorecon if available
43
+        if command -v restorecon &>/dev/null; then
44
+            echo "▶ fix selinux context"
45
+            sudo restorecon -Rv "$SITE/releases/$STAMP"
46
+        fi
47
+        ;;
48
+esac
2149
 
2250
 echo "▶ flip current symlink"
2351
 sudo rm -rf "$SITE/current"
@@ -26,4 +54,4 @@ sudo ln -s "$SITE/releases/$STAMP" "$SITE/current"
2654
 echo "▶ reload nginx"
2755
 sudo systemctl reload nginx
2856
 
29
-echo "✓ Deployed dougk $STAMP"
57
+echo "✓ Deployed dougk $STAMP on $DISTRO"