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

4.5 KiB
Raw 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.