This commit is contained in:
76
deploy.md
Normal file
76
deploy.md
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
🏗️ Backend Altyapı Kurulum Rehberi (Database & Redis)
|
||||||
|
Bu doküman, Raspberry Pi üzerinde yeni bir Backend projesi için gerekli olan kalıcı veritabanı ve Redis servislerinin nasıl kurulacağını anlatır.
|
||||||
|
|
||||||
|
⚠️ Mantık: Bu servisler deploy sürecine dahil EDİLMEZ. Sunucuda bir kere kurulur, verileri kalıcı olarak saklar ve Backend projesi buraya bağlanır.
|
||||||
|
|
||||||
|
1. Hazırlık: Docker Ağı Kontrolü
|
||||||
|
Tüm servislerin (Gitea, App, DB, Redis) birbirini görebilmesi için ortak bir ağda olmaları gerekir.
|
||||||
|
|
||||||
|
Bash
|
||||||
|
# Ağ var mı kontrol et (Listede 'gitea' yazmalı)
|
||||||
|
docker network ls
|
||||||
|
|
||||||
|
# Yoksa oluştur:
|
||||||
|
docker network create gitea
|
||||||
|
2. PostgreSQL Veritabanı Kurulumu (Kalıcı)
|
||||||
|
Her yeni proje için port çakışması yaşamamak adına konteyner ismini ve volume ismini projeye özel değiştir.
|
||||||
|
|
||||||
|
Değiştirilecek Yerler: proje-db-ismi, DB_KULLANICI, DB_SIFRE, DB_ADI
|
||||||
|
|
||||||
|
Bash
|
||||||
|
docker run -d \
|
||||||
|
--name proje-adi-postgres \
|
||||||
|
--restart always \
|
||||||
|
--network gitea \
|
||||||
|
-e POSTGRES_USER=db_kullanici \
|
||||||
|
-e POSTGRES_PASSWORD=cok_guclu_sifre \
|
||||||
|
-e POSTGRES_DB=proje_db_adi \
|
||||||
|
-v proje_adi_db_data:/var/lib/postgresql/data \
|
||||||
|
postgres:16-alpine
|
||||||
|
Not: -p (Port) parametresi eklemedik. Çünkü dış dünyaya kapalı olsun, sadece bizim uygulamamız (aynı ağdaki) erişebilsin istiyoruz. Güvenlik için en iyisi budur.
|
||||||
|
|
||||||
|
3. Redis Kurulumu (Kalıcı)
|
||||||
|
Redis için de projeye özel bir isim veriyoruz.
|
||||||
|
|
||||||
|
Bash
|
||||||
|
docker run -d \
|
||||||
|
--name proje-adi-redis \
|
||||||
|
--restart always \
|
||||||
|
--network gitea \
|
||||||
|
-v proje_adi_redis_data:/data \
|
||||||
|
redis:7-alpine
|
||||||
|
4. Gitea Secrets Ayarları (Bağlantı)
|
||||||
|
|
||||||
|
Veritabanlarını kurduktan sonra Gitea'da Ayarlar -> Actions -> Secrets kısmına gidip aşağıdaki bilgileri ekle.
|
||||||
|
|
||||||
|
🔑 Secret 1: DATABASE_URL
|
||||||
|
Uygulamanın veritabanını bulması için gerekli bağlantı cümlesi.
|
||||||
|
|
||||||
|
Format: postgresql://KULLANICI:SIFRE@KONTEYNER_ADI:5432/DB_ADI?schema=public
|
||||||
|
|
||||||
|
Örnek (Yukarıdaki kuruluma göre): postgresql://db_kullanici:cok_guclu_sifre@proje-adi-postgres:5432/proje_db_adi?schema=public
|
||||||
|
|
||||||
|
Dikkat: localhost veya IP yerine direkt kurduğun konteyner ismini (proje-adi-postgres) yazıyoruz. Docker isimden tanır.
|
||||||
|
|
||||||
|
🔑 Secret 2: REDIS_HOST
|
||||||
|
Uygulamanın Redis'i bulması için.
|
||||||
|
|
||||||
|
Değer: proje-adi-redis
|
||||||
|
|
||||||
|
5. Sorun Giderme (Debug)
|
||||||
|
Eğer bağlantı hatası alırsan şu komutlarla kontrol et:
|
||||||
|
|
||||||
|
Veritabanı ayakta mı?
|
||||||
|
|
||||||
|
Bash
|
||||||
|
docker ps | grep postgres
|
||||||
|
Veritabanı loglarını incele:
|
||||||
|
|
||||||
|
Bash
|
||||||
|
docker logs --tail 50 proje-adi-postgres
|
||||||
|
Veritabanını sıfırlamak (Silip baştan kurmak) istersen:
|
||||||
|
|
||||||
|
Bash
|
||||||
|
# DİKKAT: TÜM VERİ SİLİNİR!
|
||||||
|
docker rm -f proje-adi-postgres
|
||||||
|
docker volume rm proje_adi_db_data
|
||||||
Reference in New Issue
Block a user