TypeScript 97.4%
SQL 1%
JavaScript 0.9%
CSS 0.6%
1#!/bin/bash2# Installs the daily PostgreSQL backup for PolyLLM on the deployment node (run ON the node).3set -euo pipefail4mkdir -p ~/backups/polyllm ~/Library/LaunchAgents5cat > ~/backups/polyllm/backup.sh <<'SH'6#!/bin/bash7set -euo pipefail8export PATH="/opt/homebrew/opt/postgresql@17/bin:/opt/homebrew/bin:$PATH"9out=~/backups/polyllm/polyllm-$(date +%Y%m%d).sql.gz10pg_dump polyllm | gzip -9 > "$out.tmp" && mv "$out.tmp" "$out"11find ~/backups/polyllm -name 'polyllm-*.sql.gz' -mtime +14 -delete12echo "$(date -Iseconds) ok $(du -h "$out" | cut -f1)" >> ~/backups/polyllm/backup.log13SH14chmod +x ~/backups/polyllm/backup.sh15cat > ~/Library/LaunchAgents/dev.polyllm.backup.plist <<PLIST16<?xml version="1.0" encoding="UTF-8"?>17<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">18<plist version="1.0"><dict>19 <key>Label</key><string>dev.polyllm.backup</string>20 <key>ProgramArguments</key><array><string>/bin/bash</string><string>$HOME/backups/polyllm/backup.sh</string></array>21 <key>StartCalendarInterval</key><dict><key>Hour</key><integer>3</integer><key>Minute</key><integer>45</integer></dict>22 <key>StandardOutPath</key><string>$HOME/backups/polyllm/launchd.log</string>23 <key>StandardErrorPath</key><string>$HOME/backups/polyllm/launchd.log</string>24</dict></plist>25PLIST26launchctl bootout gui/$(id -u)/dev.polyllm.backup 2>/dev/null || true27launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/dev.polyllm.backup.plist28~/backups/polyllm/backup.sh && echo "backup installed + first dump done"29