Teaser

Bu yazıda offline da çalışabilen ve çalışma veriminizi arttıracağını düşündüğüm 5 araçtan bahsediyorum.


Bireysel olarak veya bir ekip ile çalışırken kullandığımız çeşitli yazılım ve araçlar çalışma hızımızı ve verimimizi ciddi bir biçimde arttırabiliyor. Bu yazımda bireysel veya ekip olarak kullanabileceğiniz çeşitli araçlardan bahsedeceğim.

Araçların ortak özellikleri

  1. Web tabanlı olmaları yani internet tarayıcısı üzerinden kullanılmaları,
  2. İnternete bağlı olmayan ortamda, on prem, on premise yani self hosted çalışabilmeleri. Bu sayede ürettiğiniz ve sakladığınız tüm verileri sizde tutabiliyor olmaları,
  3. Hepsinin Docker imajlarının olması sebebiyle rahat bir şekilde çalıştırılabilmesi

olacaktır.

Bu yazıda araçların kurulumlarını ve kullanımlarını detaylı bir şekilde anlatmayacağım. Kurulum talimatları zaten her aracın kendi sitesinde yer almaktadır. Kullanımlarının da size ne kadar uygun olup olmadığını denemeden bilemezsiniz. Ama ben en az 1 tanesini beğeneceğinizi düşünüyorum.

Yazının sonunda bu araçları kullanmak için basit bir altyapı önerisinden de bahsedeceğim. Eğer r/homelab ve r/selfhosted tutkunları da geldiyse gelin araçlara bir bakalım…

1 - Mattermost

Mattermost

Mattermost, özünde bir chat uygulaması, Slack‘e benzetebiliriz. Ücreti karşılığında doğrudan kendi altyapıları üzerinden de Mattermost’u kullanabiliyorsunuz. Fakat self-hosted seçeneği de mevcut. Burada ise hem Free hem de Professional paket var. Free paketin çeşitli limitleri mevcut fakat birçok kullanım senaryosu için yeterli olacağını düşünüyorum.

Bakınız: Mattermost Pricing

Uygulamada temelde takımlar ve bu takımların altında kanallar yani chat odaları oluşturuyorsunuz. Örneğin her proje için takımlar veya projeler için kanallar oluşturabilirsiniz, bu sizin yoğurt yeme şeklinize bağlı.

Kanallardaki konuşmalar saklanıyor. Kanala daha sonra eklediğiniz kişi, geçmişteki konuşmaları okuyabiliyor.

Bunun dışında benim pek tecrübe etmediğim Playbooks isminde bir otomasyon altyapısı da bulunuyor.

DevOps, CI/CD alanında yer alan bir çok araçlar entegre edilebiliyor. Çeşitli araçların bot hesaplarını da ekleyerek birçok işi Mattermost üzerinden ChatOps yaklaşımı ile yapabiliyorsunuz. Eğer entegrasyon ile uğraşırsanız Mattermost’u tüm işlerinizi yapabileceğiniz bir merkez olarak kullanabilirsiniz.

Aracı ister web üzerinden isterse bilgisayarınıza kuracağınız kendi istemci yazılımı ile kullanabiliyorsunuz. Kapsamlı bir araç olduğu için tüm özelliklerini anlatmam kolay olmayacak, o yüzden niyetiniz var ise denemenizi veya videolarını izlemenizi tavsiye ederim.

Bedava sürümünün çeşitli kısıtları olduğundan bahsetmiştim. Önemli kısıtlarından biri kanallardaki konuşmaların export edilememesi, yani HTML veya PDF gibi bir formatta kanaldaki konuşmaları çıkartamıyorsunuz. Diğer bir limiti ise Active Directory, LDAP gibi Single Sign-On (SSO) altyapılarının ücretsiz sürümde olmaması. Fakat ücretsiz sürüm login tarafında Gitlab ile (self-hosted olabilir) entegre olabiliyor ve zaten çalışan bir Gitlab var ise, ki kendisi LDAP ile entegre edilmiş olabilir, kullanıcıları buradan login edebilirsiniz. Bu durumda dolaylı yoldan Mattermost da LDAP ile entegre edilmiş olacaktır. Bunun dışında tipik kullanımda ücretsiz sürüm size ciddi bir kısıt getirmeyecektir.

Alternatif olarak da rocket.chat ya da matrix.org araçlarına da bakabilirsiniz. Elbette her aracın kendine has bir kullanım tarzı, artı ve eksileri oluyor. O yüzden sizin veya ekbinizin ihtiyaçlarına ve tarzına uygun doğru aracı bulmak için denemeler yapmak gerekiyor.

