Automatia BCN
ABS
setupsetup-guide

ABS: Kurulum Rehberi

`git clone`'dan çalışan ABS'ye yaklaşık 5 dakika.

Bu rehber, kendi ABS örneğinizi Docker Compose ile devreye almanız için adım adım yol gösterir. github.com/automatiabcn/abs reposu artık public, GHCR token veya e-posta eki gerekmez. Hoş geldin e-postanızdaki ABS_LICENSE_KEY ihtiyaç duyduğunuz tek gizli değerdir.

1. Sunucunuzu hazırlayın

ABS, Docker çalıştırabilen herhangi bir Linux sunucuda çalışır. Ubuntu 22.04+, 2 vCPU, 4 GB RAM ve 40 GB disk öneririz, Hetzner CX22 (€3,79/ay) ideal. Sunucunun public IP'sine bir DNS A kaydı (örnek abs.alanadiniz.com) yönlendirin, 22/80/443 portlarını açın, sonra Docker'ı kurun. Compose dosyasındaki Caddy, DNS çözüldüğünde TLS sertifikasını otomatik alır.
# Any Linux host with Docker. Hetzner CX22 (€3.79/mo) works great.
# Point an A record at the server's public IP first.
sudo ufw allow 22/tcp && sudo ufw allow 80/tcp && sudo ufw allow 443/tcp && sudo ufw enable
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER   # then: log out, log back in
docker run hello-world

2. Public repoyu klonlayın

ABS public bir GitHub reposunda yer aldığı için kodu almak tek komut. Tercih ettiğiniz dizine git clone yapın, ardından env şablonunu kopyalayın. İhtiyaç duyduğunuz her şey, docker-compose.yml, Caddyfile ve .env.example, repoda gelir.
git clone https://github.com/automatiabcn/abs.git
cd abs
cp .env.example .env

3. .env dosyasını doldurun

.env dosyasını açın ve ABS_LICENSE_KEY (hoş geldin e-postanızdan), ABS_PUBLIC_HOSTNAME (sunucuya yönlendirdiğiniz domain) ile ABS_ACME_EMAIL (Let's Encrypt kullanıyor) değerlerini girin. Sağlayıcı API anahtarları opsiyoneldir, yalnızca kullanmak istediklerinizi yapıştırın (Anthropic, OpenAI, Groq, Cohere). Boş bırakıp daha sonra admin arayüzünden de ekleyebilirsiniz.
nano .env
# Required:
#   ABS_LICENSE_KEY=...        (from your welcome email, sent within 24h)
#   ABS_PUBLIC_HOSTNAME=abs.yourdomain.com
#   ABS_ACME_EMAIL=you@yourdomain.com
# Optional provider keys (only the ones you plan to use):
#   ANTHROPIC_API_KEY=sk-ant-...
#   OPENAI_API_KEY=sk-...
#   GROQ_API_KEY=gsk_...
#   COHERE_API_KEY=...

4. ABS'yi ayağa kaldırın

SetupGuide.section4Body
docker compose up -d
docker compose ps          # backend should be "healthy" in ~30s
curl https://abs.yourdomain.com/healthz   # → {"ok":true}

5. İlk-çalıştırma admin onboarding

Tarayıcınızda https://abs.alanadiniz.com/setup adresini açın. Sihirbaz sizi yönetici e-posta + parola, opsiyonel vault anahtarı (at-rest şifreleme için), .env'de tanımladığınız sağlayıcı anahtarlarının onayı ve son olarak aktivasyon worker'ımıza karşı lisans JWT doğrulaması adımlarından geçirir. Bu kadar, özel ABS'nizle sohbete başlayabilirsiniz.
# Open in your browser:
# https://abs.yourdomain.com/setup
# Wizard:
#   1. Admin email + password
#   2. Optional vault key
#   3. Confirm provider keys (already in .env)
#   4. License JWT validation

Sorun Giderme

Kurulum sorunlarının çoğu DNS, firewall veya lisans anahtarındaki bir yazım hatasıyla ilgilidir. En sık karşılaştığımız sorunların hızlı çözümleri aşağıda.

Lisans aktivasyonu başarısız

docker compose logs backend çıktısında license invalid veya license unreachable görüyorsanız, .env içindeki ABS_LICENSE_KEY değerini iki kere kontrol edin (tırnak yok, boşluk yok) ve backend'in aktivasyon worker'ımıza erişebildiğinden emin olun. Repo public olduğu için taze bir git pull ile son düzeltmeleri de almış olursunuz.
cd abs && git pull origin main
# License activation fails?
curl -I https://abs-license-activation.automatiaabs.workers.dev
docker compose logs backend | tail -50 | grep -i license

Saat sapması lisansı reddediyor

JWT doğrulaması zamana karşı katıdır. Sunucu saati ~30 saniyeden fazla saparsa aktivasyon başarısız olur. sudo timedatectl set-ntp true ile NTP'yi açın ve docker compose up -d komutunu yeniden çalıştırın.
sudo timedatectl set-ntp true
sudo timedatectl status        # ensure clock is in sync
curl -I https://abs-license-activation.automatiaabs.workers.dev

Caddy sertifika alamıyor

https://abs.alanadiniz.com yüklenmiyorsa, DNS A kaydının sunucuya yönlü olduğundan (dig +short abs.alanadiniz.com) ve 80/443 portlarının ufw'de açık olduğundan emin olun. Caddy logları (docker compose logs caddy) Let's Encrypt'in tam olarak neyi reddettiğini söyler.
dig +short abs.yourdomain.com
sudo ufw status
docker compose logs caddy | tail -50

Backend belleği yetmiyor

2 GB'lık sunucularda model ısınırken ilk açılışta OOM görebilirsiniz. docker stats ve free -h ile kontrol edin. Çözüm ya VPS'i 4 GB'a yükseltmek (CX22 varsayılanı), ya da admin arayüzünden yerel model listesini sadece kullandığınız sağlayıcılarla sınırlandırmaktır.
docker stats --no-stream
docker compose logs backend | grep -i 'oom\|memory'
# free -h to check host memory

Landing sayfası açılmıyor

Marketing landing 502 dönüyorsa, en sık nedeni .env içinde ABS_PUBLIC_URL değerinin eksik olmasıdır (https://abs.alanadiniz.com ile aynı olmalı). Değeri ekleyin ve docker compose restart landing komutunu çalıştırın.
docker compose logs landing | tail -50
# In .env, ensure:
# ABS_PUBLIC_URL=https://abs.yourdomain.com
docker compose restart landing

Takıldınız mı? Yardım edelim.

Hoş geldin e-postanıza cevap verin veya info@automatiabcn.com adresine yazın. AB iş saatlerinde tipik yanıt süremiz 4 saatin altıdır.

ABS
ABS Kurulum Rehberi | Automatia BCN