Merge pull request 'fix invalid proxy_hide_header in example config' (#472) from...
authorfloatingghost <hannah@coffee-and-dreams.uk>
Thu, 2 Mar 2023 11:19:46 +0000 (11:19 +0000)
committerfloatingghost <hannah@coffee-and-dreams.uk>
Thu, 2 Mar 2023 11:19:46 +0000 (11:19 +0000)
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/472

docs/docs/configuration/storing_remote_media.md

index ebea013395baab392f460622bf43f9b30a47ac99..deb1651b83c02688fb2a8adc6c7f3ae396adb700 100644 (file)
@@ -6,33 +6,46 @@ as soon as the post is received by your instance.
 
 ## Nginx
 
+The following are excerpts from the [suggested nginx config](../../../installation/nginx/akkoma.nginx) that demonstrates the necessary config for the media proxy to work.
+
+A `proxy_cache_path` must be defined, for example:
+
+```
+proxy_cache_path /long/term/storage/path/akkoma-media-cache levels=1:2
+    keys_zone=akkoma_media_cache:10m inactive=1y use_temp_path=off;
 ```
-    proxy_cache_path /long/term/storage/path/akkoma-media-cache levels=1:2
-        keys_zone=akkoma_media_cache:10m inactive=1y use_temp_path=off;
 
+The `proxy_cache_path` must then be configured for use with media proxy paths:
+
+```
     location ~ ^/(media|proxy) {
         proxy_cache        akkoma_media_cache;
         slice              1m;
         proxy_cache_key    $host$uri$is_args$args$slice_range;
         proxy_set_header   Range $slice_range;
-        proxy_http_version 1.1;
-        proxy_cache_valid  206 301 302 304 1h;
-        proxy_cache_valid  200 1y;
-        proxy_cache_use_stale error timeout invalid_header updating;
+        proxy_cache_valid  200 206 301 304 1h;
+        proxy_cache_lock   on;
         proxy_ignore_client_abort on;
         proxy_buffering    on;
         chunked_transfer_encoding on;
-        proxy_ignore_headers Cache-Control Expires;
-        proxy_hide_header  Cache-Control Expires;
-        proxy_pass         http://127.0.0.1:4000;
+        proxy_pass         http://phoenix;
     }
+}
 ```
 
+Ensure that `proxy_http_version 1.1;` is set for the above `location` block. In the suggested config, this is already the case.
+
 ## Akkoma
 
-Add to your `prod.secret.exs`:
+### File-based Configuration
+
+If you're using static file configuration, add the `MediaProxyWarmingPolicy` to your MRF policies. For example:
 
 ```
 config :pleroma, :mrf,
   policies: [Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy]
 ```
+
+### Database Configuration
+
+In the admin interface, add `MediaProxyWarmingPolicy` to the `Policies` option under `Settings` → `MRF`.