Kendi Web Analitik Yazılımınızı Umami ile DigitalOcean App Platform’da Dağıtma
Web sitenizin performansını izlemek, kullanıcı davranışlarını anlamak ve pazarlama stratejilerinizi optimize etmek için analitik veriler hayati önem taşır. Ancak geleneksel analitik çözümleri genellikle gizlilik endişelerini beraberinde getirir ve verilerinizin kontrolünü üçüncü taraf şirketlere bırakmanıza neden olur. İşte tam bu noktada, açık kaynaklı ve gizlilik odaklı bir web analitik aracı olan Umami devreye giriyor.
Bu rehberde, Umami’yi DigitalOcean App Platform’da nasıl dağıtacağınızı adım adım öğreneceksiniz. DigitalOcean App Platform, uygulamaları kolayca dağıtmak, ölçeklendirmek ve yönetmek için tasarlanmış, tam olarak yönetilen bir hizmettir. Bu kombinasyon, kendi analitik verilerinizin kontrolünü elinizde tutarken, dağıtım karmaşıklığıyla uğraşmadan güçlü bir çözüm sunar.
Umami Nedir ve Neden Tercih Etmelisiniz?
Umami, Google Analytics gibi popüler araçlara gizlilik dostu bir alternatiftir. Temel özellikleri şunlardır:
- Gizlilik Odaklı: Hiçbir kişisel veri toplamaz, çerez kullanmaz ve kullanıcıları izlemez. GDPR, CCPA gibi yasalara uyumludur.
- Basit ve Hafif: Minimalist bir arayüze sahiptir ve web sitenizin performansını etkileyecek ek yük getirmez.
- Açık Kaynak: Kodu herkes tarafından incelenebilir ve güvenliği şeffaftır.
- Veri Sahipliği: Tüm verileriniz kendi veritabanınızda saklanır, böylece tam kontrole sahip olursunuz.
- Gerçek Zamanlı Analizler: Ziyaretçilerinizi gerçek zamanlı olarak takip edebilirsiniz.
- Özel Etkinlikler: Buton tıklamaları, form gönderimleri gibi özel etkinlikleri izleyebilirsiniz.
DigitalOcean App Platform ise geliştiricilere kaynak kodu doğrudan bağlayarak uygulamalarını hızlıca dağıtma imkanı sunar. Otomatik derleme, sürekli dağıtım (CI/CD), otomatik ölçeklendirme ve veritabanı entegrasyonu gibi özellikleriyle Umami gibi bir uygulamayı barındırmak için idealdir.
Ön Hazırlıklar ve Gerekli Araçlar
Umami’yi DigitalOcean App Platform’da başarıyla dağıtmak için bazı ön hazırlıklar yapmanız gerekmektedir.
1. DigitalOcean Hesabı
Henüz bir DigitalOcean hesabınız yoksa, buradan kaydolmanız gerekmektedir. App Platform hizmetlerini kullanmak için bir ödeme yöntemi tanımlamanız istenecektir.
2. GitHub Hesabı
DigitalOcean App Platform, uygulamanızın kaynak kodunu GitHub, GitLab veya Bitbucket gibi bir sürüm kontrol sisteminden çeker. Bu rehberde GitHub kullanacağız.
3. Umami Kaynak Kodunu Forklama
Umami’nin en son sürümünü kendi GitHub hesabınıza çatallamanız (fork) gerekmektedir. Bu, kendi değişikliklerinizi yapmanıza ve DigitalOcean’ın bu depodan dağıtım yapmasına olanak tanır.
- Umami’nin resmi GitHub deposuna gidin.
- Sağ üst köşedeki “Fork” düğmesine tıklayın ve kendi hesabınıza çatallayın.
4. (İsteğe Bağlı) Yerel Kurulum ve Test
Dağıtımdan önce Umami’yi yerel ortamınızda test etmek isterseniz, Node.js ve npm’nin yüklü olması gerekir.
Forkladığınız depoyu klonlayın
git clone https://github.com/SİZİN_KULLANICI_ADINIZ/umami.git
cd umami
Bağımlılıkları yükleyin
npm install
Uygulamayı derleyin
npm run build
Uygulamayı başlatın (yerel bir veritabanı yapılandırmanız gerekir)
npm start
Bu adımlar zorunlu değildir ancak Umami’nin nasıl çalıştığını anlamanıza yardımcı olabilir.
DigitalOcean App Platform’da Umami Kurulumu
Şimdi Umami’yi DigitalOcean App Platform’da canlıya alma sürecine geçelim.
1. Yeni Bir Uygulama Oluşturma
- DigitalOcean kontrol panelinize giriş yapın.
- Sol menüden “Apps” seçeneğine tıklayın.
- “Create App” veya “Launch your first App” düğmesine tıklayın.
- “Connect to your GitHub account” seçeneğini seçin ve DigitalOcean’ın GitHub hesabınıza erişmesine izin verin.
- Depo listesinden, daha önce çatalladığınız
umamideposunu seçin. - “Branch” olarak genellikle
mainveyamasterdalını seçin. - “Autodeploy” seçeneğini işaretli bırakın. Bu, GitHub deponuza her yeni commit gönderdiğinizde uygulamanızın otomatik olarak yeniden dağıtılmasını sağlar.
- “Next” düğmesine tıklayın.
2. Kaynakları Yapılandırma
Bu adımda DigitalOcean, Umami uygulamanızı algılayacak ve bir Node.js uygulaması olarak yapılandıracaktır.
- DigitalOcean, Umami’nin bir Node.js uygulaması olduğunu otomatik olarak tanıyacaktır.
- “Build Command” ve “Run Command” alanları genellikle doğru bir şekilde doldurulur:
- Build Command:
npm run build - Run Command:
npm start
Gerekirse bu komutları kontrol edin ve düzeltin.
- Build Command:
- “Edit Plan” düğmesine tıklayarak uygulamanız için uygun bir plan seçebilirsiniz. Başlangıç için “Basic” veya “Professional” planlarının en düşük seviyesi yeterli olacaktır. Daha sonra ihtiyacınıza göre ölçeklendirebilirsiniz.
3. Veritabanı Ekleme
Umami verilerini depolamak için bir veritabanına ihtiyaç duyar. DigitalOcean App Platform, yönetilen veritabanı hizmetlerini kolayca entegre etmenizi sağlar.
- “Add a Database” düğmesine tıklayın.
- Veritabanı türü olarak PostgreSQL‘i seçin. Umami MySQL ve Postgres’i destekler, ancak DigitalOcean App Platform’da Postgres daha yaygın ve iyi entegre edilmiştir.
- Veritabanı adını ve kullanıcı adını varsayılan olarak bırakabilirsiniz veya değiştirebilirsiniz.
- “Next” düğmesine tıklayın. DigitalOcean, uygulamanız için otomatik olarak bir PostgreSQL veritabanı sağlayacak ve gerekli bağlantı bilgilerini içeren bir
DATABASE_URLortam değişkeni oluşturacaktır.
4. Ortam Değişkenlerini Ayarlama
Umami’nin çalışması için bazı ortam değişkenleri gereklidir. Bu değişkenler hassas bilgileri içerdiğinden, doğrudan kodda değil, App Platform ayarlarında saklanmalıdır.
- “Environment Variables” bölümüne gelin.
- Aşağıdaki değişkenleri eklemeniz gerekmektedir:
DATABASE_URL: Bu değişken, önceki adımda veritabanını eklediğinizde DigitalOcean tarafından otomatik olarak oluşturulmuş olmalıdır. Eğer yoksa, veritabanı servisinizin detaylarından kopyalayıp buraya yapıştırmanız gerekecektir.DATABASE_TYPE: Değer olarakpostgresqlgirin.HASH_SALT: Bu değişken, Umami’nin parolaları ve diğer hassas verileri şifrelemek için kullandığı rastgele bir dizedir. Güvenlik için benzersiz ve uzun bir dize olmalıdır. Terminalinizde aşağıdaki komutu kullanarak güvenli bir salt oluşturabilirsiniz:openssl rand -base64 32Çıktıyı kopyalayıp
HASH_SALTdeğişkeninin değeri olarak yapıştırın. Bu değeri bir yere kaydetmeyi unutmayın, çünkü kaybolursa Umami’ye erişiminizde sorun yaşayabilirsiniz.
- Tüm değişkenleri ekledikten sonra “Next” düğmesine tıklayın.
5. Uygulamayı İnceleme ve Dağıtma
Son adımda, uygulamanızın tüm ayarlarını gözden geçireceksiniz.
- Tüm ayarların doğru olduğundan emin olun (repo, dal, komutlar, ortam değişkenleri, veritabanı).
- “App Name” alanını istediğiniz gibi değiştirebilirsiniz.
- “Deploy App” düğmesine tıklayın.
DigitalOcean App Platform şimdi Umami uygulamanızı derlemeye ve dağıtmaya başlayacaktır. Bu işlem birkaç dakika sürebilir. Uygulamanız başarıyla dağıtıldığında, size bir URL sağlanacaktır.
Dağıtım Sonrası ve Umami Kullanımı
Uygulamanız başarıyla dağıtıldıktan sonra Umami’yi kullanmaya başlayabilirsiniz.
1. Umami Paneline Erişim
DigitalOcean kontrol panelinizdeki “Apps” bölümünde, dağıttığınız Umami uygulamanızın yanında bir URL göreceksiniz. Bu URL’ye tıklayarak Umami paneline erişebilirsiniz.
İlk giriş için varsayılan kullanıcı adı ve parola şunlardır:
- Kullanıcı Adı:
admin - Parola:
umami
ÖNEMLİ: Giriş yaptıktan hemen sonra “Settings” (Ayarlar) bölümüne giderek varsayılan parolayı güçlü ve benzersiz bir parolayla değiştirin. Bu, güvenliğiniz için kritik öneme sahiptir.
2. Web Sitenizi Ekleme
Umami paneline giriş yaptıktan sonra, izlemek istediğiniz web sitelerini eklemeniz gerekir:
- Sol menüden “Settings” (Ayarlar) bölümüne gidin.
- “Websites” (Web Siteleri) sekmesine tıklayın.
- “Add Website” (Web Sitesi Ekle) düğmesine tıklayın.
- Web sitenizin adını ve alan adını (domain) girin.
- “Save” (Kaydet) düğmesine tıklayın.
Yeni eklediğiniz web sitesi için bir izleme kodu (tracking code) oluşturulacaktır. Bu kodu kopyalamanız gerekmektedir.
3. İzleme Kodunu Web Sitenize Ekleme
Kopyaladığınız Umami izleme kodunu, izlemek istediğiniz web sitesinin her sayfasının etiketinin içine veya etiketinin kapanışından hemen önce yapıştırın. Örneğin:
Web Siteniz
SİZİN_UMAMI_DOMAINİNİZ yerine DigitalOcean App Platform tarafından verilen Umami uygulamanızın URL’sini, SİZİN_WEBSİTE_IDNİZ yerine ise Umami panelinde web sitenizi eklediğinizde size verilen ID’yi yapıştırdığınızdan emin olun.
4. Verileri Görüntüleme
İzleme kodunu web sitenize ekledikten ve ziyaretçiler gelmeye başladıktan sonra, Umami paneline geri dönerek analitik verilerinizi görüntüleyebilirsiniz. Gerçek zamanlı ziyaretçileri, sayfa görünümlerini, referansları ve daha fazlasını göreceksiniz.
Pratik İpuçları
- Adblocker Kontrolü: Kendi web sitenizde Umami verilerini görmekte sorun yaşıyorsanız, tarayıcınızdaki reklam engelleyicileri (adblocker) devre dışı bırakmayı deneyin. Bazı adblocker’lar Umami’nin izleme betiğini engelleyebilir.
- Tarayıcı Konsolu: İzleme kodunun doğru çalıştığından emin olmak için tarayıcınızın geliştirici araçlarını (F12) açın ve konsol sekmesini kontrol edin. Herhangi bir hata olup olmadığını kontrol edin.
- Özel Domain: DigitalOcean App Platform, uygulamanız için varsayılan bir
.ondigitalocean.appURL’si sağlar. İsterseniz kendi özel alan adınızı Umami uygulamanıza bağlayabilirsiniz. Bu, DigitalOcean App Platform ayarları altında “Settings” -> “Domains” bölümünden yapılır. - Yedekleme: DigitalOcean yönetilen veritabanları otomatik yedeklemeler sunar. Ancak, ek bir önlem olarak kendi yedekleme stratejinizi de düşünebilirsiniz.
Sonuç ve Sıkça Sorulan Sorular (SSS)
Tebrikler! Kendi gizlilik odaklı web analitik çözümünüz olan Umami’yi DigitalOcean App Platform’da başarıyla dağıttınız. Artık web sitenizin performansını kendi kontrolünüzde, üçüncü taraf izleyicilere bağımlı olmadan izleyebilirsiniz. Bu kurulum, size veri sahipliği, kolay yönetim ve DigitalOcean’ın güçlü altyapısının avantajlarını sunar.
Sıkça Sorulan Sorular (SSS)
1. Neden Umami yerine Google Analytics kullanmalıyım?
Temel fark gizliliktir. Umami hiçbir kişisel veri toplamaz, çerez kullanmaz ve kullanıcıları izlemez, bu da GDPR gibi düzenlemelere uyumu kolaylaştırır. Google Analytics ise kapsamlı veri toplar ve genellikle çerezlere dayanır, bu da gizlilik endişeleri yaratabilir.
2. DigitalOcean App Platform Umami için neden iyi bir seçim?
App Platform, geliştiricilerin kodlarını doğrudan dağıtmasına, yönetilen veritabanı ve CI/CD gibi özelliklerle uygulamaları kolayca çalıştırmasına olanak tanır. Umami gibi bir Node.js uygulamasını hızlıca canlıya almak ve sürdürmek için idealdir.
3. Umami kullanmak ücretsiz mi?
Evet, Umami açık kaynaklı bir yazılımdır ve kullanımı ücretsizdir. Ancak, onu barındırmak için DigitalOcean App Platform gibi bir hizmetin maliyetleri olacaktır. Maliyetler, seçtiğiniz plan ve kaynak kullanımınıza bağlı olarak değişir.
4. Umami için hangi veritabanını kullanmalıyım?
Umami hem PostgreSQL hem de MySQL’i destekler. Bu rehberde DigitalOcean App Platform ile iyi entegre olduğu için PostgreSQL kullandık. Genellikle PostgreSQL, modern web uygulamaları için daha güçlü ve esnek bir seçenektir.
5. Umami’yi nasıl güncelleyebilirim?
Umami’nin yeni bir sürümü çıktığında, kendi çatalladığınız (forked) GitHub deponuzu orijinal Umami deposuyla senkronize etmeniz gerekir. Deponuzu güncelledikten sonra, DigitalOcean App Platform’daki otomatik dağıtım (autodeploy) özelliği sayesinde uygulamanız otomatik olarak en son sürüme güncellenecektir.
6. DigitalOcean App Platform maliyetleri ne kadar olacak?
Maliyetler, uygulamanız için seçtiğiniz plan (Basic, Professional) ve kullandığınız kaynak miktarına (CPU, RAM, bant genişliği, veritabanı boyutu) göre değişir. Küçük bir Umami kurulumu için başlangıçta ayda birkaç dolardan başlayan maliyetler olabilir. DigitalOcean’ın fiyatlandırma sayfasını kontrol ederek daha detaylı bilgi edinebilirsiniz.
