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.
Veritabanı (DATABASE)
Section titled “Veritabanı (DATABASE)”| Değişken | Tür | Açıklama |
|---|---|---|
DATABASE_URL | Secret | Neon 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. |
Stripe
Section titled “Stripe”| Değişken | Tür | Açıklama |
|---|---|---|
STRIPE_SECRET_KEY | Secret | Stripe API gizli anahtarı. Test: sk_test_..., Canlı: sk_live_.... Ödemeler, abonelik ve Connect işlemleri için gerekli. |
STRIPE_WEBHOOK_SECRET | Secret | Stripe 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_KEY | Public | Stripe 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_MONTHLY | Public | Aylık abonelik fiyat ID’si (price_...). |
STRIPE_PRICE_ID_YEARLY | Public | Yıllık abonelik fiyat ID’si (price_...). |
Bunny (Video & Storage)
Section titled “Bunny (Video & Storage)”| Değişken | Tür | Açıklama |
|---|---|---|
BUNNY_LIBRARY_ID | Public | Bunny Video kütüphane ID’si. Video stream ve yönetim için. |
BUNNY_API_KEY | Secret | Bunny API anahtarı. Video/storage API istekleri için. |
BUNNY_STORAGE_ZONE | Public | Bunny Storage zone adı. Dosya yükleme (ders kaynakları, sohbet resimleri vb.) için. |
BUNNY_STORAGE_KEY | Secret | Bunny Storage zone API anahtarı. |
BUNNY_VIDEO_SECURITY_KEY | Secret | Bunny stream güvenlik anahtarı (signed URL üretimi için). |
Better Auth & E-posta
Section titled “Better Auth & E-posta”| Değişken | Tür | Açıklama |
|---|---|---|
BETTER_AUTH_SECRET | Secret | Better Auth oturum/şifreleme için kullanılan rastgele gizli anahtar. |
BETTER_AUTH_URL | Public | Uygulama kök URL’i (örn. http://localhost:8787, https://lms.techsider.co). OAuth callback ve oturum için. |
RESEND_API_KEY | Secret | Resend e-posta API anahtarı (re_...). E-posta doğrulama ve şifre sıfırlama için (isteğe bağlı). |
EMAIL_FROM | Public | Gönderen e-posta adresi (örn. Coursio <support@techsider.co>). |
Genel (Base URL vb.)
Section titled “Genel (Base URL vb.)”| Değişken | Tür | Açıklama |
|---|---|---|
BASE_URL | Public | Uygulama 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. |
Yerel Geliştirme: .dev.vars
Section titled “Yerel Geliştirme: .dev.vars”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.
Production: Wrangler ve Cloudflare
Section titled “Production: Wrangler ve Cloudflare”- Vars (Public):
BASE_URL,BETTER_AUTH_URL,STRIPE_PUBLIC_KEY,STRIPE_PRICE_ID_*,BUNNY_LIBRARY_ID,BUNNY_STORAGE_ZONE,EMAIL_FROMvb.wrangler.tomliçinde[vars]veya Cloudflare Dashboard’dan. - Secrets (Gizli):
wrangler secret put DATABASE_URL,wrangler secret put STRIPE_SECRET_KEY,wrangler secret put STRIPE_WEBHOOK_SECRETvb. ile CLI’dan eklenir. Production’da gizli bilgileri aslawrangler.tomliçine commit etmeyin.