● KURUMSAL SÜRÜM · KENDİ SUNUCUNUZDA

Kurulum kılavuzu

OculaWork kurumsal sürümü sizin sunucunuzda ve sizin veritabanınızda çalışır. Çalışan verisi kurumunuzun dışına çıkmaz. Bu sayfa kurulumun tamamını, hiçbir adımı atlamadan anlatır.

1. Gereksinimler

NeDeğer
Çalışma ortamıDocker + Docker Compose
ya da Docker'sız: Node 22 + PostgreSQL 16
DonanımBaşlangıç için 2 vCPU / 4 GB RAM
VeritabanıKurulumun ayağa kaldırdığı PostgreSQL veya kurumunuzda zaten çalışan bir PostgreSQL (yönetilen küme, ayrı sunucu, bulut hizmeti)
AğKapalı devre çalışır. Merkezimize giden trafik yalnızca lisans ve OwO kanalıdır; kurulum bunu kendisi başlatır, dışarıdan içeri bağlantı açılmaz.
TarayıcıÇalışanlar için standart bir bilgisayar kamerası yeterli
Ölçek sizin sorumluluğunuzda. Kaç firma açacağınız ve kaç çalışan ekleyeceğiniz teknik olarak sınırlı değildir; donanım ve veritabanı kapasitesini kendi ölçeğinize göre planlarsınız. Lisans anahtarınızdaki kullanıcı sınırı ayrıdır ve sözleşmede yazar.

2. Kurulum paketini indirin

Paket ve kurulum rehberi size özel, tek kullanımlık bir bağlantıyla e-posta ile gönderilir. Bağlantı 7 gün geçerlidir ve bir kez kullanılır — böylece paketin kimde olduğu belirsiz kalmaz.

E-postadaki bağlantıyı kaybettiyseniz, elinizdeki indirme kodunu buraya yapıştırıp devam edebilirsiniz:

Kodu girdiğinizde indirme etkinleşir.
Kod da yoksa: bize yazın, yeni bir bağlantı keselim. Paketi herkese açık bir adreste yayınlamıyoruz — kurumsal sürüm kaynak koduyla birlikte teslim edildiği için bağlantı kişiye özeldir.

3. Kurulum — tek komut

1
Paketi açın

İndirdiğiniz .zip dosyasını sunucuda bir dizine açın.

2
Sihirbazı çalıştırın

Sihirbaz altı adımın tamamını yapar: .env üretimi (JWT anahtarı dâhil), konteynerleri kaldırma, veritabanı göçü, tohumlama ve sağlık doğrulaması.

./install.sh # Linux / macOS .\install.ps1 # Windows

Parametre vermezseniz eksikleri sorar; parolalar ekranda görünmeden okunur. Hiçbir şey çalıştırmadan planı görmek için --prova, tüm seçenekler için --yardim.

3
Veritabanını seçin

Kendi PostgreSQL'iniz varsa adresini verin; vermezseniz paket kendi veritabanını ayağa kaldırır.

--db-host=pg.kurum.local:6432 # host ya da host:port --db-name=oculawork --db-user=oculawork # parola ayrı verilir: --db-password=… ya da DB_PASSWORD ortam değişkeni
4
Lisans anahtarını girin
--license-key='<gövde>.<imza>'

Anahtar firmanıza özel kesilir ve e-posta ile gelir. İmzalıdır: içindeki süre ve kullanıcı sınırı değiştirilemez. Geçersiz bir anahtarla sistem açılmaz — "kuruldu sandım ama çalışmıyor" durumunu önlemek için bilinçli bir davranıştır.

5
Yönetici hesabınızı oluşturun

Sihirbaz ilk yönetici e-postasını ve parolasını sorar (en az 12 karakter). Bu hesap kurum yöneticisidir: altına firma açan, markayı belirleyen ve lisans durumunu gören taraf.

6
Doğrulayın
npm run health # bağlantı, göç ve sağlık ucu curl http://localhost:8080/health

Sağlık ucu veritabanı durumunu ve lisans bilgisini döner. Sorun çıkarsa npm run troubleshoot nedenini yazar.

4. TLS ve erişim

Çalışan sağlık verisi taşıyan bir bağlantı şifresiz olamaz. Kurulumda TLS'i kimin sonlandıracağı sorulur; iki seçenek vardır.

SeçenekNe olur
external
--https-source=external
varsayılan
TLS'i kendi ters vekiliniz (nginx, Traefik, F5, bulut yük dengeleyici) sonlandırır. Paket TLS'e hiç karışmaz: uygulama 8080'de düz HTTP konuşur, ssl/ klasörü okunmaz, ek konteyner kaldırılmaz. Sertifika ve yenilemesi sizde.
local
--https-source=local
TLS'i paketle gelen nginx sonlandırır. 443 dinlenir, 80 kalıcı olarak 443'e yönlendirilir ve uygulamanın 8080 portu ana makineye yayımlanmaz — TLS'i atlayan ikinci bir kapı bırakılmaz.
1
local için iki ön koşul

