Gogs ile Kişisel GitHub-benzeri Depo Kurmak

 

Versiyonlama ve kod deponuz için, ya da emekleyen projeleriniz için özel bir depo mu istiyorsunuz? Buna ekstra para vermek içinizden gelmiyor mu? Self-hosted servislere meraklı mısınız, size daha mı çok güven veriyor? GitHub ‘daki kodunuzun bir kopyasını yerel tutmak mı istiyorsunuz? Sadece Git iyi güzel, ama hoş bir arayüzün, kullanım kolaylığının, ekstra fonksiyonların eksikliği hissediliyor mu sizde de? Demek ki kendi GitHub ‘unuzu kendiniz kurmanın vakti gelmiş. Üstelik -hemen hemen- tüm avantajlarıyla birlikte!

Bu işi yapabilen birden çok yazılım var, tüm ihtiyacımız olan ise 7/24 açık bir sunucu. İlla dışarıdan bir hizmete gerek yok, ben bunun için kendi Raspberry Pi sunucularımı kullanıyorum. GitLab ve Gogs, self-hosted GitHub kurmak isteyenler için iki büyük alternatif, ikisi de hızlı gelişiyor ve kendi çapında popüler. GitLab bu işte fonksiyonel anlamda sanki bir adım daha önde, ama konu RasPi gücünde bir sunucuda bu işi yapmaya gelince Gogs ‘un eline kimselerin su dökebileceğini sanmıyorum, üstelik son derece de temiz arayüzlü ve stabil. Bu sebeple ben Gogs ‘u tercih ettim ve tercihimden çok memnun kaldım, herkese de öneriyorum.

Peki Gogs ile neler yapabiliyoruz? Gogs son derece kolay şekilde GIT depoları oluşturmaya ve paylaştırmaya imkan tanıyor, çok sayıda kullanıcının aynı anda kullanması mümkün, sosyal araçları da buna hazır. Elbette bu depoları ve commit kayıtlarını görselleştirebiliyor, diff (fark) alabiliyor, dosyaları görüntüleyebiliyor, kolayca paylaşmaya da imkan tanıyor. Sadece bunlar da değil, diğer Git depolarında -misal GitHub- tuttuğunuz kodunuz için yansı depolar oluşturup belli aralıklarla yedekleyebiliyor, depolarınız için Issue Tracker (Kayıt Takibi) sunabiliyor, kodun belli bir durumundan Release oluşturmanıza imkan tanıyor ve muhtemelen benim sayamadığım daha bir çok işi yapıyor. Daha da güzeli, bütün bunları Raspberry Pi 2 üzerinde ışık hızında, hiçbir yavaşlama olmaksızın yapıyor. Daha ne isteyebilirsiniz ki bir Git sunucusundan? Bana kalırsa self-host etmeye istekli her geliştiricinin alet çantasında çoktan yerini almasını gereken bir çözüm Gogs, desteklerinizi de bekliyor. Türkçe dil desteğinin de Crowdin.com üzerinde topluluk desteğiyle sağlanmaya çalışıldığını ve yardımcı olabileceğinizi belirtmekte fayda var. (Henüz %30 civarı bitmiş çevirinin, bu haliyle resmi diller arasında yer almıyor)

Gogs ‘un geliştirilmesi ben bu satırları yazarken süratle devam ediyordu, adından ipucunu alabileceğiniz üzere Go dilinde geliştiriliyor. Fonksiyonel eksikleri olmasına rağmen stabil çalışması, temiz arayüzü ve hızıyla bitmiş bir ürün hissini çok iyi veriyor, ki özgür yazılım projelerin genellikle aşil topuğu burası olur. Gelecek major sürümde benim farkına vardığım tek eksiklik olan Wiki fonksiyonunun da eklenmesi planlanıyor, ihtiyacınız varsa şimdilik bunun için ayrı bir depo, veya DokuWiki gibi hafif bir çözüm değerlendirebilirsiniz.

İlginizi çektiyse gelelim Raspberry Pi üzerinde biraz zahmetli kurulumu ve birkaç ufak tefek ayarına:

