Hızlı başlangıç
QueryProxy'yi Docker ile yaklaşık iki dakikada çalıştırın — tek konteyner portalı, kuyruk işçisini ve zamanlayıcıyı başlatır.
Güncelleme:
QueryProxy’yi çalıştırmanın en hızlı yolu tek bir konteyner. Ne compose dosyası gerekir ne de harici bir servis.
docker run -d --name queryproxy \
-p 7432:7432 \
-v queryproxy-data:/var/www/html/storage/app \
-e [email protected] \
-e QUERYPROXY_ADMIN_PASSWORD='guclu-bir-parola-secin' \
queryproxy/queryproxy
Ardından http://localhost:7432 adresini açıp bu e-posta ile giriş yapın.
Tek konteynerin içinde üç süreç çalışır:
| Süreç | Görevi |
|---|---|
| Web portalı | nginx + php-fpm, root olmayan bir kullanıcıyla |
| Kuyruk işçisi | Onaylanan sorgular burada çalışır |
| Zamanlayıcı | Bakım işleri (sonuç saklama süresi budama, kuyruk bakımı) |
İlk açılışta uygulama anahtarı üretilir, migration’lar çalışır ve SQLite
veritabanı oluşturulur. Konteyner değiştiğinde korunması gereken her şey — o
veritabanı, üretilen anahtar ve sonuç dosyaları — tek bir
/var/www/html/storage/app volume’ünde durur. İmaj ayrıca
http://localhost:7432/up adresini yoklayan bir Docker HEALTHCHECK tanımlar.
İmajlar her sürümde linux/amd64 ve linux/arm64 için hem
Docker Hub
(queryproxy/queryproxy) hem de GitHub Container Registry
(ghcr.io/queryproxy/queryproxy) üzerinde, latest ve sürüm etiketleriyle
yayınlanır.
Üretimde
APP_KEY’i açıkça verin ve sabit tutun. Bu anahtar saklanan bağlantı kimlik bilgilerinizi şifreler; volume kaybolur ve anahtar yeniden üretilirse bu bilgiler okunamaz hale gelir. Anahtarıdocker run --rm queryproxy/queryproxy php artisan key:generate --showile üretin,-e APP_KEY=...olarak geçin ve rotasyonuAPP_PREVIOUS_KEYSile yapın.
Bir ters vekilin arkasına koyacaksanız
TRUSTED_PROXIES’i ayarlayın. Bu sürümden itibaren hiçbir vekile varsayılan olarak güvenilmez; ayarlanmadan HTTPS algılanmaz ve denetim kayıtlarına istemcinin değil vekilin adresi düşer.*değerini asla kullanmayın — Yapılandırma ayrıntıları anlatıyor. Yukarıdakidocker rundoğrudan erişilen bir kurulumdur ve bir şey ayarlamanızı gerektirmez.
Yönetici hesabınız
QueryProxy’de herkese açık kayıt yoktur ve yeni bir kurulumda hiç hesap
bulunmaz. Yukarıdaki QUERYPROXY_ADMIN_EMAIL / QUERYPROXY_ADMIN_PASSWORD
değişkenleri ilk açılışta yönetici hesabını oluşturur. Kurulumda herhangi bir
kullanıcı olduğu anda yok sayılırlar, dolayısıyla yeniden başlatmalarda yerinde
kalmaları sorun çıkarmaz.
Hesabı elle oluşturmak — ya da sonradan başka bir yönetici eklemek — için:
docker exec -it queryproxy php artisan queryproxy:create-admin
Demo hesaplar
Demo tohumlama varsayılan olarak kapalıdır. Örnek veriyle denemek için
QUERYPROXY_SEED_DEMO=true ayarlayın. Bu, genel bir yönetici ile bir DBA, bir developer ve bir auditor içeren
bir demo takımı oluşturur:
| Rol | E-posta |
|---|---|
| Admin | [email protected] |
| DBA | [email protected] |
| Developer | [email protected] |
| Auditor | [email protected] |
Dördü de rastgele üretilen tek bir parolayı paylaşır; bu parola konteyner
loglarında (docker logs queryproxy) bir kez yazdırılır — sabit bir
varsayılan parola yoktur. Güvenlik için, QUERYPROXY_SEED_DEMO_FORCE=true
ayarlanmadıkça tohumlayıcı APP_ENV=production iken çalışmayı reddeder.
Ürünü keşfetmek için her rolle giriş yapın: DBA bağlantı oluşturur ve talepleri onaylar, geliştirici sorgu gönderir, denetçi izleri okur.
Compose tercih ederseniz
Depoda aynı tek servisi tanımlayan bir docker-compose.yml var; işçiyi ayrı bir
konteynerde çalıştırmak veya uygulama veritabanını MySQL/PostgreSQL’e yöneltmek
için yorum satırlarındaki bloklar da hazır:
git clone https://github.com/QueryProxy/QueryProxy.git
cd QueryProxy
docker compose up -d
Uçtan uca ilk gerçek talep
- Admin olarak bir takım oluşturun ve kullanıcılarınızı rolleriyle ekleyin (Administration → Teams & Users; üyeler takımın Members ekranından eklenir).
- DBA olarak bir veritabanı bağlantısı ekleyin (Connections → New connection), Test ile doğrulayın ve Grants ile geliştiricilerinize tanımlayın.
- Developer olarak Query Studio’yu açın, bağlantıyı seçin, sorguyu yazın ve gönderin.
- DBA olarak Approvals ekranından onaylayın — işçi sorguyu çalıştırır ve talep sahibi maskelenmiş sonucu görür.
Sonraki adımlar
- Docker’sız kurulum: Manuel kurulum.
- Tüm ortam değişkenleri: Yapılandırma.
- Sohbette onay: Slack entegrasyonu.