Spaces:
Running
Running
feat: auto-generate BETTER_AUTH_SECRET on first boot
Browse filesIf not set via HF Space secrets:
- First boot: generate with openssl rand -base64 32, save to /paperclip/.auth-secret
- Subsequent restarts: reload from saved file (stable across restarts)
- User-set secret always wins (checked before file lookup)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
start.sh
CHANGED
|
@@ -58,6 +58,26 @@ export BACKUP_DATASET_NAME="${BACKUP_DATASET_NAME:-paperclip-backup}"
|
|
| 58 |
export PAPERCLIP_TELEMETRY_DISABLED="${PAPERCLIP_TELEMETRY_DISABLED:-1}"
|
| 59 |
export DO_NOT_TRACK="${DO_NOT_TRACK:-1}"
|
| 60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
echo -e "${GREEN}✓ Environment validated${NC}\n"
|
| 62 |
|
| 63 |
# ============================================================================
|
|
|
|
| 58 |
export PAPERCLIP_TELEMETRY_DISABLED="${PAPERCLIP_TELEMETRY_DISABLED:-1}"
|
| 59 |
export DO_NOT_TRACK="${DO_NOT_TRACK:-1}"
|
| 60 |
|
| 61 |
+
# Auto-generate BETTER_AUTH_SECRET if not provided
|
| 62 |
+
# User-set secret (HF Space secret) always takes precedence
|
| 63 |
+
AUTH_SECRET_FILE="${PAPERCLIP_HOME}/.auth-secret"
|
| 64 |
+
mkdir -p "${PAPERCLIP_HOME}"
|
| 65 |
+
if [ -z "${BETTER_AUTH_SECRET}" ]; then
|
| 66 |
+
if [ -f "${AUTH_SECRET_FILE}" ]; then
|
| 67 |
+
# Reuse previously generated secret (persists across restarts)
|
| 68 |
+
export BETTER_AUTH_SECRET=$(cat "${AUTH_SECRET_FILE}")
|
| 69 |
+
echo -e "${YELLOW}Using persisted auth secret from ${AUTH_SECRET_FILE}${NC}"
|
| 70 |
+
else
|
| 71 |
+
# First boot — generate and save
|
| 72 |
+
export BETTER_AUTH_SECRET=$(openssl rand -base64 32)
|
| 73 |
+
echo "${BETTER_AUTH_SECRET}" > "${AUTH_SECRET_FILE}"
|
| 74 |
+
chmod 600 "${AUTH_SECRET_FILE}"
|
| 75 |
+
echo -e "${YELLOW}Generated new auth secret (saved to ${AUTH_SECRET_FILE})${NC}"
|
| 76 |
+
fi
|
| 77 |
+
else
|
| 78 |
+
echo -e "${GREEN}Using BETTER_AUTH_SECRET from environment${NC}"
|
| 79 |
+
fi
|
| 80 |
+
|
| 81 |
echo -e "${GREEN}✓ Environment validated${NC}\n"
|
| 82 |
|
| 83 |
# ============================================================================
|