Docker veya diğer yollar ile kurulum yapabilirsiniz.

2 - Jirafeau

Jirafeau

Jirafeau, geçici dosya depolama ve transfer imkanı sağlıyor. send.vis.ee nin PHP ile yazılmış self-hosted versiyonu olarak düşünebilirsiniz. Örneğin arkadaşınıza bir dosya göndereceksiniz, dosyanın boyutu büyük ve mail atamıyorsunuz ya da küçük olsa bile mail kotasını doldurmak istemiyorsunuz. Jirafeau’ya yüklediğiniz zaman size verdiği tekil, unique, linki paylaştığınız kişiler dosyayı indiriyor. Bir süre sonra veya ilk indirmeden sonra ya da silme linkini kullanınca dosya siliniyor.

Docker

3 - Excalidraw ❤️

Excalidraw

excalidraw.com un neredeyse aynısını self-hosted olarak çalıştırabilirsiniz. Daha çok toplantılarda, ekran paylaştığınız durumlarda hızlı çizimler yapmak için ya da taslak bir şeyler çizmek için kullanabilirsiniz. Varsayılan olarak el yazısı tarzı Virgil isimli bir yazı stili var, değiştirebiliyorsunuz. Benim favori araçlarımdan biri.

Docker

4 - draw.io

draw.io

draw.io ünlü çizim araçlarından biri. Excalidraw’a kıyasla daha “resmi” çizimler oluşturmaya yarıyor. Microsoft Visio alternatifi gibi düşünebilirsiniz.

draw.io’nun zaten masaüstü versiyonu mevcut. Fakat dilerseniz web üzerinden de self-hosted olarak kullanabilirsiniz.

Docker

5 - CyberChef

draw.io

Son olarak bahsedeceğim araç CyberChef, The Cyber Swiss Army Knife olarak geçiyor. Var olan birçok minik modülü arka arkaya koyarak yeni şeyler pişirebiliyorsunuz. Kullanımı biraz da hayal gücünüze kalıyor. Nasıl çalıştığını anlamak için kurcalamanız gerekiyor!

Docker


Docker Compose ve Reverse Proxy

Yazıyı bitirmeden önce minik bir altyapı önerisinde bulunmak istiyorum.

Birçok araç çalıştıracağınız zaman bunları ayrı ayrı docker run ile çalıştırmak yerine bilgilerinin bir YAML içerisinde bulunacağı Docker Compose kullanmanızı öneririm. Bu sayede yeniden başlatma ve konfigürasyon değiştirme işlerinde işleriniz daha kolay olur.

Araçları web üzerinden erişilebilir kılmak için çalıştırdığınız sunucu makinenin çeşitli portlarını publish etmek gerekiyor. Kendi bilgisayarınızda çalıştırıyorsanız sorun değil ama bir ekip olarak kullanıyorsanız araçları http://makineadı:port şeklinde açmak yerine Reverse Proxy kullanmanızı öneririm. Bu durumda her aracın kendi URL’si olacaktır. Örneğin cyberchef.domain.abc, drawio.domain.abc gibi. Bu sayede aracın adresi değişmeden arka planda değişiklik, sunucu ismi gibi yapabilirsiniz. Bu durumda port publish etmeniz de gerekmiyor. Elbette burada Docker Swarm ya da Kubernetes gibi daha kompleks çözümler kullanabilirsiniz fakat basit bir kullanım senaryosunu anlatıyorum.

Reverse Proxy nin bir avantajı da SSL termination ya da ForwardAuth gibi altyapıları kurabilmenize imkan sağlaması olacaktır. Örneğin Jirafeau servisini herkesin kullanmasını istemeyebilirsiniz. Fakat bu aracın kendine bir login mekanizması yok. İşte bu servisi bir Reverse Proxy arkasına alır ve ForwardAuth ile bir Authentication mekanizması kurarsanız bu servisi bir kullanıcı adı/şifre veya başka bir login mekanizması ile koruyabilirsiniz.

Kullanabileceğiniz birçok reverse proxy mevcut, Traefik, Nginx Proxy Manager gibi. Yine her zaman olduğu gibi temelde aynı işi yapsalar da kullanım ve problem çözme tarzları farklı.

Faydalı olması dileği ile…


Beğendiniz mi? Destek olmak ister misiniz? Eğer öyleyse bir kahve ısmarlayabilirsiniz:

Buy Me A Coffee


  • 🤓 Bir içerik daha?

    RADAR 22-4

    30 Nisan - 27 Mayıs arasında RADARıma takılanlar.