Devamını oku…

Raspbmc ile Raspberry Pi ile Medya Oynatıcı Deneyimi

Raspberry Pi ve neler yapabileceğinizle ilgili bir yazı yazmıştım zamanında, o yazının ana teması gidip hemen bir Raspberry almanızın şart olduğuydu, bu yazımda önceki anlattıklarıma ek olarak kendi Medya Oynatıcı deneyimimi anlatacağım. Önceden bu iş için pek de kaliteli diyemeyeceğim Ezcool ‘un bir oynatıcısını kullanıyordum, Samba ile Raspberry sunucumdaki 2 Terabyte ‘lık harici diskten görüntü alıyordu. Marka ve ürün çok güven vermese de genel olarak iş görüyordu. Ta ki, nedenini anlamadığım şekilde donmalar başlayana dek.

Bunun üzerine kendim bir şeyler yapabilecek miyim, ona bakayım dedim. Ortaya Ezcool ‘unkinden her anlamda daha başarılı bir sonuç çıktı, üstelik kendi Raspberry sunucumun üzerinde, dolayısıyla SMB ve dertleriyle -Linux’ta mı böyle, genel huyu mudur bilemem, “stabil olmayan” ın sözlük karşılığı Samba- uğraşmaktan kurtulmuş da oldum.

Bunun için kullanacağımız dağıtımın adı Raspbmc. Daha önce Raspberry Pi ‘den bahsettiğim için, kurulumunu burada tekrar anlatmıyorum. Henüz bir Raspberry edinmediyseniz, ilk paragrafta eklediğim yazıyı önce okuyup, sonra bunu okumanızda fayda var.

Raspbmc ‘nin avantajı, Raspberry ‘nize uyumlu bir Xbmc sürümüyle hazır olarak geliyor olması, böylece siz sistemi kendiniz dekore etmek zorunda kalmıyorsunuz. Tabii isterseniz zor yolu seçip, Raspbian ‘ınıza Xbmc kurmanız mümkün. Xbmc ‘sini saymazsanız, Raspbmc ile Raspbian arasında pek bir fark yok, zaten ortak depo kullanıyorlar.

Devamını oku…

Casablanca ‘ya Taşındım!

Blogumun Dreamhost ‘taki süresi bu ay bitti, orada host ettiğim başka bir şey de kalmayınca, yıllık $120 çıkıvermek yerine bloga yeni bir ev bulmak şart oldu. İşin gerçeği, Dreamhost ‘ta olduğum sürede -3 yıl oluyordur- blog çok da iyi çalışmıyordu, ücretli bir servise göre son derece yavaş olması bir yana, sunucunun timeout ‘ları son derece düşük oluyor ve kullanıcıyı kolayca 503 ‘e, hatta yanlışlıkla 404 ‘e gönderebiliyordu maalesef. Dreamhost ‘un teknik servisini ve yönetim panelini her zaman beğendim, ancak Dreamhost ‘ta şimdiye kadar ne host etmek istediysem, yavaş/sorunlu çalıştığı gibi, bu konuda şikayetlerinizde PS almanızı -ki fiyatları uçurumdu bir aralar- öneriyorlar.

Yeni evimiz, Casablanca! Casablanca, benim Raspberry Pi tabanlı sunucum, ve kendisi oldukça maharetli, çok amaçlı. 2TB bir diske ve salondaki HDTV’me sahip, gerekirse diye TV sehpasının altında bir de basit klavyesi var. Blogumu Raspberry ‘e taşıyarak, aynı zamanda Pi’nin PHP performansını da değerlendirme şansım oldu. Sonuçlar, $35 ‘lık bir ARM bilgisayara göre, beklentimin üstünde, ancak mucizeler de yaratmıyor tabii.

