Files
image-apiv2/DOCKER.md
Beyhan Oğur 71eff2d979 first commit
2026-04-26 22:09:32 +03:00

61 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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