# ===================================================== # maarcadetweet — environment # ===================================================== # Copy to .env and adjust. Beide Binaries laden `.env` beim Start # selbst (dotenvy); echte Umgebungsvariablen haben Vorrang. # --- General --- RUST_LOG=info,maarcadetweet=debug,sqlx=warn # --- PDS server --- PDS_HOST=127.0.0.1 PDS_PORT=2583 PDS_PUBLIC_URL=http://127.0.0.1:2583 PDS_HANDLE_DNS_ZONE=.maarcadetweet.local # MUSS Hex sein, >= 32 Bytes ergeben und ein gültiger P-256-Skalar # sein (also nicht lauter Nullen) — `jwt_issuer.rs` macht hex::decode() # und p256::SecretKey::from_bytes(). Ein ungültiger Wert lässt den # Server zwar starten, aber alles, was den Serverschlüssel ableitet, # antwortet mit 500: createAccount/createSession/refreshSession UND # jeder Record-Write (repo.rs, feed.rs, blob.rs, profile.rs). # Der Wert hier ist ein Zufallswert fürs Beispiel — für echte # Instanzen einen eigenen erzeugen: # openssl rand -hex 32 PDS_JWT_SECRET=522084586f3d3abb835d43b7c4726735d78803dd58490f62a92571cd29033a95 # Wohin die PDS ihre Commits pusht (POST /internal/ingest-commit). # Default: APPVIEW_PUBLIC_URL. # APPVIEW_INTERNAL_URL=http://127.0.0.1:2584 # --- AppView service --- APPVIEW_HOST=127.0.0.1 APPVIEW_PORT=2584 APPVIEW_PUBLIC_URL=http://127.0.0.1:2584 JETSTREAM_URL=wss://jetstream1.us-east.bsky.network/subscribe # Collections, die die AppView indexiert. `app.twi.post` ist das # eigene 160-Zeichen-Lexicon und muss mit rein, sonst tauchen eigene # Posts nur über den PDS-Push auf; `app.bsky.actor.profile` füttert # den Profil-Cache. JETSTREAM_COLLECTIONS=app.twi.post,app.bsky.feed.post,app.bsky.feed.like,app.bsky.feed.repost,app.bsky.graph.follow,app.bsky.actor.profile # Für den Handle-Sync-Worker: welche PDS nach lokalen Handles gefragt # wird. Default: PDS_PUBLIC_URL. # PDS_INTERNAL_URL=http://127.0.0.1:2583 # Intervall des Handle-Sync-Workers in Sekunden (Default: 300). # APPVIEW_HANDLE_SYNC_INTERVAL_SECS=60 # --- Databases --- DATABASE_URL_PDS=postgres://pds:pds@127.0.0.1:5434/pds DATABASE_URL_APPVIEW=postgres://appview:appview@127.0.0.1:5435/appview # --- Blob store (S3 / MinIO) --- S3_ENDPOINT=http://127.0.0.1:9100 S3_REGION=us-east-1 S3_ACCESS_KEY=minioadmin S3_SECRET_KEY=minioadmin S3_BUCKET_PDS=maarcadetweet-pds # Pflichtvariable in AppConfig::from_env(), wird derzeit von keinem # Code-Pfad gelesen — muss gesetzt sein, damit der Start nicht # fehlschlägt. S3_BUCKET_APPVIEW=maarcadetweet-appview # --- PLC Directory (dev: leave default; can mock) --- PLC_DIRECTORY_URL=https://plc.directory # PLC_DIRECTORY_URL=http://127.0.0.1:2582 # --- AppView ingest auth (optional, dev ok if unset) --- # APPVIEW_INGEST_SECRET=change-me-to-a-shared-secret-between-pds-and-appview # --- Tauri-Client (Build-/Laufzeit-Overrides des Desktop-Clients) --- # MAARCADETWEET_PDS_URL=http://127.0.0.1:2583 # MAARCADETWEET_APPVIEW_URL=http://127.0.0.1:2584