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