İkisi birden sağlanmalıdır; biri eksikse nginx konteyneri hiç başlamaz (sessizce düz HTTP'ye düşmez): kurulumda --https-source=local seçilmiş olması ve sertifikanın kurulum klasöründeki ssl/ dizininde bulunması.

ssl/fullchain.pem # sertifika + ARA sertifikalar (tam zincir) ssl/privkey.pem # özel anahtar (şifresiz PEM)

Dosya adları --tls-cert / --tls-key ile değiştirilebilir; yol değil ad yazılır — dizin her zaman ssl/'dir.

2
Sunucu adı ve güvenlik duvarı

--tls-domain sertifikadaki CN/SAN ile birebir aynı olmalıdır. SSO kullanıyorsanız SSO_REDIRECT_URI de aynı adresi taşımalı; aksi hâlde giriş redirect_uri_mismatch ile düşer. Güvenlik duvarı: local kipinde 80 ve 443 açık, 8080 kapalı; external kipinde 8080'e yalnızca kendi vekiliniz erişebilmelidir.

3
Sertifika yenilendiğinde

nginx yeniden başlatılmalıdır — sertifika yalnızca açılışta okunur. Atlanırsa eski sertifika sunulmaya devam eder.

docker compose -f docker-compose.yml -f docker-compose.nginx.yml restart proxy
OculaWork arayüzü bizim sunucumuzdan gelir ve tarayıcı üzerinden sizin sunucunuza bağlanır; bu yüzden sunucunuzun CORS ayarında OculaWork alan adına izin verilmelidir.

5. İlk giriş ve firma açma

Kurulum adresini tarayıcıda açtığınızda ürünün giriş ekranı gelir. Sihirbazda belirlediğiniz yönetici hesabıyla girin.

Kurum yöneticisi ne yapar

Firma yöneticisi ne yapar

Kendi hesabıyla girer, şifresini değiştirir ve firmasını kendi başına yönetir: hekimini tanımlar, personelini ekler (tek tek ya da Excel/CSV), departmanlarını kurar, raporlarını okur, tatbikat planlar. Firmaların verisi birbirinden ayrıdır; bir firmanın yöneticisi diğerinin verisine erişemez.

E-posta iki yoldan gidebilir. Firma gönderir: e-postalar sizin SMTP sunucunuzdan çıkar, OculaWork ne alıcıyı ne içeriği görür. OculaWork gönderir: biz göndeririz ama içerik boştur — yalnızca "raporunuz hazır" bildirimi ve kendi panelinize bağlantı; skor ve kişisel veri e-postayla gitmez. SMTP parolanız bize uğramaz, form doğrudan sizin sunucunuza yazar ve parola kaydedildikten sonra geri okunamaz. Şifresiz SMTP kabul edilmez: 465'te doğrudan TLS, diğer portlarda STARTTLS zorunludur.
E-posta gönderimi için SMTP ayarlarınızı yönetim panelinden tanımlayın. Tanımlanmadan firma açarsanız sistem bunu açıkça söyler ve geçici parolayı ekranda gösterir; firma yine açılır.

6. Kim nereden giriş yapar?

Herkes tek bir adresten girer: sizin kurulum adresinizden. Ayrı bir portal, ayrı bir bağlantı yoktur. Kurulum adresi (örneğin https://isg.kurum.local) açıldığında giriş ekranı gelir; kullanıcı e-postası ve parolasıyla girer ve rolü onu kendi sayfasına götürür.

Kurum yöneticisi
Kurulumda oluşturduğunuz hesap. Firma açar, markayı belirler, lisansı ve veri trafiğini görür.
umbrella
Firma yöneticisi
Firma açıldığında e-postayla adres + geçici parola alır. İlk girişte parolasını değiştirir.
management
İşyeri hekimi
Firma yöneticisi tanımlar. Kendi firmasının sağlık verisini görür, başka firmanınkini göremez.
doctor
Çalışan
Firma yöneticisi tek tek ya da Excel/CSV ile ekler. Girişte doğrudan tarama ekranına düşer.
employee
Kurumsal kurulumda oculawork.com üzerinden giriş yapılmaz. Çalışanınızın bilmesi gereken tek şey kurumunuzun kendi adresidir; hesapları da yalnızca o kurulumda vardır.

Kimlik sağlayıcınız varsa SSO (OIDC) ile de girilebilir; bu durumda parola yönetimi tamamen sizde kalır. Parola girişleri hesap bazlı kaba-kuvvet koruması altındadır — art arda hatalı denemede o hesap geçici olarak kilitlenir, kurumun tamamı değil.

7. Merkezimizle ilişki

YönNe taşırVarsayılan
Günlük sinyal ↑Kurulum sağlığı, modül kullanım sayaçları, kurulum büyüklüğü ve bütünlük izleri. Çalışan verisi yok: kimlik, isim, skor, departman adı ve zaman damgası gönderilmez.Açık
Bilgi paketi ↓İSG referans bilgisi. Skor üretmez, öneri besler.Açık
Model sürümü ↓İmzalı ağırlıklar. İner, imzası doğrulanır, sizin onayınız olmadan uygulanmaz.Onaylı
Öğrenme katkısı ↑Gürültü eklenmiş, toplulaştırılmış ağırlık farkı.Kapalı — siz açmadıkça gitmez

Hepsi kurulumdan başlatılır; merkez sizin ağınıza bağlanmaz. Her alışveriş panelinizdeki Veri Trafiği ekranında kayıtlıdır.

1
Üç anahtar karşılama e-postanızda

Kurulumunuz merkezle konuşmadan da çalışır — ama sektörel model güncellemelerini ve bülten beslemesini almaz. Üç değer, lisans anahtarıyla birlikte karşılama e-postanızda gelir ve yalnızca sizin kurulumunuz için üretilmiştir:

OW_INSTALL_ID # kurulumunuzun kimliği OW_INSTALL_SECRET # imzalama sırrı (size özel, paylaşmayın) OW_MODEL_VERIFY_KEY # model doğrulama anahtarı (gizli değil)
2
Sunucunuza girin ve doğrulayın

Üçünü de sunucunuzun ortam değişkenlerine ekleyin (kurulum sihirbazı da sorar) ve uygulamayı yeniden başlatın. Sunucunuz merkeze HTTPS (443) ile çıkabiliyorsa ilk alışveriş açılıştan yaklaşık bir dakika sonra yapılır; yönetim panelinde Veritabanı → Kanal Trafiği → Canlı Trafiği Gör ile giden gövdeleri olduğu gibi görürsünüz. Merkeze ulaşılamıyorsa sistem yerelde tam çalışmaya devam eder; merkez akışları bağlantı gelince kendiliğinden başlar.

Gizli anahtar size özeldir. Paylaşmayın, kaynak kontrole koymayın. Sızdığından şüphelenirseniz yenisini keseriz — eski anahtar anında geçersiz olur ve kurulum, yeni anahtar girilene kadar merkeze ulaşamaz.
Lisans süresi dolarsa sistem durur ve veri uçları kapanır — ancak verileriniz sizde kalır, silinmez. Yenilemede kaldığı yerden çalışmaya devam eder. Merkezimize ulaşılamaması sistemi durdurmaz: lisans anahtarı süreyi kendi içinde taşır, biz erişilemez olsak bile sözleşme sonuna kadar çalışır.

8. Yükseltme, bakım ve yedek

Yeni paket geldiğinde aynı sihirbaz çalıştırılır; göçler bir kez uygulanır ve uygulanmış olanlar atlanır, veri korunur.

1
Düzenli bakım — iki zamanlanmış iş

İlki tarama tablosunun bölümlerini önden açar; unutulursa ay başında yazma durur. İkincisi süresi geçmiş oturumları temizler.

0 3 1 * * psql "$DATABASE_URL" -c "SELECT ow_bolumleri_hazirla(3);" 0 4 * * * psql "$DATABASE_URL" -c "SELECT ow_oturumlari_temizle(30);"

Tarama verisinin saklama süresi kurulumda sorulur (OW_RETENTION_MONTHS); süresi dolan kayıtların imhası uygulamanın kendi içinde çalışır, ayrı bir cron gerekmez.

2
Yedek — iki şey kritik
pg_dump --format=custom --file="/yedek/oculawork_TARIH.dump" "$DATABASE_URL"

PostgreSQL veritabanı ve .env dosyası. İkincisi olmadan yedekten dönseniz bile oturumlar açılmaz.

Yedek sizin sorumluluğunuzda. Veritabanı sizin altyapınızda olduğu için yedek ve geri dönüş politikası da sizde. Denetim izi (audit_log) hiçbir imha akışında silinmez — delil bütünlüğü için bilinçli bir karardır.

Kurumsal sürüm kaynak koduyla birlikte teslim edilir; kurulum, işletim ve yedekleme müşterinin altyapısında yapılır. Kullanım koşulları için Kullanım Koşulları, veri işleme için Gizlilik Politikası ve hukuki çerçeve sayfalarına bakın. Sorularınız için info@oculawork.com.