Skip to content

Ortam Değişkenleri

Tüm Secret ve Public anahtarlar — STRIPE, DATABASE, BUNNY ve diğerleri, açıklamalı liste.

Bu sayfada Coursio projesinde kullanılan tüm ortam değişkenleri, Secret (gizli) ve Public (açık) olarak açıklamalı listelenir. Yerel geliştirme için .dev.vars, production için Cloudflare secrets veya wrangler.toml içindeki [vars] kullanılır.

Production URL: Canlı LMS uygulaması https://lms.techsider.co adresinde çalışır. BASE_URL ve BETTER_AUTH_URL production için bu adres kullanılmalıdır. Dokümanlarda veya kod örneklerinde bazen coursio.co geçebilir (örnek/alternatif domain); ortam değişkenlerinde production için lms.techsider.co kullanın.

DeğişkenTürAçıklama
DATABASE_URLSecretNeon PostgreSQL bağlantı dizesi. Örnek: postgresql://user:pass@host/neondb?sslmode=require. Yerelde .dev.vars; production’da wrangler secret put DATABASE_URL. Hyperdrive kullanıldığında production’da Hyperdrive üzerinden bağlantı sağlanır; yerelde wrangler.toml içindeki localConnectionString veya DATABASE_URL kullanılır.

DeğişkenTürAçıklama
STRIPE_SECRET_KEYSecretStripe API gizli anahtarı. Test: sk_test_..., Canlı: sk_live_.... Ödemeler, abonelik ve Connect işlemleri için gerekli.
STRIPE_WEBHOOK_SECRETSecretStripe webhook imza doğrulama anahtarı (whsec_...). Yerelde stripe listen --forward-to localhost:8787/api/stripe/webhook çalıştırıldığında CLI’dan alınır.
STRIPE_PUBLIC_KEYPublicStripe publishable anahtarı (pk_test_... / pk_live_...). İstemci tarafında Stripe.js ile kullanılır. wrangler.toml içinde vars olarak tanımlanabilir.
STRIPE_PRICE_ID_MONTHLYPublicAylık abonelik fiyat ID’si (price_...).
STRIPE_PRICE_ID_YEARLYPublicYıllık abonelik fiyat ID’si (price_...).

DeğişkenTürAçıklama
BUNNY_LIBRARY_IDPublicBunny Video kütüphane ID’si. Video stream ve yönetim için.
BUNNY_API_KEYSecretBunny API anahtarı. Video/storage API istekleri için.
BUNNY_STORAGE_ZONEPublicBunny Storage zone adı. Dosya yükleme (ders kaynakları, sohbet resimleri vb.) için.
BUNNY_STORAGE_KEYSecretBunny Storage zone API anahtarı.
BUNNY_VIDEO_SECURITY_KEYSecretBunny stream güvenlik anahtarı (signed URL üretimi için).

DeğişkenTürAçıklama
BETTER_AUTH_SECRETSecretBetter Auth oturum/şifreleme için kullanılan rastgele gizli anahtar.
BETTER_AUTH_URLPublicUygulama kök URL’i (örn. http://localhost:8787, https://lms.techsider.co). OAuth callback ve oturum için.
RESEND_API_KEYSecretResend e-posta API anahtarı (re_...). E-posta doğrulama ve şifre sıfırlama için (isteğe bağlı).
EMAIL_FROMPublicGönderen e-posta adresi (örn. Coursio <support@techsider.co>).

DeğişkenTürAçıklama
BASE_URLPublicUygulama kök URL’i. E-posta linkleri, OAuth callback ve mutlak URL üretimi için. Yerelde http://localhost:8787 veya http://localhost:5173; production’da https://lms.techsider.co.

Bu dosya git’e eklenmez (.gitignore). Proje kökünde oluşturun. Yukarıdaki Secret değişkenleri burada tanımlayın; Public değişkenler wrangler.toml içinde de tutulabilir.

# Veritabanı
DATABASE_URL=postgresql://user:pass@host/neondb?sslmode=require
# Stripe (yerel webhook test için)
STRIPE_SECRET_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...
# Better Auth / E-posta (isteğe bağlı)
RESEND_API_KEY=re_...
BETTER_AUTH_SECRET=rastgele-gizli-anahtar
# Bunny (gerekirse)
BUNNY_API_KEY=...
BUNNY_STORAGE_KEY=...
BUNNY_VIDEO_SECURITY_KEY=...

Not: wrangler dev çalışırken Hyperdrive için wrangler.toml içindeki localConnectionString kullanılır; DATABASE_URL ise .dev.vars veya ortamdan okunur.

  • Vars (Public): BASE_URL, BETTER_AUTH_URL, STRIPE_PUBLIC_KEY, STRIPE_PRICE_ID_*, BUNNY_LIBRARY_ID, BUNNY_STORAGE_ZONE, EMAIL_FROM vb. wrangler.toml içinde [vars] veya Cloudflare Dashboard’dan.
  • Secrets (Gizli): wrangler secret put DATABASE_URL, wrangler secret put STRIPE_SECRET_KEY, wrangler secret put STRIPE_WEBHOOK_SECRET vb. ile CLI’dan eklenir. Production’da gizli bilgileri asla wrangler.toml içine commit etmeyin.