Files
goaresv3/belgeler/ortam-degiskenleri.md
Beyhan Oğur b6e74bd024 first commit
2026-04-26 21:41:46 +03:00

4.5 KiB
Raw Permalink Blame History

Ortam Değişkenleri

Proje kök dizinindeki .env dosyasından veya sistem ortam değişkenlerinden okunur.
.env yoksa sistem değişkenleri kullanılır (ör. Docker, CI ortamları).


Veritabanı

Değişken Varsayılan ıklama
DB_HOST localhost MySQL sunucu adresi
DB_PORT 3306 MySQL port
DB_USER root Veritabanı kullanıcı adı
DB_PASSWORD (boş) Veritabanı şifresi
DB_NAME goaresv3 Veritabanı adı

JWT

Değişken ıklama
JWT_SECRET Access token imzalama anahtarı (min 32 karakter önerilir)
JWT_REFRESH_SECRET Refresh token imzalama anahtarı (min 32 karakter önerilir)

Uyarı: Her iki secret production ortamda farklı, uzun ve rastgele olmalıdır.
Örnek üretim komutu:

openssl rand -hex 32

Uygulama

Değişken Varsayılan ıklama
PORT 8080 HTTP sunucu portu
APP_BASE_URL http://localhost:8080 Email doğrulama linki oluşturmak için temel adres

Google OAuth

Değişken Varsayılan ıklama
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY - Google OAuth istemci ID
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET - Google OAuth istemci secret
SOCIAL_AUTH_GOOGLE_REDIRECT_URL - Google callback URL (ör: http://localhost:8080/api/v1/auth/google/callback)
SOCIAL_AUTH_GOOGLE_SCOPES openid,email,profile İsteğe bağlı scope listesi (virgülle ayrılmış)

GitHub OAuth

Değişken Varsayılan ıklama
SOCIAL_AUTH_GITHUB_KEY - GitHub OAuth istemci ID
SOCIAL_AUTH_GITHUB_SECRET - GitHub OAuth istemci secret
SOCIAL_AUTH_GITHUB_REDIRECT_URL - GitHub callback URL (ör: http://localhost:8080/api/v1/auth/github/callback)
SOCIAL_AUTH_GITHUB_SCOPES read:user,user:email İsteğe bağlı scope listesi (virgülle ayrılmış)

CORS Bootstrap

Bu değerler sadece ilk açılış seed için kullanılır.
DB'de kayıt varsa üzerine yazılmaz.

Değişken Varsayılan ıklama
CORS_BOOTSTRAP_WHITELIST_ORIGINS (boş) Virgülle ayrılmış origin listesi (ör: http://localhost:3000,https://admin.ornek.com)
CORS_BOOTSTRAP_BLACKLIST_ORIGINS (boş) Virgülle ayrılmış engelli origin listesi

Rate Limit Bootstrap

Bu değerler sadece ilk açılış seed için kullanılır.
rate_limit_settings tablosunda aynı name varsa değiştirilmez.

Değişken Varsayılan ıklama
RL_BOOTSTRAP_LOGIN_MAX_REQUESTS 10 api/v1/auth/login için maksimum istek
RL_BOOTSTRAP_LOGIN_WINDOW_SECONDS 60 Login penceresi (sn)
RL_BOOTSTRAP_REGISTER_MAX_REQUESTS 5 api/v1/auth/register için maksimum istek
RL_BOOTSTRAP_REGISTER_WINDOW_SECONDS 60 Register penceresi (sn)
RL_BOOTSTRAP_API_MAX_REQUESTS 120 Diğer endpointler için fallback api limiti
RL_BOOTSTRAP_API_WINDOW_SECONDS 60 Genel fallback pencere (sn)

Email

Değişken Varsayılan ıklama
EMAIL_HOST - SMTP sunucu adresi
EMAIL_PORT - SMTP port
EMAIL_HOST_USER (boş olabilir) SMTP kullanıcı adı
EMAIL_HOST_PASSWORD (boş olabilir) SMTP şifresi
EMAIL_USE_TLS false STARTTLS kullanılsın mı
EMAIL_USE_SSL false SMTPS (SSL/TLS) doğrudan bağlantı kullanılsın mı
EMAIL_FROM - Gönderici email adresi

Örnek .env

DB_HOST=localhost
DB_PORT=3307
DB_USER=root
DB_PASSWORD=sifrem
DB_NAME=goaresv3

JWT_SECRET=uretilen-guclu-secret-1
JWT_REFRESH_SECRET=uretilen-guclu-secret-2

PORT=8080
APP_BASE_URL=http://localhost:8080

EMAIL_HOST=10.80.80.70
EMAIL_PORT=1025
EMAIL_HOST_USER=
EMAIL_HOST_PASSWORD=
EMAIL_USE_TLS=false
EMAIL_USE_SSL=false
EMAIL_FROM=noreply@gauth.local

CORS_BOOTSTRAP_WHITELIST_ORIGINS=http://localhost:3000,http://localhost:5173
CORS_BOOTSTRAP_BLACKLIST_ORIGINS=

RL_BOOTSTRAP_LOGIN_MAX_REQUESTS=10
RL_BOOTSTRAP_LOGIN_WINDOW_SECONDS=60
RL_BOOTSTRAP_REGISTER_MAX_REQUESTS=5
RL_BOOTSTRAP_REGISTER_WINDOW_SECONDS=60
RL_BOOTSTRAP_API_MAX_REQUESTS=120
RL_BOOTSTRAP_API_WINDOW_SECONDS=60

Güvenlik

  • .env dosyasını asla Git'e commit etmeyin.
  • .gitignore dosyanıza ekleyin:
    .env
    
  • Staging/production ortamlarda değişkenleri CI/CD secret yöneticisi (GitHub Secrets, Vault) ile iletin.