From ba7be3f895ec187fcd798018f0aa323232625ff6 Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Mon, 24 Jan 2022 12:04:58 +0100 Subject: [PATCH] Add doc for Publii + Peertube --- doc/book/src/connect/apps.md | 169 ++++++------------------- doc/book/src/connect/publii.png | Bin 0 -> 137077 bytes doc/book/src/connect/websites.md | 39 +++--- doc/book/src/cookbook/reverse_proxy.md | 95 ++++++-------- 4 files changed, 95 insertions(+), 208 deletions(-) create mode 100644 doc/book/src/connect/publii.png diff --git a/doc/book/src/connect/apps.md b/doc/book/src/connect/apps.md index 14d69ef8..c9bba409 100644 --- a/doc/book/src/connect/apps.md +++ b/doc/book/src/connect/apps.md @@ -1,6 +1,19 @@ # Apps (Nextcloud, Peertube...) -In this section, we cover the following software: [Nextcloud](#nextcloud), [Peertube](#peertube), [Mastodon](#mastodon), [Matrix](#matrix) +In this section, we cover the following web applications: + +| Name | Status | Note | +|------|--------|------| +| [Nextcloud](#nextcloud) | ✅ | Both Primary Storage and External Storage are supported | +| [Peertube](#peertube) | ✅ | `base_url` must be set to the website endpoint | +| [Mastodon](#mastodon) | ❓ | | +| [Matrix](#matrix) | ✅ | Tested with `synapse-s3-storage-provider` | +| [Pixelfed](#pixelfed) | ❓ | | +| [Pleroma](#pleroma) | ❓ | | +| [Lemmy](#lemmy) | ❓ | | +| [Funkwhale](#funkwhale) | ❓ | | +| [Misskey](#misskey) | ❓ | | +| [Prismo](#prismo) | ❓ | | ## Nextcloud @@ -108,109 +121,8 @@ Do not change the `use_path_style` and `legacy_auth` entries, other configuratio Peertube proposes a clever integration of S3 by directly exposing its endpoint instead of proxifying requests through the application. In other words, Peertube is only responsible of the "control plane" and offload the "data plane" to Garage. -In return, this system is a bit harder to configure, especially with Garage that supports less feature than other older S3 backends. -We show that it is still possible to configure Garage with Peertube, allowing you to spread the load and the bandwidth usage on the Garage cluster. - -### Enable path-style access by patching Peertube - -First, you will need to apply a small patch on Peertube ([#4510](https://github.com/Chocobozzz/PeerTube/pull/4510)): - -```diff -From e3b4c641bdf67e07d406a1d49d6aa6b1fbce2ab4 Mon Sep 17 00:00:00 2001 -From: Martin Honermeyer -Date: Sun, 31 Oct 2021 12:34:04 +0100 -Subject: [PATCH] Allow setting path-style access for object storage - ---- - config/default.yaml | 4 ++++ - config/production.yaml.example | 4 ++++ - server/initializers/config.ts | 1 + - server/lib/object-storage/shared/client.ts | 3 ++- - .../production/config/custom-environment-variables.yaml | 2 ++ - 5 files changed, 13 insertions(+), 1 deletion(-) - -diff --git a/config/default.yaml b/config/default.yaml -index cf9d69a6211..4efd56fb804 100644 ---- a/config/default.yaml -+++ b/config/default.yaml -@@ -123,6 +123,10 @@ object_storage: - # You can also use AWS_SECRET_ACCESS_KEY env variable - secret_access_key: '' - -+ # Reference buckets via path rather than subdomain -+ # (i.e. "my-endpoint.com/bucket" instead of "bucket.my-endpoint.com") -+ force_path_style: false -+ - # Maximum amount to upload in one request to object storage - max_upload_part: 2GB - -diff --git a/config/production.yaml.example b/config/production.yaml.example -index 70993bf57a3..9ca2de5f4c9 100644 ---- a/config/production.yaml.example -+++ b/config/production.yaml.example -@@ -121,6 +121,10 @@ object_storage: - # You can also use AWS_SECRET_ACCESS_KEY env variable - secret_access_key: '' - -+ # Reference buckets via path rather than subdomain -+ # (i.e. "my-endpoint.com/bucket" instead of "bucket.my-endpoint.com") -+ force_path_style: false -+ - # Maximum amount to upload in one request to object storage - max_upload_part: 2GB - -diff --git a/server/initializers/config.ts b/server/initializers/config.ts -index 8375bf4304c..d726c59a4b6 100644 ---- a/server/initializers/config.ts -+++ b/server/initializers/config.ts -@@ -91,6 +91,7 @@ const CONFIG = { - ACCESS_KEY_ID: config.get('object_storage.credentials.access_key_id'), - SECRET_ACCESS_KEY: config.get('object_storage.credentials.secret_access_key') - }, -+ FORCE_PATH_STYLE: config.get('object_storage.force_path_style'), - VIDEOS: { - BUCKET_NAME: config.get('object_storage.videos.bucket_name'), - PREFIX: config.get('object_storage.videos.prefix'), -diff --git a/server/lib/object-storage/shared/client.ts b/server/lib/object-storage/shared/client.ts -index c9a61459336..eadad02f93f 100644 ---- a/server/lib/object-storage/shared/client.ts -+++ b/server/lib/object-storage/shared/client.ts -@@ -26,7 +26,8 @@ function getClient () { - accessKeyId: OBJECT_STORAGE.CREDENTIALS.ACCESS_KEY_ID, - secretAccessKey: OBJECT_STORAGE.CREDENTIALS.SECRET_ACCESS_KEY - } -- : undefined -+ : undefined, -+ forcePathStyle: CONFIG.OBJECT_STORAGE.FORCE_PATH_STYLE - }) - - logger.info('Initialized S3 client %s with region %s.', getEndpoint(), OBJECT_STORAGE.REGION, lTags()) -diff --git a/support/docker/production/config/custom-environment-variables.yaml b/support/docker/production/config/custom-environment-variables.yaml -index c7cd28e6521..a960bab0bc9 100644 ---- a/support/docker/production/config/custom-environment-variables.yaml -+++ b/support/docker/production/config/custom-environment-variables.yaml -@@ -54,6 +54,8 @@ object_storage: - - region: "PEERTUBE_OBJECT_STORAGE_REGION" - -+ force_path_style: "PEERTUBE_OBJECT_STORAGE_FORCE_PATH_STYLE" -+ - max_upload_part: - __name: "PEERTUBE_OBJECT_STORAGE_MAX_UPLOAD_PART" - __format: "json" -``` - -You can then recompile it with: - -``` -npm run build -``` - -And it can be started with: - -``` -NODE_ENV=production NODE_CONFIG_DIR=/srv/peertube/config node dist/server.js -``` +In return, this system is a bit harder to configure. +We show how it is still possible to configure Garage with Peertube, allowing you to spread the load and the bandwidth usage on the Garage cluster. ### Create resources in Garage @@ -232,31 +144,32 @@ garage bucket create peertube-playlist Now we allow our key to read and write on these buckets: ``` -garage bucket allow peertube-playlist --read --write --key peertube-key -garage bucket allow peertube-video --read --write --key peertube-key +garage bucket allow peertube-playlists --read --write --owner --key peertube-key +garage bucket allow peertube-videos --read --write --owner --key peertube-key ``` -Finally, we need to expose these buckets publicly to serve their content to users: +We also need to expose these buckets publicly to serve their content to users: ```bash -garage bucket website --allow peertube-playlist -garage bucket website --allow peertube-video +garage bucket website --allow peertube-playlists +garage bucket website --allow peertube-videos +``` + +Finally, we must allow Cross-Origin Resource Sharing (CORS). +CORS are required by your browser to allow requests triggered from the peertube website (eg. peertube.tld) to your bucket's domain (eg. peertube-videos.web.garage.tld) + +```bash +export CORS='{"CORSRules":[{"AllowedHeaders":["*"],"AllowedMethods":["GET"],"AllowedOrigins":["*"]}]}' +aws --endpoint http://s3.garage.localhost s3api put-bucket-cors --bucket peertube-playlists --cors-configuration $CORS +aws --endpoint http://s3.garage.localhost s3api put-bucket-cors --bucket peertube-videos --cors-configuration $CORS ``` These buckets are now accessible on the web port (by default 3902) with the following URL: `http://:` where the root domain is defined in your configuration file (by default `.web.garage`). So we have currently the following URLs: - * http://peertube-playlist.web.garage:3902 - * http://peertube-video.web.garage:3902 + * http://peertube-playlists.web.garage:3902 + * http://peertube-videos.web.garage:3902 Make sure you (will) have a corresponding DNS entry for them. -### Configure a Reverse Proxy to serve CORS - -Now we will configure a reverse proxy in front of Garage. -This is required as we have no other way to serve CORS headers yet. -Check the [Configuring a reverse proxy](/cookbook/reverse_proxy.html) section to know how. - -Now make sure that your 2 dns entries are pointing to your reverse proxy. - ### Configure Peertube You must edit the file named `config/production.yaml`, we are only modifying the root key named `object_storage`: @@ -268,9 +181,6 @@ object_storage: # Put localhost only if you have a garage instance running on that node endpoint: 'http://localhost:3900' # or "garage.example.com" if you have TLS on port 443 - # This entry has been added by our patch, must be set to true - force_path_style: true - # Garage supports only one region for now, named garage region: 'garage' @@ -287,28 +197,23 @@ object_storage: prefix: '' # You must fill this field to make Peertube use our reverse proxy/website logic - base_url: 'http://peertube-playlist.web.garage' # Example: 'https://mirror.example.com' + base_url: 'http://peertube-playlists.web.garage.localhost' # Example: 'https://mirror.example.com' # Same settings but for webtorrent videos videos: bucket_name: 'peertube-video' prefix: '' # You must fill this field to make Peertube use our reverse proxy/website logic - base_url: 'http://peertube-video.web.garage' + base_url: 'http://peertube-videos.web.garage.localhost' ``` ### That's all Everything must be configured now, simply restart Peertube and try to upload a video. -You must see in your browser console that data are fetched directly from our bucket (through the reverse proxy). -### Miscellaneous - -*Known bug:* The playback does not start and some 400 Bad Request Errors appear in your browser console and on Garage. -If the description of the error contains HTTP Invalid Range: InvalidRange, the error is due to a buggy ffmpeg version. -You must avoid the 4.4.0 and use either a newer or older version. - -*Associated issues:* [#137](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/137), [#138](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/138), [#140](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/140). These issues are non blocking. +Peertube will start by serving the video from its own domain while it is encoding. +Once the encoding is done, the video is uploaded to Garage. +You can now reload the page and see in your browser console that data are fetched directly from your bucket. *External link:* [Peertube Documentation > Remote Storage](https://docs.joinpeertube.org/admin-remote-storage) diff --git a/doc/book/src/connect/publii.png b/doc/book/src/connect/publii.png new file mode 100644 index 0000000000000000000000000000000000000000..4b175f537987fbc7ca6b8404d1538bf3d26786f4 GIT binary patch literal 137077 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 literal 0 HcmV?d00001 diff --git a/doc/book/src/connect/websites.md b/doc/book/src/connect/websites.md index 6f66c8d0..6c3197df 100644 --- a/doc/book/src/connect/websites.md +++ b/doc/book/src/connect/websites.md @@ -3,6 +3,12 @@ Garage is also suitable to host static websites. While they can be deployed with traditional CLI tools, some static website generators have integrated options to ease your workflow. +| Name | Status | Note | +|------|--------|------| +| [Hugo](#hugo) | ✅ | Publishing logic is integrated in the tool | +| [Publii](#publii) | ✅ | Require a correctly configured s3 vhost endpoint | +| [Generic Static Site Generator](#generic-static-site-generator) | ✅ | Works for Jekyll, Zola, Gatsby, Pelican, etc. | + ## Hugo Add to your `config.toml` the following section: @@ -39,39 +45,38 @@ hugo deploy ## Publii -It would require a patch either on Garage or on Publii to make both systems work. +[![A screenshot of Publii's GUI](./publii.png)](./publii.png) -Currently, the proposed workaround is to deploy your website manually: - - On the left menu, click on Server, choose Manual Deployment (the logo looks like a compressed file) - - Set your website URL, keep Output type as "Non-compressed catalog" - - Click on Save changes - - Click on Sync your website (bottom left of the app) - - On the new page, click again on Sync your website - - Click on Get website files - - You need to synchronize the output folder you see in your file explorer, we will use minio client. +Deploying a website to Garage from Publii is natively supported. +First, make sure that your Garage administrator allowed and configured Garage to support vhost access style. +We also suppose that your bucket ("my-bucket") and key is already created and configured. -Be sure that you [configured minio client](cli.html#minio-client-recommended). +Then, from the left menu, click on server. Choose "S3" as the protocol. +In the configuration window, enter: + - Your finale website URL (eg. "http://my-bucket.web.garage.localhost:3902") + - Tick "Use a custom S3 provider" + - Set the S3 endpoint, (eg. "http://s3.garage.localhost:3900") + - Then put your access key (eg. "GK..."), your secret key, and your bucket (eg. "my-bucket") + - And hit the button "Save settings" -Then copy this output folder +Now, each time you want to publish your website from Publii, just hit the bottom left button "Sync your website"! -```bash -mc mirror --overwrite output garage/my-site -``` -## Generic (eg. Jekyll) + +## Generic Static Site Generator Some tools do not support sending to a S3 backend but output a compiled folder on your system. We can then use any CLI tool to upload this content to our S3 target. First, start by [configuring minio client](cli.html#minio-client-recommended). -Then build your website: +Then build your website (example for jekyll): ```bash jekyll build ``` -And copy jekyll's output folder on S3: +And copy its output folder (`_site` for Jekyll) on S3: ```bash mc mirror --overwrite _site garage/my-site diff --git a/doc/book/src/cookbook/reverse_proxy.md b/doc/book/src/cookbook/reverse_proxy.md index 14633ae8..50056dd2 100644 --- a/doc/book/src/cookbook/reverse_proxy.md +++ b/doc/book/src/cookbook/reverse_proxy.md @@ -1,6 +1,6 @@ # Configuring a reverse proxy -The main reason to add a reverse proxy in front of Garage is to provide TLS to your users. +The main reason to add a reverse proxy in front of Garage is to provide TLS to your users and serve multiple web services on port 443. In production you will likely need your certificates signed by a certificate authority. The most automated way is to use a provider supporting the [ACME protocol](https://datatracker.ietf.org/doc/html/rfc8555) @@ -55,16 +55,15 @@ If you directly put the instructions in the root `nginx.conf`, keep in mind that And do not forget to reload nginx with `systemctl reload nginx` or `nginx -s reload`. -### Defining backends +### Exposing the S3 endpoints First, we need to tell to nginx how to access our Garage cluster. Because we have multiple nodes, we want to leverage all of them by spreading the load. +In nginx, we can do that with the `upstream` directive. -In nginx, we can do that with the upstream directive. -Because we have 2 endpoints: one for the S3 API and one to serve websites, -we create 2 backends named respectively `s3_backend` and `web_backend`. +Then in a `server` directive, we define the vhosts, the TLS certificates and the proxy rule. -A documented example for the `s3_backend` assuming you chose port 3900: +A possible configuration: ```nginx upstream s3_backend { @@ -78,9 +77,34 @@ upstream s3_backend { # that are more powerful than others server garage2.example.com:3900 weight=2; } + +server { + listen [::]:443 http2 ssl; + + ssl_certificate /tmp/garage.crt; + ssl_certificate_key /tmp/garage.key; + + # You need multiple server names here: + # - s3.garage.tld is used for path-based s3 requests + # - *.s3.garage.tld is used for vhost-based s3 requests + server_name s3.garage.tld *.s3.garage.tld; + + location / { + proxy_pass http://s3_backend; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + } +} ``` -A similar example for the `web_backend` assuming you chose port 3902: +## Exposing the web endpoint + +To better understand the logic involved, you can refer to the [Exposing buckets as websites](/cookbook/exposing_websites.html) section. +Otherwise, the configuration is very similar to the S3 endpoint. +You must only adapt `upstream` with the web port instead of the s3 port and change the `server_name` and `proxy_pass` entry + +A possible configuration: + ```nginx upstream web_backend { @@ -89,65 +113,19 @@ upstream web_backend { server garage1.example.com:3902; server garage2.example.com:3902 weight=2; } -``` -### Exposing the S3 API - -The configuration section for the S3 API is simple as we only support path-access style yet. -We simply configure the TLS parameters and forward all the requests to the backend: - -```nginx server { listen [::]:443 http2 ssl; + ssl_certificate /tmp/garage.crt; ssl_certificate_key /tmp/garage.key; - # should be the endpoint you want - # aws uses s3.amazonaws.com for example - server_name garage.example.com; + # You need multiple server names here: + # - *.web.garage.tld is used for your users wanting a website without reserving a domain name + # - example.com, my-site.tld, etc. are reserved domain name by your users that chose to host their website as a garage's bucket + server_name *.web.garage.tld example.com my-site.tld; location / { - proxy_pass http://s3_backend; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - } -} - -``` - -### Exposing the web endpoint - -The web endpoint is a bit more complicated to configure as it listens on many different `Host` fields. -To better understand the logic involved, you can refer to the [Exposing buckets as websites](/cookbook/exposing_websites.html) section. -Also, for some applications, you may need to serve CORS headers: Garage can not serve them directly but we show how we can use nginx to serve them. -You can use the following example as your starting point: - -```nginx -server { - listen [::]:443 http2 ssl; - ssl_certificate /tmp/garage.crt; - ssl_certificate_key /tmp/garage.key; - - # We list all the Hosts fields that can access our buckets - server_name *.web.garage - example.com - my-site.tld - ; - - location / { - # Add these headers only if you want to allow CORS requests - # For production use, more specific rules would be better for your security - add_header Access-Control-Allow-Origin *; - add_header Access-Control-Max-Age 3600; - add_header Access-Control-Expose-Headers Content-Length; - add_header Access-Control-Allow-Headers Range; - - # We do not forward OPTIONS requests to Garage - # as it does not support them but they are needed for CORS. - if ($request_method = OPTIONS) { - return 200; - } - proxy_pass http://web_backend; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; @@ -155,7 +133,6 @@ server { } ``` - ## Apache httpd @TODO