> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# S3

<Info>
  Bu belge, Server CE ve Ayakaleaf Pro'da S3 kurulumunu ele alır. Mevcut verilerin S3 uyumlu depolamaya taşınmasıyla ilgili [ayrı bir kılavuz](/tr/on-premises/maintenance/s3-migration) bulunmaktadır.
</Info>

<Warning>
  Ayakaleaf Pro'yu [s3.md](/tr/on-premises/configuration/overleaf-toolkit/s3 "mention") depolaması etkin olarak dağıtırsanız, S3'te depolanan veriler şifrelenir mi?

  *<strong>Hayır.</strong>* Veriler şifrelenmez. Tüm geçmiş parçaları (history chunks), şablon dosyaları, PDF'ler ve diğer dosyalar düz metin olarak depolanır. Üçüncü taraf harici bir S3 depolama sağlayıcısı kullanıyorsanız lütfen veri güvenliğine ve gizliliğe çok dikkat edin.
</Warning>

## Veri depolama için S3 kullanmayı ne zaman düşünmelisiniz

1000'den az kullanıcı lisansına sahip kurulumlar için düzenli [tutarlı yedeklemelerle](https://docs.overleaf.com/on-premises/maintenance/data-and-backups#performing-a-consistent-backup) yerel disk depolaması kullanmanızı öneririz.

1000'den fazla kullanıcı lisansına sahip olan ve yerel depolamalarının sınırlarına (boyut veya verim) ulaşan daha büyük kurulumlar için NFS gibi diğer ağ tabanlı depolama çözümleri yerine S3 uyumlu bir nesne depolama arka ucu kullanmanızı öneririz.

## S3 uyumlu nesne depolama seçenekleri

S3 uyumlu nesne depolama için en popüler seçenekler şunlardır:

