QueryProxy
Doküman menüsü

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 --show ile üretin, -e APP_KEY=... olarak geçin ve rotasyonu APP_PREVIOUS_KEYS ile 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ıdaki docker run doğ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:

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

  1. 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).
  2. DBA olarak bir veritabanı bağlantısı ekleyin (Connections → New connection), Test ile doğrulayın ve Grants ile geliştiricilerinize tanımlayın.
  3. Developer olarak Query Studio’yu açın, bağlantıyı seçin, sorguyu yazın ve gönderin.
  4. 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

Gezinmek için ok tuşları, açmak için Enter.