* [SiYuan verileri nasıl saklar?](#siyuan-verileri-nasıl-saklar)
* [Üçüncü taraf senkronizasyon diskiyle veri senkronizasyonu destekleniyor mu?](#üçüncü-taraf-senkronizasyon-diskiyle-veri-senkronizasyonu-destekleniyor-mu)
* [SiYuan açık kaynak mı?](#siyuan-açık-kaynak-mı)
* [Yeni bir sürüme nasıl yükseltilir?](#yeni-bir-sürüme-nasıl-yükseltilir)
* [Bazı bloklar (örneğin liste öğelerindeki paragraflar) blok simgesini bulamıyorsa ne yapmalıyım?](#bazı-bloklar-örneğin-liste-öğelerindeki-paragraflar-blok-simgesini-bulamıyorsa-ne-yapmalıyım)
* [Veri deposu anahtarı (data repo key) kaybolursa ne yapmalıyım?](#veri-deposu-anahtarı-data-repo-key-kaybolursa-ne-yapmalıyım)
* [Ücretli mi?](#ücretli-mi)
* [🙏 Teşekkür](#-teşekkür)
* [Katkıda Bulunanlar](#katkıda-bulunanlar)
---
## 💡 Giriş
SiYuan, gizliliği ön planda tutan kişisel bir bilgi yönetim sistemidir.
Blok düzeyinde referansları ve Markdown WYSIWYG düzenlemeyi destekler.
Daha fazla bilgi için [SiYuan İngilizce Tartışma Forumu](https://liuyun.io)’na katılabilirsin.
Bazı özellikler yalnızca ücretli üyeler için geçerlidir. Detaylar için [Fiyatlandırma](https://b3log.org/siyuan/en/pricing.html) sayfasına göz atabilirsin.
Tüm program `/opt/siyuan/` dizini altındadır. Bu dizin, Electron kurulum paketinin `resources` klasör yapısına karşılık gelir:
* **appearance**: simgeler, temalar, diller
* **guide**: kullanıcı kılavuzu belgeleri
* **stage**: arayüz ve statik kaynaklar
* **kernel**: çekirdek program
#### Giriş Noktası (Entrypoint)
Docker görüntüsü oluşturulurken giriş noktası şu şekilde ayarlanır: `ENTRYPOINT ["/opt/siyuan/entrypoint.sh"]` Bu betik (script), konteyner içinde çalışacak kullanıcının `PUID` (Kullanıcı ID) ve `PGID` (Grup ID) değerlerini değiştirmene olanak tanır. Bu, özellikle host dizinleri bağlarken oluşabilecek izin sorunlarını çözmek için önemlidir.
`docker run b3log/siyuan` komutunu çalıştırırken aşağıdaki parametreleri kullanabilirsin:
*`--workspace`: çalışma alanı klasör yolunu belirtir, host üzerinde `-v` parametresiyle bağlanır
Tüm parametreleri görmek için `--help` komutunu kullanabilirsin. Yeni ortam değişkenleriyle bir örnek başlatma komutu aşağıdadır:
```bash
docker run -d \
-v workspace_dir_host:workspace_dir_container \
-p 6806:6806 \
-e PUID=1001 -e PGID=1002\
b3log/siyuan \
--workspace=workspace_dir_container \
--accessAuthCode=xxx
```
*`PUID`: Özel kullanıcı kimliği (isteğe bağlı, belirtilmezse varsayılan değer `1000` olarak kullanılır)
*`PGID`: Özel grup kimliği (isteğe bağlı, belirtilmezse varsayılan değer `1000` olarak kullanılır)
*`workspace_dir_host`: Ana makinedeki (host) çalışma alanı klasör yolu
*`workspace_dir_container`: Konteyner içindeki çalışma alanı klasör yolu (`--workspace` parametresiyle belirtilir)
* Alternatif olarak, bu yol `SIYUAN_WORKSPACE_PATH` ortam değişkeniyle de ayarlanabilir. Eğer her iki yöntem de kullanılırsa, **komut satırı önceliklidir**.
*`accessAuthCode`: Erişim yetkilendirme kodu (**kesinlikle değiştir**, aksi halde herkes verilerine erişebilir)
* Alternatif olarak, yetkilendirme kodu `SIYUAN_ACCESS_AUTH_CODE` ortam değişkeniyle de ayarlanabilir. Yine, hem komut satırı hem ortam değişkeni kullanılırsa, **komut satırı önceliklidir**.
* Erişim yetkilendirme kodunu devre dışı bırakmak için şu ortam değişkenini ayarla: `SIYUAN_ACCESS_AUTH_CODE_BYPASS=true`
Kurulumu basitleştirmek için, host ve konteyner üzerindeki çalışma alanı yollarını aynı şekilde ayarlaman önerilir. Örneğin her ikisini de `/siyuan/workspace` olarak tanımlayabilirsin. Buna karşılık gelen başlatma komutu şu şekildedir:
```bash
docker run -d \
-v /siyuan/workspace:/siyuan/workspace \
-p 6806:6806 \
-e PUID=1001 -e PGID=1002\
b3log/siyuan \
--workspace=/siyuan/workspace/ \
--accessAuthCode=xxx
```
#### Docker Compose
SiYuan’ı Docker Compose ile çalıştıran kullanıcılar için, `PUID` ve `PGID` ortam değişkenleri kullanılarak kullanıcı ve grup kimlikleri özelleştirilebilir. Aşağıda örnek bir Docker Compose yapılandırması bulunmaktadır:
# A list of time zone identifiers can be found at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
- TZ=${YOUR_TIME_ZONE}
- PUID=${YOUR_USER_PUID} # Customize user ID
- PGID=${YOUR_USER_PGID} # Customize group ID
```
Bu yapılandırmada:
*`PUID` ve `PGID` dinamik olarak ayarlanır ve konteynere aktarılır.
* Eğer bu değişkenler belirtilmezse, varsayılan değer olarak `1000` kullanılır.
`PUID` ve `PGID` değişkenlerini ortamda (environment) belirterek, `docker-compose.yml` dosyasında `user: '1000:1000'` satırını açıkça yazmana gerek kalmaz. Konteyner, başlatma sırasında bu ortam değişkenlerine göre kullanıcı ve grup ayarlarını otomatik olarak düzenler.
#### Kullanıcı İzinleri
Docker görüntüsünde yer alan `entrypoint.sh` betiği, belirtilen `PUID` ve `PGID` değerleriyle birlikte `siyuan` adlı kullanıcı ve grubun oluşturulmasını sağlar. Bu nedenle, ana makine (host) üzerinde çalışma alanı klasörü oluştururken, bu klasörün kullanıcı ve grup sahipliğini kullanmayı planladığın `PUID` ve `PGID` ile eşleşecek şekilde ayarladığından emin olmalısın. Örneğin:
```bash
chown -R 1001:1002 /siyuan/workspace
```
Eğer özel `PUID` ve `PGID` değerleri kullanıyorsan, `entrypoint` betiği konteyner içinde doğru kullanıcı ve grubun oluşturulmasını sağlar ve bağlanan (mount edilen) birimlerin sahipliği buna göre otomatik olarak ayarlanır. Bu nedenle `docker run` veya `docker-compose` komutlarında manuel olarak `-u` parametresi vermene gerek yoktur; ortam değişkenleri bu özelleştirmeyi zaten otomatik olarak halleder.
#### Gizli Port
Port 6806’yı gizlemek için NGINX ters proxy (reverse proxy) kullan. Dikkat edilmesi gerekenler:
* WebSocket ters proxy’sini `/ws` yoluna göre yapılandır.
#### Notlar
* Bağlanan (mount edilen) disk birimlerinin doğru olduğundan emin ol; aksi halde konteyner silindiğinde veriler kaybolur.
* Yönlendirme (redirect) için URL yeniden yazımı (rewrite) kullanma; bu, kimlik doğrulamayla ilgili sorunlara neden olabilir. Bunun yerine ters proxy yapılandırmanı öneririz.
* Eğer izin sorunlarıyla karşılaşırsan, `PUID` ve `PGID` ortam değişkenlerinin, ana makinedeki bağlanan dizinlerin sahipliğiyle uyuştuğundan emin ol.
#### Kısıtlamalar
* Masaüstü ve mobil uygulama bağlantılarını desteklemez; yalnızca tarayıcı üzerinden kullanım mümkündür.
* PDF, HTML ve Word formatlarına dışa aktarma desteklenmez.
* Markdown dosyası içe aktarma desteklenmez.
</details>
### Unraid Barındırma
<details>
<summary>Unraid Dağıtımı</summary>
Not: Terminalde önce şu komutu çalıştır: `chown -R 1000:1000 /mnt/user/appdata/siyuan`
Büyük güncellemelerden önce erken erişim (Insider Preview) sürümlerini yayınlıyoruz. Lütfen [https://github.com/siyuan-note/insider](https://github.com/siyuan-note/insider) adresini ziyaret edin.
* Diğer klasörler, kullanıcının oluşturduğu not defteri (notebook) klasörleridir. `.sy` uzantılı dosyalar belge verilerini saklar ve JSON formatındadır.
### Üçüncü taraf senkronizasyon diskiyle veri senkronizasyonu destekleniyor mu?
Üçüncü taraf senkronizasyon diskleriyle (örneğin OneDrive, Dropbox vb.) veri senkronizasyonu **desteklenmez**. Aksi takdirde veriler bozulabilir.
Bununla birlikte, üyelik avantajları kapsamında **üçüncü taraf bulut depolama hizmetleriyle bağlantı** desteklenmektedir.
Alternatif olarak, verileri **elle dışa aktarıp içe aktararak** senkronizasyon sağlayabilirsin:
Daha fazla bilgi için [Geliştirme Rehberi](https://github.com/siyuan-note/siyuan/blob/master/.github/CONTRIBUTING.md) sayfasına bakabilirsiniz.
### Yeni bir sürüme nasıl yükseltilir?
* Uygulama mağazası üzerinden kurduysanız, güncellemeyi yine uygulama mağazası üzerinden yapın.
* Masaüstü kurulum paketiyle yüklediyseniz, <kbd>Ayarlar</kbd> → <kbd>Hakkında</kbd> → <kbd>Güncelleme kurulum paketini otomatik indir</kbd> seçeneğini etkinleştirin. Böylece SiYuan, en son sürüm kurulum paketini otomatik indirip yükleme uyarısı gösterecektir.
* Manuel yükleme yaptıysanız, en son kurulum paketini indirip yeniden yüklemeniz gerekir.
Ayrıca, <kbd>Ayarlar</kbd> → <kbd>Hakkında</kbd> → <kbd>Geçerli Sürüm</kbd> sekmesinden <kbd>Güncellemeyi kontrol et</kbd> seçeneğini kullanabilir veya [Resmî İndirme Sayfası](https://b3log.org/siyuan/en/download.html) ya da [GitHub Sürümleri](https://github.com/siyuan-note/siyuan/releases) sayfalarını takip edebilirsiniz.
### Bazı bloklar (örneğin liste öğelerindeki paragraflar) blok simgesini bulamıyorsa ne yapmalıyım?
Liste öğesinin altındaki ilk alt blok, blok simgesi görünmeyen bloktur. İmleci bu bloğa getirip <kbd>Ctrl+/</kbd> tuş kombinasyonuyla blok menüsünü açabilirsin.
### Veri deposu anahtarı (data repo key) kaybolursa ne yapmalıyım?
* Eğer daha önce birden fazla cihazda doğru şekilde başlatıldıysa, tüm cihazlarda aynı anahtar kullanılır. Bu durumda anahtarı şu adımlarla kopyalayabilirsin:
3. Anahtarı yeniden başlat. Bir cihazda oluşturduktan sonra diğer cihazlara bu anahtarı aktar.
4. Bulutta yeni senkronizasyon dizinini kullan; eski dizin artık erişilemez ve silinebilir.
5. Mevcut bulut anlık görüntüleri (snapshot) artık geçerli değildir, bunlar da silinebilir.
### Ücretli mi?
Çoğu özellik ücretsizdir — ticari kullanım da dahil.
Ancak üyelik ayrıcalıkları yalnızca ödeme sonrasında kullanılabilir. Detaylar için [Fiyatlandırma](https://b3log.org/siyuan/en/pricing.html) sayfasına bakabilirsiniz.
## 🙏 Teşekkür
SiYuan’ın doğuşu, birçok açık kaynak projesi ve katkıcısının emeğiyle mümkün olmuştur. Daha fazla bilgi için proje kaynak kodlarındaki `kernel/go.mod`, `app/package.json` ve proje anasayfasına bakabilirsiniz.
SiYuan’ın gelişimi, kullanıcı geri bildirimleri ve desteğiyle büyümeye devam ediyor. SiYuan’a katkı sağlayan herkese teşekkürler ❤️
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.