Yazar: alionurozdemir

  • 3×6 Tiny House: 18 Metrekarede İç Mimari ve Tesisat Çözümlerim

    3×6 Tiny House: 18 Metrekarede İç Mimari ve Tesisat Çözümlerim

    Arazide 3×6 metrelik (18 m²) küçük bir ev kurmayı planlarken temel amacım; şantiye kahrı çekmeden hızlıca kurmak ve malzeme firesini matematiğe dayanarak sıfıra indirmekti. Kendi tasarım ve araştırma sürecimde çıkardığım pratik mimari ve tesisat notlarını buraya bırakıyorum.

    İskelet Matematiği: 6 Metrelik Profilde Sıfır Fire

    Türkiye’de çelik profiller fabrikadan standart 6 metre olarak çıkıyor. Yapıyı 3×6 metre olarak planladığımda, demirciden aldığım 6 metrelik profilleri tam ortadan kestirerek sıfır kayıpla ana karkası oluşturabileceğimi hesapladım.

    • Sıfır Fire: 6 metrelik demirler 3’er metreye bölündüğünde tek bir santim bile hurdaya gitmiyor.
    • Kolay Nakliye & Montaj: 3 metrelik parçaları arazide taşımak ve kaynaklamak çok daha pratik.
    • Doğrudan Bütçe Koruması: Malzeme kaybı yaşanmadığı için demir bütçesi %100 verimle kullanılabiliyor.

    Topraktan Yükseltilmiş Zemin (Sıfır Beton, Sıfır Hafriyat)

    Araziye beton mikseri sokmak, kepçe çağırıp hafriyat yapmak hem büyük bir bütçe kalemi hem de ciddi bir zaman kaybı. Yapıyı çelik/taş ayaklar üzerine oturtup zeminden 40-50 cm yükseltme fikri bu sorunu kökten çözüyor.

    • Sıfır Beton Masrafı: Mikser, kalıpçı ve hafriyat maliyeti tamamen ortadan kalkıyor.
    • Nem ve Rutubet Koruması: Yapı toprakla temas etmediği için alt taraftan sürekli hava alıyor, çürüme yapmıyor.
    • Su Baskını Emniyeti: Yoğun yağışlarda arazide biriken sudan yapı hiçbir şekilde etkilenmiyor.

    Sırt Sırta Islak Hacim Tesisatı

    Küçük evlerde yapılan en büyük hata; banyo ve mutfak su hatlarını evin farklı uçlarına koymaktır. Banyo ile mutfağı sırt sırta gelecek şekilde aynı bölme duvarın iki yanına yerleştirmeyi planladım.

    • Tek Noktadan Tesisat: Sıcak su, soğuk su ve pis su giderleri tek bir duvarda toplanıyor.
    • İşçilik ve Boru Tasarrufu: Metrelerce ekstra tesisat borusu çekmeye gerek kalmıyor.
    • Müdahale Kolaylığı: İleride olası bir sızıntı durumunda sadece o ortak duvardan müdahale edilebiliyor.

    3 Metrelik Sandviç Panel ve Kesin Su Yalıtımı

    Dış cephede OSB plakalar kullanmak arazide sürekli kesim yapmayı gerektiriyor (OSB standart 2.44m olduğu için ölçüye uymuyor). Bunun yerine 3 metre uzunluğunda kendinden yalıtımlı sandviç panel seçerek montajı hızlandırmayı hedefledim.

    • Tam Ölçü Uyumu: 3 metrelik paneller, 3 metrelik çelik karkas yüksekliğine sıfır kesimle oturuyor.
    • Hazır Isı Yalıtımı: İçindeki poliüretan köpük sayesinde ekstra taş yünü veya köpükle uğraşılmıyor.
    • Sıfır Su Alma Riski: Ahşap gibi su çekme veya zamanla kabarma riski barındırmıyor.

    Dar Alanda Fonksiyonel Mobilya (Açılır Yatak)

    18 metrekarelik bir alana sabit bir çift kişilik yatak koymak, gündüz kullanılabilen oturma alanını tamamen yok eder. Bu yüzden gündüz geniş bir kanepe, gece ise yatak olan otel tipi mekanizmaları tasarıma dahil ettim.

    • Mekan Verimliliği: Gündüz ferah bir salon, gece ise yatak odasına dönüşüyor.
    • Kilo/Yük Yönetimi: Sabit devasa mobilyalara kıyasla yapıya ekstra ağırlık bindirmiyor.
  • Arabaya Elektrik Çekerken Öğrendiklerim

    Arabaya Elektrik Çekerken Öğrendiklerim

    Volt, Amper ve Watt kavramlarını yıllarca kafamda netleştiremedim. Araç elektriğini araştırırken tüm sistemi bir “su tesisatı” gibi düşünmek her şeyi yerine oturttu. Yanlış kablo seçimi veya hatalı sigorta, ciddi bir yangın riskine yol açabiliyor. Kendim için çıkardığım bu kopya kağıdı, araç elektriği konusunda başka bir şeye bakmama gerek kalmadı.

    Not 1: Volt (Su Basıncı)

    Elektriği tamamen bir su tesisatı gibi düşündüm. Volt, borunun içindeki suyun basıncı (tazyiki). Suyu borunun içinde ileri iten güç bu. Basınç yoksa, su akmıyor. Araçta bu basıncı akü sağlıyor ve standart sistemlerde tesisattaki bu “su basıncı” her yerde sabit: her zaman 12 Volt.

    Not 2: Amper (Akan Su Miktarı)

    Amper, o borunun içinden akan suyun miktarı (debisi). Yani kablonun içinden o an geçen gerçek elektrik miktarı. Karavana tesisat çekerken öğrendiğim en net kural: İtfaiye hortumu gibi çok suya (Amper’e) ihtiyaç duyan cihazlara kalın kablo, damlama sulama gibi az suya ihtiyaç duyan cihazlara ince kablo çekiliyor.

    Not 3: Watt (Yapılan İş)

    Watt, cihazın harcadığı toplam güç, yani suyun yaptığı gerçek “iş”. Akan suyun ucunda bir çark olduğunu varsaydım. Çark ne kadar şiddetli dönüyorsa, o kadar çok Watt harcıyor demekti. 5 Watt’lık bir lamba loş bir ışık verirken, 50 Watt’lık lamba geceyi gündüze çeviriyor.

    Not 4: Sistemin Temel Kuralı

    Suyun ucundaki çarkı çok güçlü döndürmek istiyorsam, basınca (Volt) ve bol suya (Amper) aynı anda ihtiyacım var. Basınç ve akan su miktarı birleşince ortaya toplam “Güç” çıkıyor. Bütün tesisatın dayandığı formülü kafama şöyle kazıdım:

    Toplam Güç (Watt) = Basınç (Volt) × Akan Su (Amper)

    Not 5: Karavanda Pratik Amper Hesabı

    Araçlarda işim aslında çok kolay, çünkü Volt (basınç) hep sabit: 12. Bu yüzden, atölyeye aldığım yeni bir aletin tesisattan ne kadar “su” (Amper) çekeceğini bulmak için cihazın gücünü (Watt), sabit basıncımız olan 12’ye bölmem yetiyor.

    Pratik Kuralım: Amper = Watt ÷ 12
    (Örneğin; karavana aldığım 24 Watt’lık çalışma lambası, kablodan tam olarak 2 Amper elektrik çekiyor. (24 ÷ 12 = 2)

    Not 6: Sigortanın Hayati Önemi

    İnce plastik bir su borusundan taşıyabileceğinden fazla su geçirmeye kalkarsam boru şişip patlar. Elektrikte de ince kablodan fazla Amper geçmeye çalışırsa kablo erir ve alev alır. Sigorta‘nın, borunun arasına bilerek konmuş “çok zayıf bir parça” olduğunu anladığımda sistem kafamda oturdu. Kablo alev almadan önce, o zayıf parça “çıt” diye kırılsın ve elektriği kessin diye orada. Yaptığım her hatta, kablonun taşıyabileceği maksimum sınırın biraz altında bir sigorta seçmek zorundayım.

    Not 7: Telefon Şarjı Neden Dönüştürücü İster?

    Arabanın 12 Volt’luk ana su basıncı çok sert. Akıllı telefonum ise sadece 5 Volt basınca dayanacak kadar nazik. 12 Volt’u direkt telefona verirsem anakartı saniyeler içinde yanar. Çakmaklık şarj cihazı dediğim o ufak aletlerin aslında birer “basınç düşürücü vana” olduğunu anladım. 12 Volt’luk sert tazyiki alıp yavaşlatıyor ve telefona sadece dayanabileceği 5 Volt’luk yumuşak elektriği veriyor.

    Tesisatı Kurarken Yaptığım Pratik Hesaplar

    Kurulum esnasında hata yapmamak için donanımları takarken kağıt üzerinde kendi kendime yaptığım bazı sağlama hesapları:

    • Karavana 120W gücünde bir oto buzdolabı aldığımda bunun kaç Amper çekeceğini hesapladım. (120W ÷ 12V = 10 Amper).
    • Buzdolabının bağlı olduğu hatta gidip 5 Amperlik bir sigorta takarsam, cihaz kalkışta 10 Amper isteyeceği için sigortanın anında atacağını artık biliyordum.
    • Dış aydınlatma için 36 Watt’lık iki tane off-road lambası aldım. (Toplam 72 Watt). İkisini aynı kabloya bağladığımda kablodan 6 Amper (72 ÷ 12) su akacaktı.
    • 6 Amper çeken bu iki lambanın olduğu kablo en fazla 10 Amper taşıyabiliyorsa, oraya 20 Amperlik sigorta takmanın cinayet olduğunu anladım. Kısa devrede sigorta atmaz ve kablo yanarak arabayı ateşe verirdi.
    • Müşteri veya kendi aracım fark etmez; 72 Ah kapasiteli (72 litre depo gibi) bir akü varken, saatte 6 Amper çeken bir amfiyi motor kapalıyken açık unutursam, 12 saat (72 ÷ 6) sonra akünün tamamen biteceğini hesaplayarak önlemimi aldım.

    Kendi sistemimi kurarken bu basit su metaforu hayatımı kurtardı.

  • Dar Karavanı Geniş Göstermek: Tasarım Araştırma Notlarım

    Dar Karavanı Geniş Göstermek: Tasarım Araştırma Notlarım

    Karavan dönüşümü araştırırken karşıma çıkan o klasik ahşap yığını “sauna” tasarımlarından bunaldım. Dar bir minibüsü tekerlekli, klostrofobik bir tünele çevirmemek için mimari alan algısı üzerine kendi kendime notlar çıkardım. Renk, ışık ve mobilya derinliğinin mekânı nasıl esnettiğini öğrenmek oldukça ilginçti.

    1. Basık Tavan Hissini Yok Etmek

    Koyu renkli veya budaklı ahşap lambrilerin tavanı basıklaştırdığını bildiğim için, 4-6 mm esnek huş kontrplak (üzeri pürüzsüz mat beyaz boya) veya mat beyaz Alikobant kullanmaya karar verdim. Oturma alanının üzerine de mutlaka geniş bir tavan camı (heki) açtım.

    Neden?: Açık renk pürüzsüz bir tavan ışığı yansıtır, gözü yukarı çeker ve tavanı havada süzülüyormuş gibi yüksek gösterir. Tamamen yapay ışıkla aydınlatılmış bir kutu zaman duygusunu yok edip psikolojiyi yorarken, tepeden giren doğal ışık mekana nefes aldırıyor.

    2. Zeminde Sonsuzluk İllüzyonu

    Zeminde ucuz mineflo veya klasik parkelerden tamamen uzak durup ticari tip homojen PVC (veya rulo Marmoleum) kullanmayı tercih ettim. Mat dokulu, sıcak grej tonlarını seçtim.

    Neden?: Karavana yatay veya dikey parke döşemek zeminde “kesik kesik” bir görüntü yaratıp gözü yoruyor. Çizgilerin, derzlerin ve ek yerlerinin kaybolduğu yekpare bir zemin, alanın sınırlarını gizliyor ve kesintisiz akarak mekana lüks bir sonsuzluk hissi katıyor.

    3. Stealth Görünüm ve Panoramik Algı

    Aracın yan camlarını ahşap panellerle kapatmayı hiç düşünmedim.

    Neden?: Doğayla aradaki engelleri kaldırmak başlı başına bir lüks. Camları kapatmamak, 1.85 metrelik o dar iç genişliği algısal olarak ufka kadar uzatıyor. Dışarıdan bakıldığında aracın sivil/gizli (stealth) görünmesini sağlarken, içerideki klostrofobiyi tamamen yıkıyor.

    4. Mutfak Dolaplarını Duvara Kamufle Etmek

    Gözü yoran yatay çizgilerden (dar karavanı koridora benzetir) kaçındım. Dolaplarda mat, kulpsuz (bas-aç) ve duvarla birebir aynı renk kapaklar kullandım.

    Neden?: Dolapların duvarın içinde “kamufle” olması, mekanı boğucu bir depolama alanı olmaktan çıkarıyor. Gözün takılmadığı pürüzsüz yüzeyler zihne sakinlik veriyor. Araya giren soğukluğu ise sadece tezgahta kullandığım “masif açık meşe” detayıyla kırmayı tercih ettim.

    5. Kademeli Derinlik ile Ev Hissi Yaratmak

    Karavanın başından sonuna dümdüz ilerleyen bir mobilya hattının içeriyi tünele çevireceğini fark ettim. Bu yüzden oturma grubu koltuklarını (60-65 cm derinlik), mutfak dolaplarından (50 cm derinlik) daha dışarıda tuttum. Tavan dolaplarını sadece mutfak tarafında devam ettirip, diğer tarafa sadece açık bir meşe raf astım.

    Neden?: Dümdüz uzayıp giden paralel mobilyalar araç hissini artırırken, bu ufak girinti ve çıkıntılar (kademeli derinlik) içeride gerçek ve konforlu bir ‘ev’ mimarisi yaratıyor.

    6. L Koltuk Yerine Karşılıklı Bank Seçimi

    Arka oturma grubunda L koltuk yapmaktan vazgeçip, karşılıklı iki büyük bank (Face-to-Face lounge) sistemine geçtim.

    Neden?: L koltuk sadece aracın ağırlık dağılımını bozmakla kalmıyor, manzarayı da tıkıyor. Ortada kesintisiz bir yürüyüş yolu bırakan karşılıklı ferah oturma düzeni, alanı asimetrik bölmeden yaşam alanını panoramik manzarayla kusursuzca bütünleştiriyor.

    7. Işığın Mekanı Esnetme Gücü

    Zemin ve tavanı asla aynı renk yapmadım. Zemin ve dolapları yakın tonlarda tutarken, sadece tepe spotlarına bağlı kalmadım. Dolapların ve alt bazaların diplerine gizli, sıcak beyaz (2700K) LED şeritler çektim.

    Neden?: Işığın sadece karanlığı aydınlatmak için değil, mekanı esnetmek için kullanıldığını öğrendim. Baza diplerine vuran o gizli ışıklar, ağır mobilyaları havada süzülüyormuş gibi hafifletip, zemin alanını algısal olarak iki katına çıkarıyor.

  • DEHB ile Yaşayan Biri Olarak Odamı Nasıl Kurdum

    DEHB ile Yaşayan Biri Olarak Odamı Nasıl Kurdum

    Aynı anda birden fazla projeye dalan, sık sık odağını kaybeden ve masası her zaman kaotik olan biri olarak odamı kendi zihnime göre yeniden kurgulamam gerekti. Beynimin zayıflıklarıyla savaşmak yerine, o zayıflıkları kabul edip mekânı benim için çalışır hale getirdim.

    1. Giriş Terminali (Drop Zone)

    Eve veya karavana girdiğim ilk saniyede elimdeki kritik eşyaları (anahtar, cüzdan, telefon, kulaklık) fırlattığım sabit bir alan oluşturdum. Amacım “Anahtarı nereye koydum?” diye düşünmeye fırsat bulmadan eylemi otomatik hale getirmek. Evden çıkarken her şeyin tek bir noktada beni beklediğini bilmek büyük bir rahatlık.

    2. Dış Hafıza Duvarı (Visual Cortex Extension)

    Odadaki bir duvarı dev bir mantar pano ve beyaz tahtaya çevirdim. “Gözden ırak olan, akıldan da ırak olur” kuralı DEHB’de çok daha sert işliyor. O günün en önemli 3 işini veya anlık fikirleri hemen oraya yazıyorum. Fikirleri sürekli zihinde tutmaya çalışmak işlemciyi (beyni) yoruyor; onları duvara yazarak zihnimi özgürleştiriyorum.

    3. Görülebilir Depolama (Visual Storage)

    Odamda kapalı dolaplar yerine genellikle şeffaf kutular ve açık raflar kullanmaya başladım. Kutuların üzerine dev puntolarla içindekini yazıyorum. Kapalı bir dolabın içindeki karmaşa bende “başlatma felci” (task paralysis) yaratıyordu. Eşyaları doğrudan görebilmek, onları kullanmayı ve üşenmeden yerlerine koymayı inanılmaz kolaylaştırdı.

    4. İstasyonlaştırma (Zonal Segmentation)

    Odayı fonksiyonel bölgelere ayırdım. Masamın bir köşesi sadece “Yazılım/İş”, diğer bir köşesi sadece “Hobi/3D Yazıcı” ve yatak sadece “Uyku” için. Beynimin o bölgeye girdiğinde ne yapması gerektiğini otomatik olarak anlamasını sağlayarak, karar yorgunluğumu (decision fatigue) minimuma indirdim.

    5. Dağınıklık Sepeti (Doom Basket)

    Odanın köşesine şık ama devasa bir sepet koydum. O an yerini bulamadığım, ayıklamaya üşendiğim veya masada yığılmaya başlayan her şeyi hiç düşünmeden içine atıyorum. “Ya mükemmel yaparım ya hiç yapmam” tuzağını bu sepetle kırdım. Odanın genelinin kaosa dönmesini engelliyor, ayıklama işini ise sadece “enerjim olduğu” bir zamana erteliyorum.

    6. Zaman Görselleştirici (Chronos Visualization)

    DEHB’nin getirdiği en büyük sorunlardan biri “Zaman Körlüğü”. Bunu aşmak için dijital saatler yerine dev bir analog saat kullanmaya başladım. Hatta masamda belirli işlere ne kadar zaman ayırdığımı gösteren renkli mekanik zamanlayıcılar duruyor. Zamanın akışını tıpkı bir pastanın dilimleri gibi fiziksel olarak görmek, beni o anın içinde tutuyor.

    7. Duyusal Sınırlandırma (Sensory Shield)

    Zihnim görsel ve işitsel gürültüden çok çabuk yoruluyor. Odaklanmam gerektiğinde hemen gürültü engelleyici kulaklığımı takıp “Brown Noise” açıyorum. Akşamları ise tepe lambasını asla kullanmıyor, ortamı sadece sıcak ve loş LED’lerle aydınlatıyorum. Odadaki duyusal uyaranları azalttığımda, zihnimdeki o bitmek bilmeyen uğultunun da sustuğunu fark ettim.

  • Stealth Campervan: Şehirde Görünmez Karavan Tasarım Notlarım

    Stealth Campervan: Şehirde Görünmez Karavan Tasarım Notlarım

    Karavanla seyahat ederken veya şehir içinde konaklarken en büyük sorunlardan biri dikkat çekmek ve kamp yasağı olan bölgelerde güvenlik/zabıta engeline takılmaktır. Dışarıdan bakıldığında sıradan bir nakliye veya kargo aracı gibi duran, ancak içinde tam teşekküllü bir yaşam alanı barındıran “Stealth Camper” (Gizli Karavan) konsepti üzerine aldığım tasarım ve teknik notları buraya topladım.

    1. Kasa Seçimi: Kutu Köşeli 15 m³ Fiat Ducato

    Stealth projelerde araç kasasının formu hayati önem taşıyor. Fiat Ducato (L4H2 / 15 m³), yan duvarlarının dik açıya çok yakın olması sayesinde iç mekanda mobilya yaparken sıfır hacim kaybı sunuyor ve 1.87 metrelik iç genişliğiyle enine yatak yerleşimine izin veriyor.

    • Sivil Filo Görünümü: Türkiye’de kargo ve nakliye filolarında en çok kullanılan kasa olduğu için şehir içi park halinde 0 dikkat çekiyor.
    • Enine Yatak İmkanı: 1.87 m iç genişlik sayesinde yatağı enlemesine koyup yaşam alanından 1.5 metre yer kazanabiliyorum.
    • Sıfır Hacim Kaybı: Düz yan duvarlar sayesinde dolap derinliklerinden ve tavan alanından maksimum verim alınıyor.

    2. Tavan ve Dış Ekipman Gizleme (Sıfır Dış Belirti)

    Tavana monte edilen kaba klimalar, devasa havalandırma mantarları veya kaportayı keserek takılan dış 220V girişleri “Ben karavanım” diye bağırır. Stealth mantığında dış kaportaya kesinlikle karavan ekipmanı asılmamasını planladım.

    • Esnek (Flexible) Güneş Panelleri: Tavan oluklarının arasına sıfıra sıfır yapıştırılarak sokak hizasından tamamen görünmez kılınıyor.
    • Gizli Alt Havalandırma: Yan sacları kesmek yerine havalandırma kanalları aracın tabanındaki orijinal tahliye boşluklarına gizleniyor.
    • Gömme Yan Camlar: Minibüs tipi siyah karartmalı camlar seçilerek araç ticari VIP minibüs görünümünde tutuluyor.

    3. Sürücü Kabini İzolasyonu ve Işık Sızdırmazlığı

    Gece araç içinde ışık yandığında dışarıya tek bir ışık huzmesinin sızması stealth konseptini anında patlatır. Şoför mahalli ile arka yaşam alanını birbirinden tamamen izole eden bir duvar kurguladım.

    • Ahşap Ara Bölme Duvarı: Ön kabin ile arka yaşam alanı arasına kilitli kapısı olan izolasyonlu sabit bir duvar eklemek.
    • Tam Karartma (Blackout) Şilteler: Camlara içeriden mıknatıslı katmanlı pedler takarak dışarıya ışık sızıntısını %100 engellemek.
    • Dışarıdan Karanlık Görünüm: Ön camdan bakıldığında arabanın içi bomboş bir kargo aracı gibi karanlık kalıyor.

    4. Şebekeden Bağımsız (Off-Grid) Sessiz Enerji

    Şehir içinde konaklarken gürültü çıkaran bir jeneratör çalıştırmak imkansızdır. Bu yüzden ses çıkarmayan, yüksek kapasiteli LiFePO4 (Lityum) aküler ve araç hareket halindeyken şarj sağlayan DC-DC dönüştürücüler seçtim.

    • Sessiz LiFePO4 Depolama: Sıfır ses ile buzdolabı, aydınlatma ve laptop şarjını 24 saat kesintisiz besleme imkanı.
    • DC-DC Şarj (Alternatör Şarjı): Araç sürüş halindeyken motor alternatöründen lityum depoyu çok hızlı şekilde doldurabilmek.
    • Dış 220V İhtiyacının Bitmesi: Kablo uzatıp dışarıdan elektrik alma zorunluluğunu ortadan kaldırmak.

    5. Su Tesisatını Araç İçinde Gizleme

    Aracın altına asılan devasa su depoları veya dışarıya sarkan tahliye vanaları devriye ekiplerinin ilk dikkatini çeken detaylardır. Tüm su depolarını ve tesisatı koltuk altı bazalara entegre etmeyi planladım.

    • Koltuk Altı Depo Entegrasyonu: Su depolarını araç içinde tutarak dışarıdan görünürlüğü engellemek ve kışın donma riskini bitirmek.
    • İç Alan Atık Yönetimi: Gri su tankını da araç içine alarak dışarıya su damlatma veya sızıntı şüphesini yok etmek.

  • Resend ile Mail Kurulumu (Coolify + PocketBase)

    Resend ile Mail Kurulumu (Coolify + PocketBase)

    Kendi sunucumda (Coolify) PocketBase ile yeni bir proje ayağa kaldırırken, işin o sıkıcı “mail gönderim (SMTP)” aşaması her seferinde zamanımı çalıyordu. “Mailler spam’e düşer mi?” gerginliğini sonsuza dek bitirmek için sistemi Resend üzerine kurmaya başladım. Bir sonraki projede ayarları sıfırdan düşünmemek ve hızlıca kopyala-yapıştır yapabilmek için kendi kurulum adımlarımı buraya sabitliyorum.

    1. Resend Tarafını Çözmek

    Modern bir mail servisi olan Resend’de hesabı açıp domain’i (alan adını) bağlamak işin ilk adımı.

    • Bölge Seçimi: Gecikmeyi önlemek için bölgeyi her zaman Ireland (eu-west-1) seçiyorum.
    • DNS Ayarları: Resend’in verdiği DNS kayıtlarını, domain’i aldığım paneldeki ayarlara giriyorum.
    • Doğrulama: Resend panelinde “Verified” yazısını görmeden diğer adımlara geçmek yok.

    2. Coolify’a Uyarı Maillerini Bağlamak

    Sunucunun çökme veya sistem uyarılarında beni haberdar etmesi kritik. Coolify’ı kör bırakmamak için şu ayarları giriyorum:

    • Coolify içinde Settings > Email kısmına geçiyorum.
    • Resend bölümüne, oradan aldığım API Key kodunu yapıştırıyorum.
    • “From Address” kısmına ise genelde sistem@siteadim.com gibi profesyonel duran bir adres tanımlayıp kaydediyorum.

    3. PocketBase SMTP Ayarlarını Oturtmak

    Kullanıcıların şifre sıfırlama veya doğrulama maillerini sorunsuz alabilmesi için PocketBase tarafına girdiğim fix SMTP ayarları şunlar:

    • Host: smtp.resend.com
    • Port: 465 (veya duruma göre 587)
    • Username: resend
    • Password: Resend’den aldığım API Key.
    • Encryption: SSL/TLS (Bunu kesinlikle unutmuyorum).

    Güvenlik İçin Ufak Bir Hatırlatma

    Hem Coolify hem de PocketBase için tek bir API Key kullanmak işin kolayı gibi görünse de, güvenlik ve kullanım takibi açısından her ikisi için ayrı ayrı API Key oluşturmak her zaman daha sağlıklı. İki dakika fazla uğraşıyorum ama kafam rahat ediyor.

  • WhatsApp Webhook Gelmiyor: Terminalden Çözdüm

    WhatsApp Webhook Gelmiyor: Terminalden Çözdüm

    WhatsApp Business API entegrasyonu yaparken saatlerimi çalan en sinir bozucu sorunlardan biriyle cebelleştim: Webhook kurulumu tamam, test butonu çalışıyor ama gerçek WhatsApp mesajları sunucuya bir türlü düşmüyor. Meta Developer Console arayüzüne güvenmenin bedelini zamanımla ödedikten sonra, işi manuel olarak API üzerinden nasıl çözdüğümü bir daha unutmamak için buraya not alıyorum.

    Sorunun Kaynağı: Arayüzdeki Kopukluk

    Sunucu ayakta, Meta panelindeki “Test” butonundan gelen sahte veriler sunucuya ulaşıyor ama gerçek mesajlarda log’larda yaprak kımıldamıyordu. Sorunun temel kaynağının Abonelik (Subscription) kopukluğu olduğunu fark ettim. Arayüzdeki “Subscribe” butonuna basmama rağmen işlem sadece uygulama seviyesinde kalıyor, arka planda WhatsApp Business Hesabı (WABA) ile uygulama arasındaki bağlantı bir türlü kurulamıyordu.

    Benim Çözümüm: cURL ile Manuel Abonelik (Force Subscribe)

    Arayüzdeki butonlar işe yaramayınca, Meta Graph API’yi kullanarak bu “el sıkışmayı” terminalden manuel olarak zorunlu kıldım. İhtiyacım olanlar sadece WABA ID ve tam yetkili bir Access Token‘dı.

    Terminalde şu komutu kendi bilgilerimle çalıştırarak bağlantıyı zorla kurdum:

    curl -X POST "https://graph.facebook.com/v22.0/{WABA_ID}/subscribed_apps" \
    -H "Authorization: Bearer {ACCESS_TOKEN}" \
    -H "Content-Type: application/json" \
    -d '{
    "subscribed_fields": ["messages", "message_template_status_update", "messages_preview"]
    }'

    Karşılığında {"success": true} yanıtını aldığım an, webhook nihayet gerçek mesajlarla tetiklenmeye başladı.

    Sağlama Yapmak İçin: Aboneliğin gerçekten kurulup kurulmadığını görmek için öncesinde ve sonrasında şu GET isteğini atarak listeyi kontrol ettim:

    curl -X GET "https://graph.facebook.com/v22.0/{WABA_ID}/subscribed_apps" \
    -H "Authorization: Bearer {ACCESS_TOKEN}"

    Özetle: Meta arayüzüne güvenmiyorum. Her şey doğru görünmesine rağmen veri akmıyorsa, terminalden subscribed_apps endpoint’ine istek atmak hayat kurtarıyor.

    Production İçin Ek Not: Kalıcı Token (System User) Ayarlarım

    Projeyi canlıya (production) alırken 24 saatlik geçici token’larla uğraşmamak için süresi asla dolmayan bir token üretmem gerekiyordu. İleride tekrar aramayayım diye Business Settings üzerindeki adımlarımı da özetliyorum:

    1. business.facebook.com/settings adresinden “System Users” (Sistem Kullanıcıları) kısmına girip “Admin” rolünde yeni bir kullanıcı oluşturdum.
    2. Oluşturduğum kullanıcının “Add Assets” bölümünden projeye ait WhatsApp uygulamasını seçip “Full Control” verdim.
    3. “Generate New Token” derken süreyi Never (Asla) olarak ayarladım.
    4. İzinler listesinde whatsapp_business_management ve whatsapp_business_messaging yetkilerini seçip token’ı ürettim.

    Meta bu kalıcı token’ı ekranda sadece bir kez gösterdiği için hemen kopyalayıp sunucudaki .env dosyama (TOKEN=EAARLL…) yapıştırdım. Artık token süresi doldu krizleriyle uğraşmak yok.

  • Hetzner Sunucum Neden Kasıyordu?

    Hetzner Sunucum Neden Kasıyordu?

    Hetzner Cloud üzerinde tuttuğum ve Coolify ile yönettiğim sunucuda son zamanlarda can sıkıcı bir yavaşlama, SSH bağlantılarında donmalar ve panel kilitlenmeleri yaşamaya başladım. Sunucuya terminalden bağlandığımda harflerin bile ekrana gecikmeli düştüğünü görünce, mecburen işi gücü bırakıp terminalde detektifliğe soyunmak zorunda kaldım. İleride aynı krizi yaşarsam sıfırdan düşünmemek için süreci buraya not düşüyorum.

    Terminalde Hata Avı: Suçluyu Bulmak

    Sunucu kasıyorsa olağan şüpheliler bellidir: CPU, RAM veya Disk. Analize şu sırayla başladım:

    1. Kaynak Tüketimi (htop)
    Önce htop ile anlık duruma baktım. İşlemci yükü (Load Average) 0.25 civarındaydı, yani CPU rahattı. Ancak RAM tam dolmamasına rağmen SWAP (Sanal Bellek) kullanımı tehlikeli şekilde yüksekti. Sistem, RAM’de yer açmak için verileri diske yazmaya çalışıyor (Swap in/out) ve bu da sistemi boğuyordu.

    2. Disk Performans Testi (I/O)
    Hetzner disklerinde fiziksel bir arıza var mı diye doğrudan diski test ettim:

    dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct

    Sonuç: 1.1 GB/s yazma hızı. Disk performansı mükemmeldi, sorun kesinlikle donanımda değil, benim yazılımlarımdan birindeydi.

    3. Docker İstatistikleri
    Coolify altındaki hangi konteynerin sistemi sömürdüğünü bulmak için Docker verilerini çektim:

    docker stats --no-stream --format "table {{.Name}}\t{{.MemPerc}}\t{{.MemUsage}}"

    Suçlu bulundu: Kendi geliştirdiğim “Face Swap” (AI/Python) uygulamasının tek başına ~2 GB RAM sömürdüğünü gördüm. Uygulama ani yüklenmelerde RAM’i dolduruyor, sunucu da panikleyip paneli Swap’e (diske) atıyordu. Kilitlenmenin sebebi buydu.

    Çözüm: Docker’ı Kafeslemek ve Saçma Limit Hataları

    Uygulamanın 8GB’lık sunucunun tamamını rehin almasını engellemek için Coolify üzerinden (Project > Settings > Resource Limits) konteyneri kafeslemem gerekiyordu. Ancak Docker’ın limit belirleme mantığı oldukça sinir bozucuydu. Karşılaştığım hatalar ve doğruları şöyle:

    Hata 1: “Minimum memory limit allowed is 6MB”
    Tavan RAM miktarını 2300 olarak girdiğimde hata verdi. Çünkü birim yazmadığım için Docker bunu 2300 Bayt sandı. Sonuna mutlaka 2300MB yazmak gerekiyor.

    Hata 2: “Minimum memoryswap limit should be larger than memory limit”
    Memory limitine 2300MB, Swap’e ise 1024MB yazdığımda yine hata verdi. Çünkü Docker, Swap kutusuna sadece istediğiniz “ekstra” swap miktarını değil; (RAM + SWAP) toplamını yazmanızı istiyor.

    İdeal Yapılandırma Notum

    Sunucuyu rahatlatan ve sistemi stabil hale getiren nihai ayarlarımı şöyle sabitledim:

    • Limit CPUs: 1.5 (Uygulama tüm çekirdekleri sömüremesin, 1.5 çekirdek ona yetsin.)
    • CPU Weight: 1024
    • Maximum Memory Limit: 2300MB (Uygulamanın çıkabileceği maksimum RAM)
    • Maximum Swap Limit: 3324MB (2300 MB RAM + İstediğim 1024 MB Swap = 3324 MB toplam limit)

    Ayarları Deploy ettikten sonra Docker’ı tekrar kontrol ettiğimde uygulamanın artık sunucunun tamamına değil, sadece 2.24GiB‘lık bir kafese erişebildiğini gördüm. Artık o Python uygulaması bellek sızıntısı yapsa bile sadece kendi kafesinde yeniden başlıyor, sunucum ve Coolify panelim saat gibi çalışmaya devam ediyor.

  • Dopamin, Disiplin ve Küçük Değişiklikler

    Dopamin, Disiplin ve Küçük Değişiklikler

    Bir süredir hayatımda bazı şeyleri rayına oturtmak ve kendi içimdeki kaosla başa çıkmak için yoğun bir mesai harcıyorum. Kendi eksikliklerimi yüzüme vuracak, beni psikolojik olarak daha sağlam bir yapıya hazırlayacak profesyonel bir destek (psikolog) bile almaya başladım. İnsanın kendisine dışarıdan bir gözle bakabilmesi gerçekten sarsıcı ama bir o kadar da iyileştirici bir süreç.

    Bu süreçte kendi zihnimin nasıl çalıştığına dair aldığım bazı notları buraya bırakıyorum.

    Kendi Kendine Konuşmanın Gücü

    Eskiden “kendini telkin etmek” bana kişisel gelişim zırvalığı gibi gelirdi. Ama başarılı insanların ortak özelliğinin, zihinlerini kendi kelimeleriyle programlamak olduğunu fark ettim. Artık başarısız olacağımı düşündüğüm o karanlık anlarda zihnimdeki sese yenilmek yerine kendimle sesli konuşuyorum. Zor olsa bile üstesinden geleceğimi, bir yolunu bulacağımı kendi kendime tekrar ettiğimde, sürece başlamadan bile o eylemi ateşlemiş oluyorum.

    Zihindeki Düğümü Kağıda Dökmek

    Sürekli düşünen, aynı anda birkaç farklı projeye kafa yoran bir zihnim var. Bu durum bir noktadan sonra her şeyin karmakarışık olmasına yol açıyor. Çözümü yazmakta buldum. Bir sorunu çözerken onu sadece kağıda yazmak, gözünün önünde somut bir metin olarak görmek bile inanın o karmaşayı anında netleştiriyor.

    Kendime “Kum Torbası” Gibi Davranmayı Bırakmak

    Kendimde fark ettiğim en kötü özellik, hep başarısızlıklarımı hatırlayıp kendime adeta bir kum torbası gibi davranmaktı. Beni en çok geriye çeken şeyin bu olduğunu anladım. Artık herkesin hikayesinin farklı olduğunu kabul ediyor, kendimi başkalarıyla kıyaslamayı bırakıp iyi taraflarımı da tebrik etmeye çalışıyorum.

    Günümüzde başarı sadece zengin olmak gibi pazarlansa da, bence en büyük başarı kişinin kendi iç huzurunu yakalayabilmesidir. Zengin olup mutluluk illüzyonu yaratan, ama içten içe mutsuz olan o kadar çok insan var ki…

    Hızlı Tüketim ve Yavaşlama İhtiyacı

    Çağımızın en büyük sorunu hızlı tüketim ve odak problemi. Artık hiçbirimizde bir ağaç dikip onun büyümesini sabırla bekleyecek mecal kalmadı, her şeyin sonucunu anında görmek istiyoruz. Gün içinde durup anı yakalayabilmek, yavaşlamak ve bunun kısa bir yaşam yolculuğu olduğunu kendime hatırlatıp derin bir nefes almak bana çok iyi gelmeye başladı.

    Zihnimin Oynadığı Oyunlar: Bilişsel Çarpıtmalar

    Psikolojik olarak iyileşme sürecimdeki en kritik adım, kendi düşüncelerimi gözlemlemeyi öğrenmem oldu. Örneğin; yolda yürürken bir arkadaşım bana selam vermeden geçtiğinde, zihnim anında “Seni sevmiyor, seni ciddiye almıyor” demeye başlıyordu. İşte tam o anda durup, bu sesin sadece bir varsayım olduğunu kendime söyleyebilmek büyük bir güçmüş. Eğer o an kendimi durdurmazsam, bilinçaltım o arkadaşıma karşı yeni bir cephe açıyor ve içten içe ona bilenmeye başlıyordum. Bu sis perdesini dağıtmayı öğreniyorum.

    Zihni Kaliteli Suyla Beslemek

    Zihnin sürekli su verilmesi gereken bir çiçek gibi olduğunu anladım. Zamanında okuduğum bir kitap veya izlediğim bir dizi, o dönemki hayatıma nasıl yön verdiyse, bugün tükettiğim içerikler de yarınımı şekillendiriyor. Kendimi ne kadar kaliteli bilgiyle doldurursam, o dönemde o kadar kaliteli bir vizyona sahip olduğumu görüyorum.

    Arabesk Kurban Rolünden Çıkmak

    Bozuk bir yiyecek nasıl mideyi bozuyorsa, arabesk bir tavır da insanın ruhunu bozuyor. Bir dönem kendime acımanın, “her şeyi salmak lazım” demenin konforuna sığındığımı fark ettim. Kurban rolüne girip “Daha iyi şartlarım olsa farklı olurdu” demek, yerimde saymam için harika bir bahaneydi. Oysa iltihap kapmış bir yara, sadece bekleyerek ve şikayet ederek iyileşmiyor.

    Dopamini Stabil Tutmak (Ve Oyunları Silmek)

    Bana gerçekten neyin iyi gelip gelmediğini kestirmem gerekti. Örneğin; saatlerce oyun oynadıktan sonra inanılmaz bir suçluluk hissedip koca bir günü verimsiz geçirdiğimi fark ettiğim an, o oyunları tamamen sildim.

    Oyunda, kontrolü bende olan bir karakteri istediğim gibi yönlendirmek kolaydı. Ama gerçek hayattaki kendimi yönetemiyorsam, oyunda yüz defa kazanmamın ne anlamı vardı? Bu iç disiplini yakaladığımda kendime olan saygım çok daha fazla arttı.

    Değişimi Küçük Parçalara Bölmek

    İnsanın kendini değiştirmesi bir anda olmuyor. Kendimde beğenmediğim özellikleri bir gecede düzeltmeye çalışıp kendime kızmayı bıraktım. Bahçedeki bitkilerden öğrendiğim en net kural şuydu:

    Bir tohumun üzerine bir damacana su dökerek, onun aynı gün çiçek açıp büyümesini bekleyemezsiniz.

    Artık hedeflerimi küçük lokmalara ayırıyorum. Sadece belli bir özelliğimi değiştirmeye odaklanıp kendime zaman tanıyorum. Çünkü 1 yıl bile aslında hiç uzun bir süre değil.

  • Kendimi Tanırken Öğrendiklerim

    Kendimi Tanırken Öğrendiklerim

    Bilgisayar başında saatlerce kod yazdıktan sonra karavanın içine geçip sadece bir ahşap parçasını zımparalamak başlarda bana çok garip geliyordu. Zihnim sürekli bir sonraki adımı, çözülmesi gereken diğer problemleri, yetişmesi gereken işleri düşünüp duruyordu.

    Bir dönem Doğu felsefesine, özellikle Zen kültürüne çok kafayı takmıştım. Sri Nisargadatta’nın metinlerinde veya okuduğum diğer felsefi kitaplarda hep aynı şeyin altı çiziliyordu: Sessiz kal ve zihninden geçen düşünceleri, kırmızı ışıkta beklerken önünden geçen arabaları izler gibi izle.

    Bunu bilgisayar ekranına bakarken yapmak benim için neredeyse imkansızdı. Ama ellerim toz içindeyken, sadece o an yaptığım fiziksel işe odaklandığımda zihnimin gerçekten yavaşladığını ve “anda kalabildiğimi” fark ettim.

    Aslında sistem çok basit çalışıyor. Bedenin bir yeri kanadığında acır ve “beni tedavi et” der. Ruh da aynı mantıkla işliyor; içindeki o nedensiz huzursuzluk, mutsuzluk hissi aslında “bir şeyleri değiştir, içe dön” çağrısı. Uzun bir süre bu huzursuzluğu dışarıdan yeni bilgiler edinerek, daha çok okuyarak, daha çok şey öğrenerek çözebileceğimi sandım. Oysa asıl mesele, insanın kendi zihninin düşünme mekanizmasını dışarıdan bir izleyici gibi gözlemleyebilmesindeymiş.

    Buda’ya atfedilen çok sevdiğim bir benzetme vardır: Bir çiçekten hoşlanırsan onu koparırsın ama bir çiçeği gerçekten seversen, onu her gün sularsın. Gerçekten sevdiğim şeylerin (bu aylarca süren bir karavan inşası da olsa, yeni bir yazılım projesi veya köpeğim de olsa) üzerine titremenin, onları tüketmek yerine her gün yavaş yavaş beslemenin bana çok daha iyi geldiğini gördüm.

    Schopenhauer, insanın kendi yeteneklerini ve sınırlarını çok iyi tanıması gerektiğini, ancak buna uygun bir amaç edinen kişinin mutlu olabileceğini söyler. Kendi mutluluğu için her şeyi ezip geçenlerle, mutluluktan tamamen feragat edenler arasında bir yerde durmaya çalışıyorum ben de.

    Kendimi bildiğim, sınırlarımı test ettiğim, dışarıdaki gürültüye kulak tıkayıp kendi atölyemde sessizce üretmeye devam ettiğim o orta noktada. Belki de insanın okuyabileceği en değerli kitap, günün sonunda yine kendisidir.