* [AWS S3](https://aws.amazon.com/s3/), yönetilen; Overleaf CE/Server Pro'yu AWS üzerinde çalıştırıyorsanız AWS S3'ü seçmenizi öneririz
* [MINIO](https://min.io/), kendi sunucunuzda barındırılan
* [Ceph](https://ceph.io/en/), kendi sunucunuzda barındırılan
* Diğer barındırma sağlayıcıları da bir tür yönetilen S3 uyumlu nesne depolama sunar; Overleaf CE/Server Pro'yu zaten böyle bir sağlayıcıda çalıştırıyorsanız kendi depolamanızı çalıştırmak yerine bunları kullanmak isteyebilirsiniz.

## S3 uyumlu nesne depolama seçerken gecikme hususları

Server CE/Server Pro kurulumu ile S3 uyumlu nesne depolamanız arasındaki gecikme, geçişin tamamlanması için gereken süreyi büyük ölçüde etkiler. Gecikme ayrıca Server CE/Server Pro'daki dosya yükleme performansını da etkiler ve yavaş dosya indirmeleri PDF derleme sürelerini de önemli ölçüde etkileyebilir. Server CE/Server Pro kurulumunuz ile S3 uyumlu nesne depolama arasındaki coğrafi mesafeyi en aza indirmenizi öneririz. Yönetilen bir ortamda bu, bucket'ı aynı bölgede oluşturmak; şirket içi bir çözümde ise ikisini aynı kampüste çalıştırmak anlamına gelir.

## S3 kurulumu

Dört "bucket" ve iki kısıtlı kullanıcı hesabına ihtiyacımız var. `overleaf-user-files` ve `OVERLEAF_FILESTORE_USER_FILES_BUCKET_NAME` yalnızca v6 öncesinde gereklidir.

<Warning>
  Bucket'lar herkese açık olarak erişilebilir **olmamalıdır**
</Warning>

<div style={{ overflowX: "auto" }}><table style={{ display: "table", width: "100%" }}><thead><tr><th width="279" /><th width="152" /><th width="97" /><th /></tr></thead><tbody><tr><td>Bucket</td><td>Kullanım</td><td>Hizmet</td><td>Önceden `/var/lib/overleaf/data` içinde</td></tr><tr><td>`overleaf-user-files`</td><td>proje kullanıcı dosyaları</td><td>filestore</td><td>`user_files`</td></tr><tr><td>`overleaf-template-files`</td><td>şablon dosyaları</td><td>filestore</td><td>`template_files`</td></tr><tr><td>`overleaf-project-blobs`</td><td>proje geçmişi blob'ları</td><td>history ve salt okunur filestore</td><td>`history/overleaf-project-blobs`</td></tr><tr><td>`overleaf-chunks`</td><td>geçmiş parçaları</td><td>history</td><td>`history/overleaf-chunks`</td></tr></tbody></table></div>

Farklı bir ad seçmek isteyebilir veya buna ihtiyaç duyabilirsiniz; bu durumda tüm komutlarda özel bucket adlarınızı kullandığınızdan emin olun.

Aşağıda gerçek kimlik bilgileri yerine yer tutucular kullanılacaktır:

<div style={{ overflowX: "auto" }}><table style={{ display: "table", width: "100%" }}><thead><tr><th width="431">Ortam değişkeni</th><th>Açıklama</th></tr></thead><tbody><tr><td>`OVERLEAF_FILESTORE_S3_ACCESS_KEY_ID`</td><td>filestore hizmetinin kısıtlı kullanıcısının erişim anahtarı/kullanıcı adı.</td></tr><tr><td>`OVERLEAF_FILESTORE_S3_SECRET_ACCESS_KEY`</td><td>filestore hizmetinin kısıtlı kullanıcısının gizli anahtarı/parolası.</td></tr><tr><td>`OVERLEAF_HISTORY_S3_ACCESS_KEY_ID`</td><td>history hizmetinin kısıtlı kullanıcısının erişim anahtarı/kullanıcı adı.</td></tr><tr><td>`OVERLEAF_HISTORY_S3_SECRET_ACCESS_KEY`</td><td>history hizmetinin kısıtlı kullanıcısının gizli anahtarı/parolası.</td></tr></tbody></table></div>

Server CE ve Server Pro her bucket üzerinde yalnızca küçük bir izin kümesine ihtiyaç duyar:

* nesne oluşturma
* nesne alma
* nesne silme
* bucket listeleme

### Erişim İlkeleri

filestore kullanıcısı için bir ilke şöyle görünebilir:

```json theme={null}
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": "arn:aws:s3:::overleaf-user-files"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject"
      ],
      "Resource": "arn:aws:s3:::overleaf-user-files/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": "arn:aws:s3:::overleaf-project-blobs/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": "arn:aws:s3:::overleaf-template-files"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject"
      ],
      "Resource": "arn:aws:s3:::overleaf-template-files/*"
    }
  ]
}
```

history kullanıcısı için bir ilke şöyle görünebilir:

```json theme={null}
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": "arn:aws:s3:::overleaf-project-blobs"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject"
      ],
      "Resource": "arn:aws:s3:::overleaf-project-blobs/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": "arn:aws:s3:::overleaf-chunks"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject"
      ],
      "Resource": "arn:aws:s3:::overleaf-chunks/*"
    }
  ]
}
```

### Değişkenlere genel bakış

#### AWS S3 kullanırken

```bash theme={null}
# Enable S3 backend for filestore
OVERLEAF_FILESTORE_BACKEND=s3

# Bucket name for project files
OVERLEAF_FILESTORE_USER_FILES_BUCKET_NAME=overleaf-user-files

# Bucket name for template files
OVERLEAF_FILESTORE_TEMPLATE_FILES_BUCKET_NAME=overleaf-template-files

# Key for filestore user
OVERLEAF_FILESTORE_S3_ACCESS_KEY_ID=...

# Secret for filestore user
OVERLEAF_FILESTORE_S3_SECRET_ACCESS_KEY=...

# Bucket region you picked when creating the buckets.
OVERLEAF_FILESTORE_S3_REGION=""

# Enable S3 backend for history
OVERLEAF_HISTORY_BACKEND=s3

# Bucket name for project history blobs
OVERLEAF_HISTORY_PROJECT_BLOBS_BUCKET=overleaf-project-blobs

# Bucket name for history chunks
OVERLEAF_HISTORY_CHUNKS_BUCKET=overleaf-chunks

# Key for history user
OVERLEAF_HISTORY_S3_ACCESS_KEY_ID=...

# Secret for history user
OVERLEAF_HISTORY_S3_SECRET_ACCESS_KEY=...

# Bucket region you picked when creating the buckets.
OVERLEAF_HISTORY_S3_REGION=""
```

#### Kendi sunucunuzda barındırılan bir seçenek kullanırken

```bash theme={null}
# Enable S3 backend for filestore
OVERLEAF_FILESTORE_BACKEND=s3

# Bucket name for project files
OVERLEAF_FILESTORE_USER_FILES_BUCKET_NAME=overleaf-user-files

# Bucket name for template files
OVERLEAF_FILESTORE_TEMPLATE_FILES_BUCKET_NAME=overleaf-template-files

# Key for filestore user
OVERLEAF_FILESTORE_S3_ACCESS_KEY_ID=...

# Secret for filestore user
OVERLEAF_FILESTORE_S3_SECRET_ACCESS_KEY=...

# S3 provider endpoint
OVERLEAF_FILESTORE_S3_ENDPOINT=http://10.10.10.10:9000

# Path style addressing of buckets. Most likely you need to set this to "true".
OVERLEAF_FILESTORE_S3_PATH_STYLE="true"

# Bucket region. Most likely you do not need to configure this.
OVERLEAF_FILESTORE_S3_REGION=""

# Enable S3 backend for history
OVERLEAF_HISTORY_BACKEND=s3

# Bucket name for project history blobs
OVERLEAF_HISTORY_PROJECT_BLOBS_BUCKET=overleaf-project-blobs

# Bucket name for history chunks
OVERLEAF_HISTORY_CHUNKS_BUCKET=overleaf-chunks

# Key for history user
OVERLEAF_HISTORY_S3_ACCESS_KEY_ID=...

# Secret for history user
OVERLEAF_HISTORY_S3_SECRET_ACCESS_KEY=...

# S3 provider endpoint
OVERLEAF_HISTORY_S3_ENDPOINT=http://10.10.10.10:9000

# Path style addressing of buckets. Most likely you need to set this to "true".
OVERLEAF_HISTORY_S3_PATH_STYLE="true"

# Bucket region. Most likely you do not need to configure this.
OVERLEAF_HISTORY_S3_REGION=""
```

### MINIO kurulumu

<Info>
  `MINIO_ROOT_USER` ve `MINIO_ROOT_PASSWORD`, MINIO kurulumunun root kimlik bilgileridir.
</Info>

`mc` aracını edinmek için lütfen [resmi belgeleri](https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart) izleyin.

```bash theme={null}
mc alias set s3 http://10.10.10.10:9000 MINIO_ROOT_USER MINIO_ROOT_PASSWORD

# Put the contents of the policies from the previous section in the
# respective json file policy-filestore.json and policy-history.json.

# Reminder: Replace the bucket names and credentials accordingly.

# filestore buckets, user and policy
mc mb --ignore-existing s3/overleaf-user-files
mc mb --ignore-existing s3/overleaf-template-files
mc admin user add s3 \
  OVERLEAF_FILESTORE_S3_ACCESS_KEY_ID \
  OVERLEAF_FILESTORE_S3_SECRET_ACCESS_KEY
mc admin policy create s3 overleaf-filestore policy-filestore.json
mc admin policy attach s3 overleaf-filestore \
  --user=OVERLEAF_FILESTORE_S3_ACCESS_KEY_ID

# history buckets, user and policy
mc mb --ignore-existing s3/overleaf-project-blobs
mc mb --ignore-existing s3/overleaf-chunks
mc admin user add s3 \
  OVERLEAF_HISTORY_S3_ACCESS_KEY_ID \
  OVERLEAF_HISTORY_S3_SECRET_ACCESS_KEY
mc admin policy create s3 overleaf-history policy-history.json
mc admin policy attach s3 overleaf-history \
  --user=OVERLEAF_HISTORY_S3_ACCESS_KEY_ID
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.