updated docs
This commit is contained in:
parent
3f8d68bdf3
commit
c33a4315fb
4 changed files with 27 additions and 9 deletions
|
@ -380,10 +380,7 @@
|
|||
enabled: false,
|
||||
invalidation: [
|
||||
enabled: false,
|
||||
provider: Pleroma.Web.MediaProxy.Invalidation.Script,
|
||||
options: %{
|
||||
script_path: "./installation/nginx-cache-purge.example"
|
||||
}
|
||||
provider: Pleroma.Web.MediaProxy.Invalidation.Script
|
||||
],
|
||||
proxy_opts: [
|
||||
redirect_on_failure: false,
|
||||
|
|
|
@ -249,6 +249,26 @@ This section describe PWA manifest instance-specific values. Currently this opti
|
|||
* `base_url`: The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host/CDN fronts.
|
||||
* `proxy_opts`: All options defined in `Pleroma.ReverseProxy` documentation, defaults to `[max_body_length: (25*1_048_576)]`.
|
||||
* `whitelist`: List of domains to bypass the mediaproxy
|
||||
* `invalidation`: options for remove media from cache after delete object:
|
||||
* `enabled`: Enables purge cache
|
||||
* `provider`: Which one of the [purge cache strategy](#purge-cache-strategy) to use.
|
||||
|
||||
### Purge cache strategy
|
||||
|
||||
#### Pleroma.Web.MediaProxy.Invalidation.Script
|
||||
|
||||
This strategy allow perform external bash script to purge cache.
|
||||
Urls of attachments pass to script as arguments.
|
||||
|
||||
* `script_path`: path to external script.
|
||||
|
||||
#### Pleroma.Web.MediaProxy.Invalidation.Http
|
||||
|
||||
This strategy allow perform custom http request to purge cache.
|
||||
|
||||
* `method`: http method. default is `purge`
|
||||
* `headers`: http headers. default is empty
|
||||
* `options`: request options. default is empty
|
||||
|
||||
## Link previews
|
||||
|
||||
|
|
|
@ -10,8 +10,9 @@ def purge(urls) do
|
|||
end
|
||||
|
||||
defp do_purge(true, urls) do
|
||||
config = Config.get([:media_proxy, :invalidation])
|
||||
config[:provider].purge(urls, config[:options])
|
||||
provider = Config.get([:media_proxy, :invalidation, :provider])
|
||||
options = Config.get(provider)
|
||||
provider.purge(urls, options)
|
||||
:ok
|
||||
end
|
||||
|
||||
|
|
|
@ -3,9 +3,9 @@ defmodule Pleroma.Web.MediaProxy.Invalidation.Http do
|
|||
|
||||
@impl Pleroma.Web.MediaProxy.Invalidation
|
||||
def purge(urls, opts) do
|
||||
method = Map.get(opts, :http_method, :purge)
|
||||
headers = Map.get(opts, :http_headers, [])
|
||||
options = Map.get(opts, :http_options, [])
|
||||
method = Map.get(opts, :method, :purge)
|
||||
headers = Map.get(opts, :headers, [])
|
||||
options = Map.get(opts, :options, [])
|
||||
|
||||
Enum.each(urls, fn url ->
|
||||
Pleroma.HTTP.request(method, url, "", headers, options)
|
||||
|
|
Loading…
Reference in a new issue