Zum Hauptinhalt springen

Secrets

Im secrets/-Ordner liegen sensible Werte, die nicht in .env landen sollen.

Pflicht-Secrets lokal

Lege mindestens diese Dateien an:

  • secrets/db_password
  • secrets/jwt_secret

Optionale Secrets

Je nach genutzten Features:

  • secrets/market_price_sync_secret
  • secrets/steam_api_key
  • secrets/csmarket_api_key
  • secrets/steam_bots_json
  • secrets/steam_bot_refresh_token
  • secrets/steam_bot_shared_secret
  • secrets/steam_bot_identity_secret
  • secrets/steam_bot_web_api_key
  • secrets/stripe_secret_key
  • secrets/stripe_webhook_secret
  • secrets/smtp_user
  • secrets/smtp_password

Laufzeitverhalten

Das Backend liest diese Dateien beim Container-Start aus /run/secrets, baut daraus die DATABASE_URL aus DB_HOST, DB_PORT, DB_NAME, DB_USER und db_password und startet danach automatisch mit prisma migrate deploy.

Beispiele

Beispielwerte dürfen dokumentiert werden:

openssl rand -hex 32 > secrets/jwt_secret
printf '%s' 'ein-starkes-db-passwort' > secrets/db_password

Echte Secrets dürfen nicht in Antworten, Logs, Commits oder Dokumentation erscheinen. Wenn Secret-Dateien geprüft werden müssen, nur Existenz, Dateinamen oder nicht-sensitive Metadaten nennen.

Feature-Abhängigkeiten

  • Double-Opt-In benötigt SMTP_HOST, SMTP_PORT, SMTP_FROM_EMAIL, secrets/smtp_user und secrets/smtp_password.
  • Neue Registrierungen benötigen secrets/steam_api_key, weil darüber das Mindestalter des Steam-Accounts geprüft wird.
  • Marktpreis-Refresh benötigt secrets/market_price_sync_secret und in der Regel secrets/csmarket_api_key.
  • Stripe Wallet Deposits benötigen secrets/stripe_secret_key und secrets/stripe_webhook_secret.
  • Steam-Bots benötigen Bot-Konfiguration mit Refresh-Token und Mobile-Authenticator-Secrets.