#!/usr/bin/env bash # deploy.sh — instala el runtime contenido en sus rutas live y reinicia el daemon. # Fuente versionada: este directorio (cayce-ops/runtime). Reversible con # CAYCE_PUBLISH_MODE=live en el .env de cada servicio. set -euo pipefail SRC="$(cd "$(dirname "$0")" && pwd)" install -m 644 "$SRC/outbox.mjs" /srv/cayce-core/outbox.mjs install -m 644 "$SRC/core.mjs" /srv/cayce-core/core.mjs install -m 644 "$SRC/editorials.mjs" /srv/cayce-core/editorials.mjs install -m 644 "$SRC/initiative.mjs" /srv/cayce-core/initiative.mjs install -m 644 "$SRC/outbox.mjs" /srv/cayce-nostr/outbox.mjs install -m 644 "$SRC/daemon.mjs" /srv/cayce-nostr/daemon.mjs # opcionales (llegan con el PR de verificación/10050) install -m 755 "$SRC/publish-10050.mjs" /srv/cayce-nostr/publish-10050.mjs 2>/dev/null || true install -m 644 "$SRC/check-relay-silence.mjs" /srv/cayce-nostr/check-relay-silence.mjs 2>/dev/null || true install -m 644 "$SRC/outbox.mjs" /home/ubuntu/cayce-social/outbox.mjs install -m 644 "$SRC/promo.mjs" /home/ubuntu/cayce-social/promo.mjs install -m 644 "$SRC/outbox.mjs" /home/ubuntu/cayce-mail/outbox.mjs install -m 644 "$SRC/mail.mjs" /home/ubuntu/cayce-mail/mail.mjs # config de contención (idempotente): draft por defecto + ruta de identidad for ENVF in /srv/cayce-core/.env /srv/cayce-nostr/.env /home/ubuntu/cayce-social/.env /home/ubuntu/cayce-mail/.env; do grep -q "^CAYCE_PUBLISH_MODE=" "$ENVF" 2>/dev/null || echo "CAYCE_PUBLISH_MODE=draft" >> "$ENVF" grep -q "^IDENTITY_PATH=" "$ENVF" 2>/dev/null || echo "IDENTITY_PATH=/home/ubuntu/cayce-ops/prompts/cayce-identity.md" >> "$ENVF" done sudo systemctl restart cayce-nostr echo "deploy OK — mode=$(grep -h "^CAYCE_PUBLISH_MODE=" /srv/cayce-core/.env | head -1)"