Docker ile kurulum
Mac, Linux ve Windows'ta Docker ile kurun. Tek komut yeter, .env dosyası gerekmez. Verileriniz Docker'ın veri deposunda durur.
Bu sayfayı bitirince uygulama Docker'da (uygulamaları kapalı kutu içinde çalıştıran program) çalışır ve http://localhost:3001 adresinde açılır. Windows kullanıyorsanız tek dosyalık Windows kurulumu çok daha kolay. Bu yol Mac, Linux ve zaten Docker kullananlar için. İlk açılış birkaç dakika sürer, çünkü uygulama kutunun (konteynerin) içinde derlenir. Sonraki açılışlar saniyeler sürer.
Gerekenler
- Docker Desktop (Mac, Windows) ya da Docker Engine ile Docker Compose (Linux). Windows'ta Docker Desktop için WSL 2 (Windows içinde Linux çalıştıran bileşen) ve sanallaştırmanın (virtualization) açık olması gerekir.
- Git. Yoksa GitHub sayfasındaki Code → Download ZIP de olur.
- Yaklaşık 2 GB boş disk ve ilk derleme sırasında 2 GB boş bellek.
Adımlar
- Depoyu (proje dosyalarını) indirin ve klasörüne girin:
git clone https://github.com/ucsahinn/seotracker.git
cd seotracker- Uygulamayı başlatın:
docker compose up -dBaşka bir şey gerekmez, .env dosyası da yok. Şifreleme anahtarı ve asistan parolası ilk açılışta kendiliğinden üretilir ve Docker'ın veri deposunda (birim) saklanır.
- İlerlemeyi görmek isterseniz şunu yazın:
docker compose logs -f- Bekleyin. Günlükte "Building client + server" satırı ilk derlemedir.
docker compose psçıktısında durum healthy olana kadar bekleyin, sonra tarayıcıdahttp://localhost:3001adresini açın.
Sonraki adım: Google'a bağlanma kılavuzu. Docker'da Google'a vereceğiniz iki yönlendirme adresi şunlar:
http://localhost:3001/api/gsc/oauth/callbackhttp://localhost:3001/api/ga4/oauth/callback
Güncelleme
Şu iki komutu çalıştırın:
git pull
docker compose up -d --buildAyarlar → Hakkında yeni sürümü haber verir ve bu iki komutu gösterir. Veriniz seotracker_data adlı veri deposunda durduğu için güncelleme onu silmez.
Durdurma ve kaldırma
- Durdurmak için:
docker compose stop - Yeniden başlatmak için:
docker compose up -d - Kutuyu kaldırıp veriyi korumak için:
docker compose down - Veriyi de silmek için:
docker compose down -v. Bu komut veritabanını, Google bağlantılarını ve raporları kalıcı olarak siler.
Yedekleme
Veriniz seotracker_data deposunda, kutunun içindeki /app/.wrangler yolundadır. Yedek almak için üç komutu sırayla çalıştırın:
docker compose stop
docker run --rm -v seotracker_data:/data -v "$PWD":/backup alpine tar czf /backup/seotracker-yedek.tgz -C /data .
docker compose up -dGeri yüklerken aynı komutta tar czf yerine tar xzf kullanın. Veri deposundaki instance-secret dosyası Google bağlantılarını şifreleyen anahtardır. Yedekte o dosya yoksa uygulama açılır ama Google bağlantıları gelmez.
Ayarlar (isteğe bağlı)
Hiçbir ayar zorunlu değil. Değiştirmek isterseniz proje klasörüne bir .env dosyası koyun. Sonra docker compose up -d --force-recreate seotracker komutunu çalıştırın.
| Ayar adı | Ne işe yarar |
|---|---|
| PORT | Adres numarası, varsayılan 3001. Değişince Google yönlendirme adresleri de değişir |
| ALLOWED_HOST | Başka bir sunucunun arkasındaysanız dışarıdan görünen ad. Boşsa yalnızca localhost |
| AUTH_MODE | local_noauth (varsayılan) ya da cloudflare_access |
| BETTER_AUTH_SECRET | Şifreleme anahtarı. Boş bırakın, uygulama üretir. Elle verirseniz en az 32 karakter olsun, sonra değiştirmeyin |
| GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET | Ayarlar ekranına girmenin alternatifi. Ekrana girilen değer önceliklidir |
| PAGESPEED_API_KEY | Ayarlar ekranına girmenin alternatifi |
| MCP_TOKEN | Boşsa ilk açılışta üretilir. off yazarsanız parola istenmez. Başka değer olduğu gibi kullanılır |
Kontrol
docker compose psçıktısında durum healthy olmalı. İlk açılışta buna ulaşmak beş dakikaya kadar sürebilir.curl.exe http://127.0.0.1:3001/api/health(Windows'ta; Mac ve Linux'tacurl) çıktısı "status":"ok" ile başlamalı. Bu adresi tarayıcıda da açabilirsiniz.- Tarayıcıda
http://localhost:3001açılmalı. Yardım ekranındaki durum kartı "Her şey yolunda." demeli. Google'a bağlanmadan önce "Google girişi" satırı uyarı gösterir. Bu normaldir.
Sık sorulanlar
İlk açılış neden uzun sürüyor? Uygulama kutunun içinde derlenir. Sonraki açılışlarda derleme atlanır.
.env.example dosyası nerede? Yok. Üst projeden gelen o dosya bu sürümde bulunmayan özellikleri anlatıyordu. Tam liste yukarıdaki tabloda ve docs/ENVIRONMENT.md dosyasında.
İnternete açabilir miyim? Uygulama kimlik sormaz. Önüne kendi kimlik doğrulamanızı koymadan internete açmayın. ALLOWED_HOST ayarlarsanız uygulama sağlık kontrolünde sizi uyarır.
Asistanımın parolasını nereden alırım? Uygulamadaki Ajan kurulumu ekranı komutu gösterir: docker compose exec -T seotracker cat /app/.wrangler/mcp-token. Git Bash kullanıyorsanız başına MSYS_NO_PATHCONV=1 ekleyin.
Sorun çıkarsa
- "Bind for 127.0.0.1:3001 failed" yazıyor. Adres numarası (port) başka bir programda kullanılıyor. Proje klasörüne
PORT=3002satırlı bir.envkoyun ve kutuyu yeniden oluşturun. Windows'ta Not Defteri dosyayı.env.txtadıyla kaydedebilir. PowerShell'deSet-Content -Encoding ascii .env 'PORT=3002'güvenlidir. - Durum "unhealthy".
docker compose logs --tail 50son satırları gösterir. Derleme sırasında bellek bittiyse Docker Desktop'a daha fazla bellek verin. - Google bağlantısı "yapılandırılmamış" diyor.
BETTER_AUTH_SECRET32 karakterden kısaysa Google kapalı kalır. Elle verdiyseniz uzatın. Vermediyseniz veri deposundakiinstance-secretdosyası bozulmuş olabilir. - Güncellemeden sonra Google bağlantısı koptu.
BETTER_AUTH_SECRETdeğişmiş ya da veri deposu yeniden oluşturulmuş olabilir. Proje ayarlarında Yeniden bağlan deyin.