Kılavuzlar
Kendi sunucunuzda barındırma
Oloproof çalışma tezgâhını kendi sunucunuzda çalıştırabilirsiniz: şirket içinde, özel bir bulutta veya Kanadalı bir bulut sağlayıcısında. deploy/self-hosted/ içindeki paket, oloproof.com ile aynı iki imajı (web ve worker) ve PostgreSQL'i digest ile çekerek çalıştırır. Verileriniz onu nerede çalıştırıyorsanız orada kalır ve Oloproof'a hiçbir şey gönderilmez.
Gereksinimler
- Docker Engine ve Compose eklentisi kurulu tek bir Linux sunucu. Bir ekip için 4 GB bellek ve 2 CPU yeterlidir; worker 1,5 GB, web 768 MB ile sınırlıdır.
- PostgreSQL için disk. Gönderdiğiniz her çalıştırma orada saklanır.
- HTTPS için bir ters vekil sunucu (Caddyfile.example çalışan bir örnektir; nginx de olur).
- ghcr.io/etobicoke/oloproof erişimi veya kendi kayıt defterinize kopyalanmış imajlar.
Kurulum
cd deploy/self-hosted
sh generate-env.sh # writes .env and fills every secret.env içinde OLOPROOF_WEB_IMAGE, OLOPROOF_WORKER_IMAGE (ikisi de ...@sha256: digest'i) ve OLOPROOF_PUBLIC_URL değerlerini ve en az bir oturum açma yolunu ayarlayın: parolalı hesaplar için e-posta (OLOPROOF_SMTP_URL veya OLOPROOF_RESEND_API_KEY ile birlikte OLOPROOF_MAIL_FROM) ya da bir OAuth sağlayıcısı. Web, bunlardan biri olmadan başlamayı reddeder. Ardından başlatın:
docker compose --env-file .env up -d
curl -fsS http://127.0.0.1:3000/api/healthmigrate hizmeti, web ve worker başlamadan önce veritabanını günceller. Kayıt, OLOPROOF_OPERATOR_TOKEN ile verilen davetle yapılır (deploy/README.md, "Signup").
Yapılandırma
.env.example, web ve worker'ın okuduğu her değişkeni gerekli, üretilmiş veya isteğe bağlı olarak işaretleyerek listeler. Boş bir isteğe bağlı değişken ilgili özelliği kapatır. Üretilen gizli değerleri saklayın: yeni bir veritabanı parolası sizi veritabanının dışında bırakır, yeni bir imza anahtarı ise yeni bir imzacı başlatır. Kendi sunucunuzdaki pakette faturalandırma yoktur, bu yüzden her çalışma alanı ücretsiz katmanın aylık vaka sayılarına sahiptir; ekibiniz için OLOPROOF_FREE_TIER_PUSHED_MONTHLY ve OLOPROOF_FREE_TIER_MANAGED_MONTHLY değerlerini yükseltin.
Varsayılan olarak giden ağ yok
Yığın telemetri göndermez ve hiçbir Oloproof hizmetini çağırmaz. Ağa yalnızca sizin açtıklarınız için çıkar: e-posta (ağınızdaki bir SMTP aktarıcısı veya Resend), OAuth ile oturum açma, Turnstile ve bir çalışma alanının anahtar sakladığı model sağlayıcıları. Bunların hiçbiri ayarlı değilse dışarıya hiçbir rota olmadan çalışır. Ağdan yalıtılmış bir sunucu için üç imajı kendi kayıt defterinize kopyalayın ve imaj değişkenlerini ona yönlendirin. Parolalı hesaplar e-posta gerektirir; bu yüzden yalıtılmış bir ağda OLOPROOF_SMTP_URL değerini ağın içindeki bir aktarıcıya ayarlayın.
Yedekler
sh backup.sh /srv/backups/oloproofbackup.sh, seçtiğiniz dizine sıkıştırılmış bir pg_dump yazar. Bunu cron veya bir systemd zamanlayıcısıyla planlayın ve dizini sunucunun dışına kendiniz kopyalayın. Betik geri yükleme komutunu gösterir.
Döküm .env dosyasını içermez; .env ise OLOPROOF_CONTENT_KEY ve üretilen diğer gizli değerleri tutar: o olmadan geri yüklenen veritabanı şifreli içeriğini okuyamaz. .env dosyasını oluşturduğunuzda ve her değiştirdiğinizde dökümlerden ayrı ve çevrimdışı (bir parola yöneticisi ya da şifreli bir disk) yedekleyin, asla yanlarına koymayın.
Yükseltmeler
Yeni sürümün iki digest'ini .env içine yazın, ardından çalıştırın:
sh upgrade.sh /srv/backups/oloproofYedek alır, çeker, taşır ve web ile worker'ı yeniden başlatır. Kısa bir kesinti bekleyin. Geri almak için önceki digest'leri yazın ve aldığı yedeği geri yükleyin.
Neler destekleniyor
- Tek sunucu. Yüksek erişilebilirlik yoktur: yığın, makinesi kadar erişilebilirdir.
- Veriler onu nerede çalıştırıyorsanız oradadır. Oloproof verilerinizin hiçbirini tutmaz.
- Kesintisiz sürüm yok. Bunlar yalnızca barındırılan hizmete aittir.
- Paket, onu kendi proje adıyla başlatan, /api/health için bekleyen, herkese açık sayfaları getiren ve kaldıran deploy/self-hosted/check.sh ile denetlenir.