WIP: Adding ente documentation #826
No reviewers
Labels
No labels
action
check-aws
action
discussion-needed
action
for-external-contributors
action
for-newcomers
action
more-info-needed
action
need-funding
action
triage-required
kind
correctness
kind
ideas
kind
improvement
kind
performance
kind
testing
kind
usability
kind
wrong-behavior
prio
critical
prio
low
scope
admin-api
scope
background-healing
scope
build
scope
documentation
scope
k8s
scope
layout
scope
metadata
scope
ops
scope
rpc
scope
s3-api
scope
security
scope
telemetry
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Deuxfleurs/garage#826
Loading…
Reference in a new issue
No description provided.
Delete branch "tcheronneau/garage:main"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adding the documentation to configure ente-server (museum) with garage.
Maybe it's worth merging this in its current state even if it is not perfectly complete? @tcheronneau @maximilien
Thank you really much for the quick guide, which helped me avoid one or two pitfalls when setting up Ente backed up with Garage.
I did find a couple issues however, which are mentionned in the review. The biggest one is the CORS configuration, which currently prevents clients from uploading files.
@ -571,0 +578,4 @@
```bash
garage bucket create ente
garage key create ente-key
garage bucket allow ente --read --write --key ente-key
For the CORS setup to work, the key needs to be
--owner
as well, at least temporarily.@ -571,0 +584,4 @@
We also need to setup some CORS rules to allow the Ente frontend to access the bucket:
```bash
export CORS='{"CORSRules":[{"AllowedHeaders":["*"],"AllowedMethods":["GET"],"AllowedOrigins":["*"]}]}'
Maybe we could be a bit more restrictive in
AllowedHeaders
even if I cannot think of a threat model where this is important.However, we must:
PUT
,POST
andDELETE
in addition toGET
so that Ente can upload and delete objectsEtag
inExposeHeaders
so Ente can read the response Etag when uploading multipart objects (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ManageCorsUsing.html#cors-expose-headers, Ente is doing multipart above 5 x 4MB chunks, so >20MB)@ -571,0 +600,4 @@
local-domain-suffix: "@example.com" # Your domain
local-domain-value: 123456 # Custom One-Time Password since we are not sending mail by default
key:
# You might want to change those next 3 which are the default one
I would say you
must
, especially the jwt secret.@ -571,0 +646,4 @@
b2-eu-cen: # Don't change this key, it seems to be hardcoded
key: <keyID>
secret: <keySecret>
endpoint: garage:3900
We should be using the public garage URL here, so Ente can generate proper pre-signed URLs, as used by the clients.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.