Plausible Community Edition Docker Compose ile nasıl kurulur
Plausible Analytics Community Edition'ı Docker Compose, PostgreSQL ve ClickHouse ile Caddy HTTPS arkasında kurun, e-postayı ayarlayın ve yedekleyin.
- Orta
- 40 dk okuma
- Güncellendi
Denendiği sistemler: Ubuntu 24.04 LTS, Ubuntu 26.04 LTS, Debian 12, Debian 13
Bu sayfada
- Ön koşullar
- Adım 1 — CPU'yu kontrol edin ve git kurun
- Adım 2 — Güncel sürümü klonlayın
- Adım 3 — .env dosyasını oluşturun
- Adım 4 — Plausible'ı loopback adresinde yayınlayın
- Adım 5 — Plausible'ı Caddy ile HTTPS üzerinden sunun
- Adım 6 — Hesabınızı oluşturun ve bir site ekleyin
- Adım 7 — E-postayı yapılandırın
- Yedekleme ve geri yükleme
- Plausible CE güncelleme
- Sorun giderme
- plausible_events_db sürekli yeniden başlıyor
- Bind for 127.0.0.1:8000 failed: port is already allocated
- Panelde hiç ziyaret görünmüyor
- Davet veya parola sıfırlama e-postaları hiç gelmiyor
- E-postalardaki bağlantılar yanlış adrese gidiyor
- Sonraki adımlar
Plausible Analytics; ziyaretçiler, sayfalar, kaynaklar, konumlar, cihazlar, hedefler ve özel olaylar için tek sayfalık bir panel sunan, hafif ve gizlilik odaklı bir web analitiği aracıdır. Plausible Community Edition (CE) bunun kendi sunucunuzda çalışan sürümüdür: Plausible uygulaması, hesaplar ve ayarlar için PostgreSQL ve olay verileri için ClickHouse olmak üzere üç konteynerle çalışır. Plausible CE açık kaynaklıdır.
Bu rehber Plausible'ın resmi community-edition deposunu ve wiki sayfalarını izler. Güncel sürümü klonlar, BASE_URL ve SECRET_KEY_BASE ile .env dosyasını oluşturur, Plausible'ı bir Compose override dosyasıyla 127.0.0.1:8000 üzerinde yayınlar ve Caddy ile HTTPS üzerinden sunarsınız. Ardından ilk hesabı oluşturur, kaydı davetle sınırlı tutar, bir SMTP relay bağlar ve iki veritabanını nasıl yedekleyeceğinizi, geri yükleyeceğinizi ve yükselteceğinizi öğrenirsiniz.
Ön koşullar
- Ubuntu 24.04 LTS, Ubuntu 26.04 LTS, Debian 12 veya Debian 13 çalıştıran bir sunucu.
sudoyetkisine sahip, root olmayan bir kullanıcı. Yeni bir Linux sunucusunu güvenli hale getirin ve SSH anahtarlarını ayarlayın rehberlerine bakın.- Compose eklentisiyle birlikte Docker Engine: Ubuntu'ya Docker kurulumu veya Debian'a Docker kurulumu. Ayrıca
gitgerekir. - Caddy ile reverse proxy rehberinde anlatıldığı gibi sunucuya kurulmuş Caddy.
- Sunucunuza yönlenen bir A kaydına (IPv6 kullanıyorsanız AAAA kaydına da) sahip
plausible.example.comgibi bir alan adı.
Plausible'ın README dosyası iki donanım gereksinimi listeler; proje disk için bir değer yayınlamaz, bu yüzden o satır resmi ya da ölçülmüş bir rakam değil, temkinli bir başlangıç noktasıdır:
| Kaynak | En düşük (resmi) | Önerilen başlangıç |
|---|---|---|
| CPU | SSE 4.2 destekli x86-64 veya NEON destekli ARM (ClickHouse için gerekli) | 2 vCPU |
| Bellek | En az 2 GB RAM önerilir | 2 GB RAM, yoğun siteler için 4 GB |
| Disk | Yayınlanmıyor | 20 GB; ClickHouse verisi izlenen her olayla büyür |
Adım 1 — CPU'yu kontrol edin ve git kurun
ClickHouse, SSE 4.2 (x86-64) veya NEON (ARM) desteği olmayan bir CPU'da başlamaz. Sunucunuzun bildirdiği özellikleri kontrol edin:
grep -m1 -o -w sse4_2 /proc/cpuinfo || echo "sse4_2 not reported"
uname -m
sudo apt update
sudo apt install gitx86_64 bir sunucuda ilk komut sse4_2 yazmalıdır. aarch64 bir sunucuda bunun yerine grep -m1 -o -w asimd /proc/cpuinfo ile asimd arayın; Linux NEON desteğini bu adla bildirir.
Adım 2 — Güncel sürümü klonlayın
community-edition deposunda her sürüm için bir dal (branch) bulunur. Bu rehber yazılırken güncel sürüm v3.2.1'dir; daha yeni bir sürüm için Plausible sürümlerine bakın ve aşağıdaki komutlarda onun adını kullanın:
sudo mkdir -p /opt/plausible-ce && sudo chown $USER:$USER /opt/plausible-ce
git clone -b v3.2.1 --single-branch https://github.com/plausible/community-edition /opt/plausible-ce
cd /opt/plausible-ce
lscompose.yml dosyasını, ClickHouse yapılandırma dosyalarını içeren bir clickhouse klasörünü ve README dosyasını görmelisiniz. compose.yml, eşleşen imajı (burada ghcr.io/plausible/community-edition:v3.2.1) postgres:16-alpine ve bir ClickHouse sunucu imajıyla birlikte sabitler. compose.yml dosyasını düzenlemeyin; sonraki git pull yükseltmeleri sorunsuz kalsın diye değişikliklerinizi .env ve compose.override.yml dosyalarına yazın.
Adım 3 — .env dosyasını oluşturun
.env dosyasını oluşturun, yalnızca kendi kullanıcınızın okuyabileceği hale getirin ve iki zorunlu değeri ekleyin. BASE_URL kurulumunuzun herkese açık adresidir; SECRET_KEY_BASE ise Plausible belgelerindeki komutla üretilen, en az 64 baytlık bir gizli değerdir:
cd /opt/plausible-ce
touch .env
chmod 600 .env
echo "BASE_URL=https://plausible.example.com" >> .env
echo "SECRET_KEY_BASE=$(openssl rand -base64 48)" >> .env
echo "HTTP_PORT=8000" >> .env
echo "DISABLE_REGISTRATION=invite_only" >> .env
cat .envHTTP_PORT=8000, wiki'deki reverse proxy sayfasında anlatıldığı gibi Plausible'ın konteyner içinde düz HTTP ile dinlemesini sağlar; HTTPS_PORT değerini eklememek de dahili TLS özelliğini kapalı tutar. DISABLE_REGISTRATION=invite_only zaten varsayılandır; değeri açıkça yazmak tercihi görünür kılar.
Adım 4 — Plausible'ı loopback adresinde yayınlayın
compose.yml dosyasının yanında compose.override.yml oluşturun:
nano /opt/plausible-ce/compose.override.ymlKonteyner portunu, Plausible'ın reverse proxy rehberindeki gibi 127.0.0.1:8000 adresine eşleyin:
services:
plausible:
ports:
- 127.0.0.1:8000:${HTTP_PORT}Yığını başlatın. İlk başlatma imajları çeker, PostgreSQL veritabanını oluşturur ve uygulama başlamadan önce geçişleri çalıştırır:
cd /opt/plausible-ce
docker compose up -d
docker compose ps
docker compose logs plausible --tail 30
curl --head http://127.0.0.1:8000docker compose ps çıktısında plausible, plausible_db ve plausible_events_db listelenmeli, iki veritabanı da healthy görünmelidir. curl komutu HTTP/1.1 200 OK döndürmelidir.
Adım 5 — Plausible'ı Caddy ile HTTPS üzerinden sunun
/etc/caddy/Caddyfile dosyasına BASE_URL içindeki alan adı için bir site bloğu ekleyin:
plausible.example.com {
reverse_proxy 127.0.0.1:8000
}Caddy'yi yeniden yükleyin, güvenlik duvarını yalnızca web trafiğine açın ve herkese açık adresi test edin:
sudo systemctl reload caddy
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
curl -I https://plausible.example.comCaddy'deki alan adı BASE_URL ile tam olarak eşleşmelidir; çünkü Plausible bağlantı üretmek ve panel bağlantılarının kaynağını kontrol etmek için BASE_URL kullanır. Caddy ziyaretçinin adresini X-Forwarded-For başlığıyla iletir; Plausible tekil ziyaretçileri saymak için bunu kullanır. Wiki'de Nginx ve Apache örnekleri de vardır; Nginx tercih ediyorsanız Nginx ve Certbot rehberine bakın.
Adım 6 — Hesabınızı oluşturun ve bir site ekleyin
https://plausible.example.com adresini hemen açın ve ilk kullanıcıyı kaydedin: bu hesap oluşana kadar adrese ulaşan herkes onu oluşturabilir. Uzun ve benzersiz bir parola kullanın ve hesap ayarlarınızda iki aşamalı doğrulamayı açın.
Ardından ilk web sitenizi alan adıyla ekleyin ve Plausible'ın gösterdiği izleme kodunu kopyalayın. Kodu o sitenin her sayfasının head bölümüne yapıştırın. Plausible 3.1 yeni bir izleme betiği ve kod parçası getirdi; eski sürümlerle kurulan betikler çalışmaya devam eder. Sitenizi bir tarayıcıda açın ve paneli kontrol edin: ziyaret bir dakika içinde gerçek zamanlı görünümde belirmelidir.
DISABLE_REGISTRATION=invite_only ile diğer kişiler yalnızca Plausible'dan gönderdiğiniz bir davetle katılabilir. Yeni hesap hiç istemiyorsanız .env içinde DISABLE_REGISTRATION=true yapın ve docker compose up -d çalıştırın.
Adım 7 — E-postayı yapılandırın
Plausible davetler, parola sıfırlama, e-posta doğrulama ve zamanlanmış raporlar için e-posta gönderir. SMTP_HOST_ADDR olmadan e-postaları doğrudan alıcıların posta sunucularına teslim etmeye çalışır; bu yüzden bunun yerine bir transactional e-posta sağlayıcısının SMTP relay sunucusunu yapılandırın.
Relay ayarlarını .env dosyasına ekleyin ve konteyneri yeniden oluşturun:
cd /opt/plausible-ce
echo "[email protected]" >> .env
echo "MAILER_NAME=Plausible" >> .env
echo "SMTP_HOST_ADDR=smtp.example.com" >> .env
echo "SMTP_HOST_PORT=587" >> .env
echo "SMTP_USER_NAME=your-smtp-username" >> .env
echo "SMTP_USER_PWD=change-me" >> .env
docker compose up -dMAILER_EMAIL gönderen adrestir ve sağlayıcınızın gönderime izin verdiği bir alan adına ait olmalıdır. Plausible'da SMTP_HOST_PORT için varsayılan değer de 587'dir; bu port için SMTP_HOST_SSL_ENABLED değerini varsayılan false olarak bırakın. Plausible'da ayrıca Postmark, Mailgun, Mandrill ve SendGrid için MAILER_ADAPTER ve ilgili API anahtarı değişkeniyle seçilen API bağdaştırıcıları vardır. Bir çalışma arkadaşınızı davet ederek veya parola sıfırlama isteyerek teslimatı test edin; hiçbir şey gelmezse docker compose logs plausible --tail 50 çıktısını kontrol edin.
Yedekleme ve geri yükleme
Plausible CE durumunu iki veritabanında tutar: PostgreSQL (plausible_db) kullanıcıları, siteleri, hedefleri ve ayarları; ClickHouse (plausible_events_db) ise her sayfa görüntülemeyi ve olayı saklar. İkisini de, ayrıca .env ve compose.override.yml dosyalarınızı yedekleyin. PostgreSQL dökümü Plausible çalışırken alınabilir. ClickHouse verisi, Docker'ın bir volume'u yedeklemek için belgelediği yöntemle, konteynerler durdurulmuşken bir volume arşivi olarak kopyalanır; bu birkaç dakika içinde gelen izleme istekleri kaybolur, bu yüzden işlemi sakin bir zamanda yapın.
Compose, volume adlarının başına proje klasörünün adını ekler; bu yüzden adları plausible-ce_db-data, plausible-ce_event-data gibidir. docker volume ls ile doğrulayın, ardından çalıştırın:
sudo mkdir -p /opt/backups && sudo chown $USER:$USER /opt/backups && chmod 700 /opt/backups
cd /opt/plausible-ce
docker compose exec -T plausible_db pg_dump -U postgres -Fc plausible_db > /opt/backups/plausible-db-$(date +%F).dump
docker compose stop plausible plausible_events_db
docker run --rm -v plausible-ce_event-data:/data -v /opt/backups:/backup alpine tar czf /backup/plausible-events-$(date +%F).tar.gz -C /data .
docker compose up -d
tar czf /opt/backups/plausible-config-$(date +%F).tar.gz -C /opt/plausible-ce .env compose.override.yml
ls -lh /opt/backupsÜç dosyayı sunucunun dışına kopyalayın. Geri yüklemek için Adım 2'deki aynı sürümü klonlayın, .env ve compose.override.yml dosyalarını /opt/plausible-ce içine geri koyun ve iki veritabanını yükleyin. ClickHouse verisini yalnızca geldiği ClickHouse sürümüne, yani aynı sürüm dalının sabitlediği sürüme geri yükleyin.
cd /opt/plausible-ce
docker compose down
docker volume rm plausible-ce_db-data plausible-ce_event-data
docker compose create
docker run --rm -v plausible-ce_event-data:/data -v /opt/backups:/backup alpine tar xzf /backup/plausible-events-2026-10-09.tar.gz -C /data
docker compose up -d --wait plausible_db
docker compose exec -T plausible_db createdb -U postgres plausible_db
docker compose exec -T plausible_db pg_restore -U postgres -d plausible_db < /opt/backups/plausible-db-2026-10-09.dump
docker compose up -dTarihleri kendi yedek dosyalarınızınkilerle değiştirin. docker compose create boş volume'ları ve konteynerleri başlatmadan yeniden oluşturur; böylece ClickHouse ilk başlangıcında geri yüklenen dosyaları bulur. Giriş yapın ve sitelerinizin ve geçmiş verilerinin geri geldiğini kontrol edin.
Plausible CE güncelleme
Mevcut sürümünüzle yeni sürüm arasındaki her sürümün sürüm notlarını okuyun ve önce yedek alın. Plausible wiki'si güvenlik yamalarının ve hata düzeltmelerinin eski sürümlere taşınmadığını belirtir; bu yüzden güncel kalın. Örneğin v3.2.1, v3.0.0-rc.0 ile v3.2.0 arasındaki sürümleri etkileyen uzaktan kod çalıştırma açığını kapattı. Wiki'deki yükseltme yöntemi yeni sürüm dalını klonunuza çeker ve konteynerleri yeniden oluşturur:
cd /opt/plausible-ce
git pull origin v3.2.1
docker compose up -d
docker compose ps
docker image prunev3.2.1 yerine sürüm notlarında adı geçen sürüm dalını yazın. Ayarlarınız git'in izlemediği .env ve compose.override.yml dosyalarında durduğu için git pull yalnızca compose.yml dosyasını ve ClickHouse yapılandırmasını günceller. v3.2.0 gibi bazı sürümler tam olarak bu ClickHouse ayarlarını değiştirir; sürüm notlarının yalnızca imaj etiketini değiştirmek yerine dal değiştirmenizi istemesinin nedeni budur. Geçişler uygulama konteyneri başlarken kendiliğinden çalışır. PostgreSQL ana sürüm yükseltmeleri döküm ve geri yükleme gerektirir; bir sürüm bunu istediğinde wiki'deki Upgrade PostgreSQL sayfasını izleyin.
Sorun giderme
plausible_events_db sürekli yeniden başlıyor
ClickHouse başlayamıyor. docker compose logs plausible_events_db --tail 50 çıktısını okuyun. x86-64 üzerinde SSE 4.2 desteğinin olmaması kesin bir engeldir; Adım 1'i kontrol edin. Loglar bellekten söz ediyorsa sunucuya daha fazla RAM verin; depodaki clickhouse klasörü zaten düşük kaynak ayarlarını uygular.
Bind for 127.0.0.1:8000 failed: port is already allocated
Sunucudaki başka bir servis 8000 numaralı portu kullanıyor. Boş bir port seçin, .env içindeki HTTP_PORT değerini ve compose.override.yml içindeki eşlemenin sol tarafını (örneğin 127.0.0.1:8100:${HTTP_PORT}) değiştirin, Caddy site bloğunu buna göre güncelleyin ve docker compose up -d çalıştırın.
Panelde hiç ziyaret görünmüyor
Kodun sayfada olduğunu ve Plausible'a eklediğiniz alan adının sitenizin sunucu adıyla eşleştiğini kontrol edin. Sitenizde tarayıcının geliştirici araçlarını açın ve Plausible alan adınıza giden engellenmiş bir istek arayın; reklam engelleyiciler analitik betiklerini sık sık engeller. BASE_URL değerinin koddaki adresle eşleştiğini de doğrulayın.
Davet veya parola sıfırlama e-postaları hiç gelmiyor
docker compose logs plausible --tail 100 çalıştırın ve SMTP hatalarını arayın. Tipik nedenler yanlış sunucu adı veya port, 587 numaralı portla birlikte ayarlanmış SMTP_HOST_SSL_ENABLED=true, sağlayıcınızın izin vermediği bir MAILER_EMAIL adresi ya da .env düzenlendikten sonra unutulan docker compose up -d komutudur.
E-postalardaki bağlantılar yanlış adrese gidiyor
BASE_URL, kullanıcıların açtığı adresle eşleşmiyor. Değeri alt alan adı dahil tam HTTPS adresine ayarlayın, docker compose up -d çalıştırın ve Caddy site bloğunun aynı alan adını kullandığından emin olun.
Sonraki adımlar
- Başka bir hafif araçla karşılaştırın: Umami nasıl kurulur.
- E-ticaret raporları ve klasik bir PHP yığını mı gerekiyor? Matomo nasıl kurulur rehberine bakın.
- Override dosyaları hakkında daha fazlasını Docker Compose temelleri rehberinde öğrenin.
- Kendi sunucunuzda analitik için sunucuları web analitiği hosting sayfasında inceleyin.
- Tüm yapılandırma seçenekleri için Plausible CE wiki sayfasını okuyun.
Sık sorulan sorular
Plausible CE verilerini nerede saklar?
İki veritabanında: PostgreSQL kullanıcıları, siteleri, hedefleri ve ayarları; ClickHouse ise her sayfa görüntülemeyi ve olayı tutar. İkisi de compose.yml içinde tanımlı konteynerlerde çalışır; bu yüzden ikisini de .env ve compose.override.yml dosyalarıyla birlikte yedekleyin.
Plausible CE neden SSE 4.2 veya NEON destekli bir CPU ister?
Plausible olayları ClickHouse'ta saklar; ClickHouse da x86-64 üzerinde SSE 4.2, ARM üzerinde NEON komut setini gerektirir. Kurulumdan önce sunucunuzun CPU özelliklerini kontrol edin.
Plausible CE reverse proxy olmadan HTTPS sağlayabilir mi?
Evet. 2.1.2 sürümünden beri HTTP_PORT 80 ve HTTPS_PORT 443 olduğunda Let's Encrypt sertifikalarını kendisi alabilir. Bu rehber aynı sunucunun 80 ve 443 numaralı portlarda başka web uygulamaları da barındırabilmesi için Caddy kullanır.
Plausible kurulumuma herkes kaydolabilir mi?
Varsayılan olarak hayır. DISABLE_REGISTRATION varsayılan olarak invite_only değerindedir; ilk hesabı oluşturduktan sonra yeni kullanıcılar yalnızca davetle katılabilir. Kaydı tamamen kapatmak için değeri true yapın.
Plausible CE hangi HyperDC sunucularında çalışır?
Plausible CE; root erişiminiz, desteklenen bir Ubuntu veya Debian sürümünüz ve SSE 4.2 veya NEON bildiren bir CPU'su olan her HyperDC Linux VPS, VDS veya dedicated sunucuda Docker içinde çalışır.
Kaynaklar
- github.com/plausible/community-edition
- github.com/plausible/community-edition/wiki
- github.com/plausible/community-edition/wiki/configuration
- github.com/plausible/community-edition/wiki/reverse-proxy
- github.com/plausible/community-edition/wiki/Upgrade
- github.com/plausible/community-edition/wiki/Upgrade-PostgreSQL
- raw.githubusercontent.com/plausible/community-edition/v3.2.1/compos…
- github.com/plausible/analytics
- github.com/plausible/analytics/releases