Bunun için blogda ve sunucuda bir kaç altyapı değişikliği şart oldu. Sayfayı ilk açtığımda, anasayfa dışarıdan (Pingdom kullandım) 22,5 saniyede yükleniyordu. Hani bekletmesini geçtim, yahu buna tıklayan adamın siteyi bozuk/kapalı vs. sanması için fazlasıyla yeterli bir süre 20 saniye. Sonra farkettim ki siteyi taşırken Super Cache kapanmış. Bunu yeniden etkinleştirip, ayarları biraz arttırınca sonuç 16 saniyede sabitlendi. Bunun üzerine Memcached kurdum, ancak pek bir verim alamıyordum ki, detaylara bakmayı akıl ettim. Tahmin edersiniz ki, sadece anasayfadaki resimlerin yüklenmesi epeyce sürüyormuş. Kendi upload hızıma kalmasın işler diye, bunu da WordPress ‘in harika kişisel CDN’i (ve de, ücretsiz) Photon ‘a bağladım, şimdi resimleri oradan yüklüyor, süre ise 10 saniyeye düştü. Yetmez dedim, baktım ki bu alan adı için Gzip ‘i aktifleştirmemişim, ayrıca cache ‘nin çöp toplama değerini de yükseltince, ortaya önce 6 saniye, sonra da en sonunda 3,5 saniye çıktı. Başladığım noktayı düşününce, fena değil. Şuan cache edilmiş bir sayfayı yaklaşık 4 saniyede, edilmemiş bir sayfayı 10 saniyede yüklüyor. Çöp toplamayı epey ötelediğim için, performans gün geçtikçe düzelecek gibi. 

İşin gerçeği, blogu şuanki haliyle bırakmak istemiyorum. Raspberry Pi, PHP’yi idare edebileceğini gösteriyor, ancak, %95 ‘i statik olan blogumun; sadece yorumları, en alttaki etiket bulutu ve yan menüsü dinamik, ki bu saydığım son ikisi dinamik olmak zorunda da değiller. Bu durumda boş bir vaktimde, en iyisinin statik blog üreticilerine geçmek olduğuna karar verdim. Zaten gözüm epeydir onlarda, zira hem pratikler, hem de çok hoş/uğraşması keyifli görünüyorlar, yazıları Markdown ‘da yazmak da cabası. Aklımda Pelican var bu iş için, en eli yüzü düzgün Python çözümü o olacak gibi.

Özetle; Blogumu taşıdım. Yeni evi bir Raspberry Pi, ancak Pi üzerinde mükemmel bir WordPress yaratmak güç, hem zaten niye yaratasınız? Bu sebeple de statik bir blog çözümü en iyisi gibi. Bakalım ortaya neler çıkacak.

 

 

 

 

Casablanca | Raspberry Pi için Yönetim Paneli

casablancacasablancadev
Casablanca, Raspberry Pi için PHP tabanlı bir yönetim/izleme paneli. Kendi Pi ‘m için, PiWWW tabanlı (Atouk ‘un) yazmıştım, paylaşmaya karar verdim. MySQL, veya ekstra bir başka şey gerektirmiyor. Yalnız ilk kurulumda yapmanız gereken bir takım düzenlemeler var, bunları README dosyasında bulabilirsiniz, hatta söylemek gerekirse; o dosyayı okumazsanız Casablanca çalışmayacak. Panel kendi kullanımım için olduğundan menülerde ve arayüzde sizin işinizi görmeyecek şeyler olabilir (sol tarafi Status barında ve üstteki menülerde özellikle), kolayca değiştirmeniz mümkün.

Özellikleri:

  • Parola korumalı
  • Sunucu/Port durum bilgisi
  • Syslog, Message-log, Services çıktısı, tüm PHP oturumlarını sonlandırma
  • Sistem bilgileri: Genel durum, Uptime, Sistem ısısı, CPU/OS/USB bilgileri, DMESG çıktısı, Hafıza kullanımı ve en çok kullananlar, GPIO durumu (Atouk  ‘un, WiringPi gerektirir), Ağ durumu, Disk kullanımı, Turbo durumu, Voltajlar, Frekanslar, Kodekler.
  • Javascript ile yenileme (Sayesinde 3 satır daha JS öğrendim)
  • Tatlı görünüyor olması, bu da bir özellik

