diff --git a/docs/docs/self-hosting/guides/configuring-s3.md b/docs/docs/self-hosting/guides/configuring-s3.md index 55f2f3b356..c82de3fe25 100644 --- a/docs/docs/self-hosting/guides/configuring-s3.md +++ b/docs/docs/self-hosting/guides/configuring-s3.md @@ -5,68 +5,16 @@ description: from outside localhost --- -# Architecture - - - -There are three components involved in uploading a file: - -1. The client (e.g. the web app or the mobile app) -2. Ente's server (museum) -3. The S3-compatible object storage (e.g. MinIO in the default starter) - -For the uploads to work, all three of them need to be able to reach each other. -This is because the client uploads directly to the object storage. - -A file upload flows as follows: - -1. Client that wants to upload a file asks museum where it should upload the - file to -2. museum creates pre-signed URLs for the S3 bucket that was configured -3. Client directly uploads to the S3 buckets these URLs -4. Client finally informs museum that a file has been uploaded to this URL - -The upshot of this is that _both_ the client and museum should be able to reach -your S3 bucket. - -## Configuring S3 - -The URL for the S3 bucket is configured in -[scripts/compose/credentials.yaml](https://github.com/ente-io/ente/blob/main/server/scripts/compose/credentials.yaml#L10). - -You can edit this file directly while testing, though it is more robust to -create a `museum.yaml` (in the same folder as the Docker compose file) and to -setup your custom configuration there. - -> [!TIP] For more details about these configuration objects, see the -> documentation for the `s3` object in -> [configurations/local.yaml](https://github.com/ente-io/ente/blob/main/server/configurations/local.yaml). - -By default, you only need to configure the endpoint for the first bucket. - -The Docker compose file is shipped with MinIO as the self hosted S3 compatible -storage. By default, MinIO server is served on `localhost:3200` and the MinIO UI -on `localhost:3201`. - -For example, in a localhost network situation, the way this connection works is, -museum (`1`) and MinIO (`2`) run on the same Docker network and the web app -(`3`) will also be hosted on your localhost. This enables all the three -components of the setup to communicate with each other seamlessly. - -The same principle applies if you're deploying to your custom domain. +# Configuring S3 ## Replication - - -
Community contributed diagram of Ente's replication process
- > [!IMPORTANT] > > As of now, replication works only if all the 3 storage type needs are > fulfilled (1 hot, 1 cold and 1 glacier storage). > -> [Reference](https://github.com/ente-io/ente/discussions/3167#discussioncomment-10585970) +> For more information, check this [discussion](https://github.com/ente-io/ente/discussions/3167#discussioncomment-10585970). If you're wondering why there are 3 buckets on the MinIO UI - that's because our production instance uses these to perform diff --git a/docs/docs/self-hosting/index.md b/docs/docs/self-hosting/index.md index ed17a17a54..d5c76eaa72 100644 --- a/docs/docs/self-hosting/index.md +++ b/docs/docs/self-hosting/index.md @@ -12,7 +12,7 @@ For a quick preview of running Ente on your server, make sure you have the follo ## Requirements -- A system with at least 2 GB of RAM and 1 CPU core +- A system with at least 1 GB of RAM and 1 CPU core - [Docker Compose v2](https://docs.docker.com/compose/) > For more details, check out [requirements page](/self-hosting/install/requirements)