aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Felder <feld@FreeBSD.org>2019-10-22 14:07:59 -0500
committerMark Felder <feld@FreeBSD.org>2019-10-22 14:07:59 -0500
commita1ad8dc34993445033595c8f52e0ee1815e5567d (patch)
tree770f865ed25b5202fcb802344ccd7350a9e9acb8
parentc077dc7af5e2a378223a8d2862df1d52877ea245 (diff)
downloadpleroma-a1ad8dc34993445033595c8f52e0ee1815e5567d.tar.gz
Leverage nginx proxy cache to store items with a 1 year TTL with no size limit.
It does not purge items when they expire, but will only update them if the origin's copy has changed for some reason. If origin is offline/unavailable or gone forever it will still serve the cached copies.
-rw-r--r--docs/administration/storing_remote_media.md13
1 files changed, 8 insertions, 5 deletions
diff --git a/docs/administration/storing_remote_media.md b/docs/administration/storing_remote_media.md
index 7edda2753..0abb85a77 100644
--- a/docs/administration/storing_remote_media.md
+++ b/docs/administration/storing_remote_media.md
@@ -6,22 +6,25 @@ as soon as the post is received by your instance.
## Nginx
-We should be using `proxy_store` here I think???
-
```
+proxy_cache_path /long/term/storage/path/pleroma-media-cache levels=1:2 keys_zone=pleroma_media_cache:10m
+ inactive=1y use_temp_path=off;
+
location ~ ^/(media|proxy) {
proxy_cache pleroma_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 200 206 301 304 1h;
+ proxy_cache_valid 206 301 302 304 1h;
+ proxy_cache_valid 200 1y;
proxy_cache_lock on;
+ proxy_cache_use_stale error timeout invalid_header updating;
proxy_ignore_client_abort on;
proxy_buffering on;
chunked_transfer_encoding on;
- proxy_ignore_headers Cache-Control;
- proxy_hide_header Cache-Control;
+ proxy_ignore_headers Cache-Control Expires;
+ proxy_hide_header Cache-Control Expires;
proxy_pass http://127.0.0.1:4000;
}
```