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 |
Açı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 |
Açı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:
Uygulama
| Değişken |
Varsayılan |
Açı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 |
Açı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 |
Açı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 |
Açı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 |
Açı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 |
Açı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
Güvenlik
.env dosyasını asla Git'e commit etmeyin.
.gitignore dosyanıza ekleyin:
- Staging/production ortamlarda değişkenleri CI/CD secret yöneticisi (GitHub Secrets, Vault) ile iletin.