SPB Git

spb/chat-spboucher Public

Private universal chat interface over the OpenRouter ecosystem — 400+ models, branching, streaming, usage tracking. Next.js 16 + SQLite, PWA, deployed on m4m64a at chat.spboucher.ai

TypeScript 78.8% CSS 15.1% JavaScript 4.9% Shell 1.2%
658 B · 25 lines shellscript
Raw Blame History
1#!/bin/zsh2# Author: Simon-Pierre Boucher3# Contact: contact@spboucher.ai4# Project: chat.spboucher.ai5#6# Nightly SQLite backup with 14-day retention. Schedule via ops/ai.spboucher.chat.backup.plist.78set -euo pipefail910APP_DIR="$HOME/apps/chat.spboucher.ai"11DB="$APP_DIR/data/chat.db"12BACKUP_DIR="$APP_DIR/data/backups"13STAMP=$(date +%Y%m%d-%H%M%S)1415mkdir -p "$BACKUP_DIR"16[ -f "$DB" ] || { echo "no database at $DB"; exit 0; }1718sqlite3 "$DB" ".backup '$BACKUP_DIR/chat-$STAMP.db'"19gzip "$BACKUP_DIR/chat-$STAMP.db"2021# retention: keep 14 days22find "$BACKUP_DIR" -name 'chat-*.db.gz' -mtime +14 -delete2324echo "backup written: $BACKUP_DIR/chat-$STAMP.db.gz"25