Files
boilerplate-be/deploy.md
Fahri Can Seçer 07d19b1950
Some checks failed
Backend Deploy 🚀 / build-and-deploy (push) Failing after 46s
Create deploy.md
2026-01-27 00:52:52 +03:00

2.6 KiB
Raw Blame History

🏗️ 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.

  1. 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

  1. 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