first commit
This commit is contained in:
60
DOCKER.md
Normal file
60
DOCKER.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# Docker Deployment Guide
|
||||
|
||||
Bu proje Node.js v24.12.0 ve Yarn 1.22.22 ile Dockerize edilmiştir.
|
||||
|
||||
## Gereksinimler
|
||||
|
||||
- Docker
|
||||
- Docker Compose
|
||||
|
||||
## Hızlı Başlangıç
|
||||
|
||||
1. `.env` dosyası oluşturun:
|
||||
|
||||
```bash
|
||||
DATABASE_URL=postgresql://user:password@host:5432/dbname
|
||||
BETTER_AUTH_SECRET=your-secret-key-here-min-32-characters-long
|
||||
BETTER_AUTH_URL=http://localhost:3000
|
||||
REGISTER_ENABLE=true
|
||||
```
|
||||
|
||||
**Not:** `DATABASE_URL` mevcut PostgreSQL sunucunuzun bağlantı bilgilerini içermelidir. Eğer PostgreSQL Docker dışında çalışıyorsa, host IP adresini veya `host.docker.internal` (Mac/Windows) kullanabilirsiniz.
|
||||
|
||||
2. Docker Compose ile başlatın:
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
3. Veritabanı migration'larını çalıştırın (ilk kurulumda):
|
||||
|
||||
```bash
|
||||
docker-compose exec image-api yarn db:push
|
||||
```
|
||||
|
||||
4. Uygulama `http://localhost:3000` adresinde çalışacaktır.
|
||||
|
||||
## Manuel Docker Build
|
||||
|
||||
Sadece uygulamayı build etmek için:
|
||||
|
||||
```bash
|
||||
docker build -t image-api .
|
||||
docker run -p 3000:3000 --env-file .env image-api
|
||||
```
|
||||
|
||||
## Production Notları
|
||||
|
||||
- `.env` dosyasında `BETTER_AUTH_SECRET` mutlaka güçlü bir secret olmalıdır (en az 32 karakter)
|
||||
- Production'da `BETTER_AUTH_URL` gerçek domain'inizi içermelidir
|
||||
- PostgreSQL veritabanı dış bir sunucuda çalışmaktadır (docker-compose'da dahil değildir)
|
||||
- `DATABASE_URL` mevcut PostgreSQL sunucunuzun erişilebilir adresini içermelidir (örn: `postgresql://user:pass@10.80.80.70:5432/dbname`)
|
||||
- Upload klasörü volume olarak mount edilmiştir, böylece veriler kalıcı olur
|
||||
- Container, host'un network'ündeki PostgreSQL sunucusuna erişebilir
|
||||
|
||||
## Güvenlik
|
||||
|
||||
- Tüm güvenlik header'ları yapılandırılmıştır
|
||||
- File upload validasyonları eklenmiştir
|
||||
- Debug bilgileri production'dan kaldırılmıştır
|
||||
- Input validasyonları eklenmiştir
|
||||
Reference in New Issue
Block a user