From 6c02d8393a9376a3beeddac1a3988d4c7ba85656 Mon Sep 17 00:00:00 2001 From: murf Date: Wed, 15 Nov 2023 16:31:05 +0000 Subject: [PATCH 1/2] Adding notes on external storage settings for Linode Object Store, specifically the settings for the AWS_S3_CUSTOM_DOMAIN and AWS_S3_ENDPOINT_URL --- content/running_bookwyrm/external-storage.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/content/running_bookwyrm/external-storage.md b/content/running_bookwyrm/external-storage.md index e964a5ee..41c0b46a 100644 --- a/content/running_bookwyrm/external-storage.md +++ b/content/running_bookwyrm/external-storage.md @@ -38,12 +38,18 @@ Edit your `.env` file by uncommenting the following lines: - `AWS_ACCESS_KEY_ID`: your access key ID - `AWS_SECRET_ACCESS_KEY`: your secret access key - `AWS_STORAGE_BUCKET_NAME`: your bucket name -- `AWS_S3_REGION_NAME`: e.g. `"eu-west-1"` for AWS, `"fr-par"` for Scaleway or `"nyc3"` for Digital Ocean +- `AWS_S3_REGION_NAME`: e.g. `"eu-west-1"` for AWS, `"fr-par"` for Scaleway, `"nyc3"` for Digital Ocean or `"cluster-id"` for Linode If your S3-compatible service is Amazon AWS, you should be set. If not, you’ll have to uncomment the following lines: -- `AWS_S3_CUSTOM_DOMAIN`: the domain that will serve the assets, e.g. `"example-bucket-name.s3.fr-par.scw.cloud"` or `"${AWS_STORAGE_BUCKET_NAME}.${AWS_S3_REGION_NAME}.digitaloceanspaces.com"` -- `AWS_S3_ENDPOINT_URL`: the S3 API endpoint, e.g. `"https://s3.fr-par.scw.cloud"` or `"https://${AWS_S3_REGION_NAME}.digitaloceanspaces.com"` +- `AWS_S3_CUSTOM_DOMAIN`: the domain that will serve the assets: + - for Scaleway, e.g. `"example-bucket-name.s3.fr-par.scw.cloud"` + - for Digital Ocean, e.g. `"${AWS_STORAGE_BUCKET_NAME}.${AWS_S3_REGION_NAME}.digitaloceanspaces.com"` + - for Linode Object Storage, this should be set to the cluster domain, e.g. `"eu-central-1.linodeobjects.com"` +- `AWS_S3_ENDPOINT_URL`: the S3 API endpoint: + - for Scaleway, e.g. `"https://s3.fr-par.scw.cloud"` + - for Digital Ocean, e.g. `"https://${AWS_S3_REGION_NAME}.digitaloceanspaces.com"` + - For Linode Object Storage, set this to the cluster domain, e.g. `"https://eu-central-1.linodeobjects.com"` ### Copying local media to external storage From b70f08330bd7388527d41c49303ef45dc7ee946b Mon Sep 17 00:00:00 2001 From: murf Date: Thu, 16 Nov 2023 09:13:31 +0000 Subject: [PATCH 2/2] Adding notes on external storage settings for Linode Object Store, specifically the settings for the AWS_S3_CUSTOM_DOMAIN and AWS_S3_ENDPOINT_URL as per comment in https://github.com/bookwyrm-social/bookwyrm/issues/2323#issuecomment-1813994018 --- content/running_bookwyrm/external-storage.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/content/running_bookwyrm/external-storage.md b/content/running_bookwyrm/external-storage.md index 41c0b46a..a734644f 100644 --- a/content/running_bookwyrm/external-storage.md +++ b/content/running_bookwyrm/external-storage.md @@ -118,6 +118,19 @@ Then, run the following command: No output means it should be good. +### Additional Step for Linode Object Storage Users + +For Linode, you now need to make an alteration to the `.env` to ensure that the generated links to your storage objects are correct. If you miss this step, all the links to images and static files (like css) will be broken. +To fix this, you need to now insert the bucket-name into the `AWS_S3_CUSTOM_DOMAIN`, for example if your `AWS_STORAGE_BUCKET_NAME` is `"my-bookwyrm-bucket"`, then set it to: + +``` +AWS_S3_CUSTOM_DOMAIN=my-bookwyrm-bucket.cluster-id.linodeobjects.com +``` + +*Note*: From this point on, any bw-dev copy or sync commands will place objects into an incorrect location in your object store, so if you need to use them, revert to the previous setting, run and re-enable. + +### New Instance + If you are starting a new BookWyrm instance, you can go back to the setup instructions right now. If not, keep on reading. ### Restarting your instance