Geliştirmeler, yamalarınız ve bilgi almak için: İletişim

Koda ulaşmak için: svn.aranelsurion.org/casablanca

Raspberry Pi 101: RasPi nedir? Ne Yapılır? Alışveriş Rehberi

Raspberry Pi, $35 (80 TL~) gibi bir rakama edinilebilecek, microUSB üzerinden yaklaşık 3 Watt güçle çalışan, kredi kartı büyüklüğünde bir bilgisayar. Raspberry’nin bir kasası yok, sadece bir kart olarak satılıyor. Ancak hafife de almayın, bu küçük bilgisayardan biraz bahsetmek gerekirse:

  • 700 MHz ARM11 CPU
  • Broadcom VideoCore IV GPU (OpenGL ES 2.0 destekli, MPEG-2 ve VC-1 uyumlu. 1080p görüntü çıkışı)
  • 512 MB RAM
  • 2 adet USB çıkışı, HDMI çıkışı, Ethernet, SD kart yuvası, 3,5mm ses çıkışı ve Kompozit çıkış.

Raspberry’nin maliyeti ve boyu, yukarıdaki özelliklerine göre çok küçük. USB, HDMI, SD gibi her türlü desteğin yanı sıra iş görür bir CPU, RAM ve gayet iyi bir GPU ‘ya (Xbox I seviyesinde deniyor) sahipsiniz ve HD oynatabiliyorsunuz. Üstelik tüm bunları 5 V’lık bir microUSB’den aldığınız 3~4 Watt ‘lık güçle yapıyorsunuz. Basit bir kıyasla ortalama bir bilgisayar donanımı 200 Watt~ gibi bir enerjiyi kullanabiliyor. Bu durumda Raspberry ‘i aslında bir kalem pille, güneş enerjisiyle, veya pedal çevirerek çalıştırmanız mümkün. Üstelik  tüm bu donanım siz ne isterseniz onu yapmak için bekliyor, şimdiden bir çok dağıtım ve yazılım bu amaçlar için hazır.

Neler yapılabilir?

Hiç güç tüketmeyip (evdeki diğer her şeye kıyasla), yeterli miktarda performans üreten bir mini bilgisayarla ne yapılır? Üstelik son derece ucuz ve kurcalanabilir olsun. Bu sorunun cevabını size en iyi YouTube verebilir, çünkü RasPi ile yapılabileceklerin sınırı yok. Tamamı hayal gücüne ve isteğe kalmış olmakla beraber, ondan 3 Watt’lık bir bilgisayar da yapabilirsiniz, bir media-center da, sunucu olarak da kullanabilirsiniz, depolama/yedek ünitesi olarak da. Eliniz yatkınsa Raspberry sizin için ev otomasyonu da yapabilir; ışıkları kapatıp, kapıları kilitleyebilir, bir fincan kahve yapıp termostatı ayarlayabilir. Veya arabanızın multimedya sistemiyle değiştirip 80 lira ‘ya çok az enerji tüketen tam kapasiteli bir bilgisayar da taşıyabilirsiniz. Raspberry ‘ye bir kamera bağlarsanız ev güvenlik sistemi de yapabilirsiniz, robot da, bir emulator indirip HDMI’dan TV’nize bağladığınızda kendi oyun konsolunuzu da yapabilirsiniz.

Çok mu saydım? Aslında çok değil, bu saydıklarımın çoğu yapılmış, şuan kullanılan şeyler. Bu liste o kadar uzatılabilir ki. Gezegenin bir yerinde, tamamen güneş enerjili bir Raspberry sunucusu olduğunu, tüm Dünya ‘da elektrikler gitse bile onun açık kalacağını biliyor muydunuz? Mesea bu yapıldı. Peki elimiz yatkın değil veya zamanımız yok, pratik olarak neler yapabiliriz? O zaman kendi beklentilerimi anlatayım, ben ne için istedim Raspberry Pi ‘yi:

Devamını oku…