> For the complete documentation index, see [llms.txt](https://ayakaleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ayakaleaf-pro.ayaka.space/on-premises/el/diamorfosi/overleaf-toolkit/s3.md).

# S3

{% hint style="info" %}
Αυτό το έγγραφο καλύπτει τη ρύθμιση του S3 στο Server CE και στο Overleaf Pro. Ένα [ξεχωριστός οδηγός](/on-premises/el/syntirisi/s3-migration.md) μπορεί να βρεθεί σχετικά με τη μετεγκατάσταση των υπαρχόντων δεδομένων σε αποθήκευση συμβατή με S3.
{% endhint %}

## Πότε να εξετάσετε τη χρήση του S3 για αποθήκευση δεδομένων

Για εγκαταστάσεις με λιγότερες από 1000 θέσεις συνιστούμε τη χρήση τοπικής αποθήκευσης δίσκου με τακτικά [συνεπή αντίγραφα ασφαλείας](https://docs.overleaf.com/on-premises/maintenance/data-and-backups#performing-a-consistent-backup).

Για μεγαλύτερες εγκαταστάσεις με περισσότερες από 1000 θέσεις που φτάνουν στα όρια της τοπικής τους αποθήκευσης (μέγεθος ή ρυθμοαπόδοση), συνιστούμε τη χρήση ενός backend αποθήκευσης αντικειμένων συμβατού με S3 αντί για άλλες λύσεις αποθήκευσης βασισμένες στο δίκτυο, όπως το NFS.

## Επιλογές αποθήκευσης αντικειμένων συμβατές με S3

Ακολουθούν οι πιο δημοφιλείς επιλογές για αποθήκευση αντικειμένων συμβατή με S3:

* [AWS S3](https://aws.amazon.com/s3/), διαχειριζόμενο, προτείνουμε να επιλέξετε AWS S3 όταν εκτελείτε το Overleaf CE/Server Pro στο AWS
* [MINIO](https://min.io/), αυτοφιλοξενούμενο
* [Ceph](https://ceph.io/en/), αυτοφιλοξενούμενο
* Άλλοι πάροχοι φιλοξενίας διαθέτουν επίσης κάποιο είδος διαχειριζόμενης αποθήκευσης αντικειμένων συμβατής με S3, και ίσως θελήσετε να χρησιμοποιήσετε αυτά αντί να τρέχετε τη δική σας, όταν ήδη εκτελείτε το Overleaf CE/Server Pro σε έναν τέτοιον πάροχο.

## Παράμετροι λανθάνουσας καθυστέρησης κατά την επιλογή αποθήκευσης αντικειμένων συμβατής με S3

Η λανθάνουσα καθυστέρηση μεταξύ της εγκατάστασης Server CE/Server Pro και της αποθήκευσης αντικειμένων σας συμβατής με S3 είναι σημαντικός παράγοντας στον χρόνο που απαιτείται για την ολοκλήρωση της μετεγκατάστασης. Η λανθάνουσα καθυστέρηση επηρεάζει επίσης την απόδοση μεταφόρτωσης αρχείων στο Server CE/Server Pro και οι αργές λήψεις αρχείων μπορούν επίσης να έχουν μεγάλο αντίκτυπο στους χρόνους μεταγλώττισης PDF. Προτείνουμε να ελαχιστοποιήσετε τη γεωγραφική απόσταση μεταξύ της εγκατάστασης Server CE/Server Pro και της αποθήκευσης αντικειμένων συμβατής με S3. Σε ένα διαχειριζόμενο περιβάλλον, αυτό θα σήμαινε την παροχή ενός κάδου στην ίδια περιοχή, ενώ για μια on-premise λύση, την εκτέλεση των δύο στον ίδιο χώρο.

## Ρύθμιση S3

Χρειαζόμαστε τέσσερις «κάδους» και δύο περιορισμένους λογαριασμούς χρηστών.

{% hint style="warning" %}
Οι κάδοι θα πρέπει να **να μην** είναι δημόσια προσβάσιμοι
{% endhint %}

<table data-header-hidden><thead><tr><th width="279"></th><th width="152"></th><th width="97"></th><th></th></tr></thead><tbody><tr><td>Κάδος</td><td>Χρήση</td><td>Υπηρεσία</td><td>Προηγουμένως στο <code>/var/lib/overleaf/data</code></td></tr><tr><td><code>overleaf-user-files</code></td><td>αρχεία χρήστη έργου</td><td>filestore</td><td><code>user_files</code></td></tr><tr><td><code>overleaf-template-files</code></td><td>αρχεία προτύπων</td><td>filestore</td><td><code>template_files</code></td></tr><tr><td><code>overleaf-project-blobs</code></td><td>δυαδικά δεδομένα ιστορικού έργου</td><td>ιστορικό και αποθήκη μόνο για ανάγνωση</td><td><code>history/overleaf-project-blobs</code></td></tr><tr><td><code>overleaf-chunks</code></td><td>τμήματα ιστορικού</td><td>history</td><td><code>history/overleaf-chunks</code></td></tr></tbody></table>

Ίσως θέλετε/χρειαστεί να επιλέξετε διαφορετικό όνομα, φροντίστε να χρησιμοποιήσετε τους προσαρμοσμένους κάδους σε όλες τις εντολές.

Τα παρακάτω θα χρησιμοποιήσουν placeholders για τα πραγματικά διαπιστευτήρια:

<table><thead><tr><th width="431">Μεταβλητή περιβάλλοντος</th><th>Περιγραφή</th></tr></thead><tbody><tr><td><code>OVERLEAF_FILESTORE_S3_ACCESS_KEY_ID</code></td><td>Το access key/όνομα χρήστη του περιορισμένου χρήστη της υπηρεσίας filestore.</td></tr><tr><td><code>OVERLEAF_FILESTORE_S3_SECRET_ACCESS_KEY</code></td><td>Το μυστικό κλειδί/συνθηματικό του περιορισμένου χρήστη της υπηρεσίας filestore.</td></tr><tr><td><code>OVERLEAF_HISTORY_S3_ACCESS_KEY_ID</code></td><td>Το access key/όνομα χρήστη του περιορισμένου χρήστη της υπηρεσίας ιστορικού.</td></tr><tr><td><code>OVERLEAF_HISTORY_S3_SECRET_ACCESS_KEY</code></td><td>Το μυστικό κλειδί/συνθηματικό του περιορισμένου χρήστη της υπηρεσίας ιστορικού.</td></tr></tbody></table>

Το Server CE και το Server Pro χρειάζονται μόνο ένα μικρό σύνολο δικαιωμάτων σε κάθε κάδο:

* δημιουργία αντικειμένου
* λήψη αντικειμένου
* διαγραφή αντικειμένου
* λίστα κάδου

### Πολιτικές πρόσβασης

Δείτε πώς θα μπορούσε να μοιάζει μια πολιτική για τον χρήστη filestore:

```json
{
  "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/*"
    }
  ]
}
```

Δείτε πώς θα μπορούσε να μοιάζει μια πολιτική για τον χρήστη ιστορικού:

```json
{
  "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/*"
    }
  ]
}
```

### Επισκόπηση μεταβλητών

#### Όταν χρησιμοποιείτε AWS S3

```bash
# Ενεργοποιήστε το backend S3 για το filestore
OVERLEAF_FILESTORE_BACKEND=s3

# Όνομα κάδου για τα αρχεία έργου
OVERLEAF_FILESTORE_USER_FILES_BUCKET_NAME=overleaf-user-files

# Όνομα κάδου για τα αρχεία προτύπων
OVERLEAF_FILESTORE_TEMPLATE_FILES_BUCKET_NAME=overleaf-template-files

# Κλειδί για τον χρήστη του filestore
OVERLEAF_FILESTORE_S3_ACCESS_KEY_ID=...

# Μυστικό για τον χρήστη του filestore
OVERLEAF_FILESTORE_S3_SECRET_ACCESS_KEY=...

# Περιοχή κάδου που επιλέξατε κατά τη δημιουργία των κάδων.
OVERLEAF_FILESTORE_S3_REGION=""

# Ενεργοποιήστε το backend S3 για το ιστορικό
OVERLEAF_HISTORY_BACKEND=s3

# Όνομα κάδου για τα δυαδικά δεδομένα ιστορικού έργου
OVERLEAF_HISTORY_PROJECT_BLOBS_BUCKET=overleaf-project-blobs

# Όνομα κάδου για τα τμήματα ιστορικού
OVERLEAF_HISTORY_CHUNKS_BUCKET=overleaf-chunks

# Κλειδί για τον χρήστη του ιστορικού
OVERLEAF_HISTORY_S3_ACCESS_KEY_ID=...

# Μυστικό για τον χρήστη του ιστορικού
OVERLEAF_HISTORY_S3_SECRET_ACCESS_KEY=...

# Περιοχή κάδου που επιλέξατε κατά τη δημιουργία των κάδων.
OVERLEAF_HISTORY_S3_REGION=""
```

#### Όταν χρησιμοποιείτε μια αυτοφιλοξενούμενη επιλογή

```bash
# Ενεργοποιήστε το backend S3 για το filestore
OVERLEAF_FILESTORE_BACKEND=s3

# Όνομα κάδου για τα αρχεία έργου
OVERLEAF_FILESTORE_USER_FILES_BUCKET_NAME=overleaf-user-files

# Όνομα κάδου για τα αρχεία προτύπων
OVERLEAF_FILESTORE_TEMPLATE_FILES_BUCKET_NAME=overleaf-template-files

# Κλειδί για τον χρήστη του filestore
OVERLEAF_FILESTORE_S3_ACCESS_KEY_ID=...

# Μυστικό για τον χρήστη του filestore
OVERLEAF_FILESTORE_S3_SECRET_ACCESS_KEY=...

# Τελικό σημείο παρόχου S3
OVERLEAF_FILESTORE_S3_ENDPOINT=http://10.10.10.10:9000

# Επίλυση κάδων με style path. Πιθανότατα πρέπει να το ορίσετε σε "true".
OVERLEAF_FILESTORE_S3_PATH_STYLE="true"

# Περιοχή κάδου. Πιθανότατα δεν χρειάζεται να το ρυθμίσετε.
OVERLEAF_FILESTORE_S3_REGION=""

# Ενεργοποιήστε το backend S3 για το ιστορικό
OVERLEAF_HISTORY_BACKEND=s3

# Όνομα κάδου για τα δυαδικά δεδομένα ιστορικού έργου
OVERLEAF_HISTORY_PROJECT_BLOBS_BUCKET=overleaf-project-blobs

# Όνομα κάδου για τα τμήματα ιστορικού
OVERLEAF_HISTORY_CHUNKS_BUCKET=overleaf-chunks

# Κλειδί για τον χρήστη του ιστορικού
OVERLEAF_HISTORY_S3_ACCESS_KEY_ID=...

# Μυστικό για τον χρήστη του ιστορικού
OVERLEAF_HISTORY_S3_SECRET_ACCESS_KEY=...

# Τελικό σημείο παρόχου S3
OVERLEAF_HISTORY_S3_ENDPOINT=http://10.10.10.10:9000

# Επίλυση κάδων με style path. Πιθανότατα πρέπει να το ορίσετε σε "true".
OVERLEAF_HISTORY_S3_PATH_STYLE="true"

# Περιοχή κάδου. Πιθανότατα δεν χρειάζεται να το ρυθμίσετε.
OVERLEAF_HISTORY_S3_REGION=""
```

### Ρύθμιση MINIO

{% hint style="info" %}
`MINIO_ROOT_USER` και `MINIO_ROOT_PASSWORD` είναι τα διαπιστευτήρια root της παρουσίας MINIO.
{% endhint %}

Παρακαλώ ακολουθήστε την [επίσημη τεκμηρίωση](https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart) για να αποκτήσετε ένα αντίγραφο του `mc`.

```bash
mc alias set s3 http://10.10.10.10:9000 MINIO_ROOT_USER MINIO_ROOT_PASSWORD

# Τοποθετήστε τα περιεχόμενα των πολιτικών από την προηγούμενη ενότητα στο
# αντίστοιχο αρχείο json policy-filestore.json και policy-history.json.

# Υπενθύμιση: Αντικαταστήστε τα ονόματα των κάδων και τα διαπιστευτήρια αναλόγως.

# κάδοι, χρήστης και πολιτική του filestore
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

# κάδοι, χρήστης και πολιτική ιστορικού
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
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ayakaleaf-pro.ayaka.space/on-premises/el/diamorfosi/overleaf-toolkit/s3.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
