Config docs
authorhref <href@random.sh>
Fri, 30 Nov 2018 16:44:42 +0000 (17:44 +0100)
committerhref <href@random.sh>
Fri, 30 Nov 2018 17:02:51 +0000 (18:02 +0100)
config/config.exs
config/config.md
lib/pleroma/web/media_proxy/controller.ex

index d7869464ed7a41dce0c6e54577957b486a2c6e0b..12f47389c5c919a90aa490a822b32b5f58e6396f 100644 (file)
@@ -13,17 +13,10 @@ config :pleroma, Pleroma.Repo, types: Pleroma.PostgresTypes
 # Upload configuration
 config :pleroma, Pleroma.Upload,
   uploader: Pleroma.Uploaders.Local,
-  # filters: [Pleroma.Upload.DedupeFilter, Pleroma.Upload.MogrifyFilter],
   filters: [],
   proxy_remote: false,
   proxy_opts: []
 
-# Strip Exif
-# Also put Pleroma.Upload.MogrifyFilter in the `filters` list of Pleroma.Upload configuration.
-# config :pleroma, Pleroma.Upload.MogrifyFilter,
-#  args: "strip"
-#  Pleroma.Upload.MogrifyFilter: [args: "strip"]
-
 config :pleroma, Pleroma.Uploaders.Local, uploads: "uploads"
 
 config :pleroma, Pleroma.Uploaders.S3,
index c843bca5d87b63c35ba68b696f24d7043563a9d7..47e838dd60acb56e27d458e0a0d870a043534305 100644 (file)
@@ -5,11 +5,19 @@ If you run Pleroma with ``MIX_ENV=prod`` the file is ``prod.secret.exs``, otherw
 
 ## Pleroma.Upload
 * `uploader`: Select which `Pleroma.Uploaders` to use
-* `strip_exif`: boolean, uses ImageMagick(!) to strip exif.
+* `filters`: List of `Pleroma.Upload.Filter` to use.
+* `base_url`: The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host.
+* `proxy_remote`: If you're using a remote uploader, Pleroma will proxy media requests instead of redirecting to it.
+* `proxy_opts`: Proxy options, see `Pleroma.ReverseProxy` documentation.
+
+Note: `strip_exif` has been replaced by `Pleroma.Upload.Filter.Mogrify`.
 
 ## Pleroma.Uploaders.Local
 * `uploads`: Which directory to store the user-uploads in, relative to pleroma’s working directory
-* `uploads_url`: The URL to access a user-uploaded file, ``{{base_url}}`` is replaced to the instance URL and ``{{file}}`` to the filename. Useful when you want to proxy the media files via another host.
+
+## Pleroma.Upload.Filter.Mogrify
+
+* `args`: List of actions for the `mogrify` command like `"strip"` or `["strip", {"impode", "1"}]`.
 
 ## :uri_schemes
 * `valid_schemes`: List of the scheme part that is considered valid to be an URL
@@ -68,7 +76,8 @@ This section is used to configure Pleroma-FE, unless ``:managed_config`` in ``:i
 
 ## :media_proxy
 * `enabled`: Enables proxying of remote media to the instance’s proxy
-* `redirect_on_failure`: Use the original URL when Media Proxy fails to get it
+* `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)]`.
 
 ## :gopher
 * `enabled`: Enables the gopher interface
index 324f752633d62d8b28f877664cdf174186b91f71..81ea5d51012aef5f8bbb8ef5983fa1a433605b1d 100644 (file)
@@ -2,13 +2,15 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyController do
   use Pleroma.Web, :controller
   alias Pleroma.{Web.MediaProxy, ReverseProxy}
 
+  @default_proxy_opts [max_body_length: 25 * 1_048_576]
+
   def remote(conn, params = %{"sig" => sig64, "url" => url64}) do
     with config <- Pleroma.Config.get([:media_proxy]),
          true <- Keyword.get(config, :enabled, false),
          {:ok, url} <- MediaProxy.decode_url(sig64, url64),
          filename <- Path.basename(URI.parse(url).path),
          :ok <- filename_matches(Map.has_key?(params, "filename"), conn.request_path, url) do
-      ReverseProxy.call(conn, url, Keyword.get(config, :proxy_opts, []))
+      ReverseProxy.call(conn, url, Keyword.get(config, :proxy_opts, @default_proxy_length))
     else
       false ->
         send_resp(conn, 404, Plug.Conn.Status.reason_phrase(404))