match nginx config to install config and extend docs a bit
authorflisk <akkomadev.mvch71fq@flisk.xyz>
Sun, 26 Feb 2023 22:39:18 +0000 (23:39 +0100)
committerflisk <akkomadev.mvch71fq@flisk.xyz>
Sun, 26 Feb 2023 22:58:55 +0000 (23:58 +0100)
docs/docs/configuration/storing_remote_media.md

index 1d60053ca0f22c88f8d0b35d33d8b3e1fcebf44f..deb1651b83c02688fb2a8adc6c7f3ae396adb700 100644 (file)
@@ -6,34 +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;
-        proxy_hide_header  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`.