Add one-click install script with automatic secret generation

- Create scripts/install.sh that auto-generates Ed25519 signing key,
  JWT secret, Postgres and MinIO passwords from .env.example placeholders
- Add startup validation in server to reject placeholder secrets
- Add 401 interceptor in console API client to clear stale JWT tokens
- Update README Quick Start to use ./scripts/install.sh
- Update .env.example with GENERATE_ME placeholders for all secrets

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 4.6 committed 2026-03-02 14:56:45 -05:00
1 parent b29314fd80
commit 5153587baf
5 files changed
+170 -17

No files matched your search

+6 -6
View File
@@ -1,18 +1,18 @@
# PostgreSQL
POSTGRES_USER=elydora
POSTGRES_PASSWORD=elydora-secret-change-me
POSTGRES_PASSWORD=GENERATE_ME
POSTGRES_DB=elydora
DATABASE_URL=postgresql://elydora:elydora-secret-change-me@postgres:5432/elydora
DATABASE_URL=postgresql://elydora:GENERATE_ME@postgres:5432/elydora
# Redis
REDIS_URL=redis://redis:6379
# MinIO
MINIO_ROOT_USER=elydora
MINIO_ROOT_PASSWORD=elydora-minio-secret-change-me
MINIO_ROOT_PASSWORD=GENERATE_ME
MINIO_ENDPOINT=http://minio:9000
MINIO_ACCESS_KEY=elydora
MINIO_SECRET_KEY=elydora-minio-secret-change-me
MINIO_SECRET_KEY=GENERATE_ME
MINIO_BUCKET=elydora-evidence
# Elydora API
@@ -20,8 +20,8 @@ PORT=8787
ENVIRONMENT=production
API_VERSION=v1
PROTOCOL_VERSION=1.0
JWT_SECRET=change-me-to-a-random-string-at-least-32-chars
ELYDORA_SIGNING_KEY=change-me-base64url-ed25519-private-key
JWT_SECRET=GENERATE_ME
ELYDORA_SIGNING_KEY=GENERATE_ME
ALLOWED_ORIGINS=http://localhost:3000
# TSA (optional)