Create deploy.md
Some checks failed
Backend Deploy 🚀 / build-and-deploy (push) Failing after 46s

This commit is contained in:
2026-01-27 00:52:52 +03:00
parent d52abd9b86
commit 07d19b1950

76
deploy.md Normal file
View 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