start gun upload pool, if proxy_remote is enabled
[akkoma] / lib / pleroma / pool / supervisor.ex
index 32be2264dcdc5e0cba3a859c5c4d76e56b35ce3d..8dc5b64b727774328e7b315b18722cbf31201b7a 100644 (file)
@@ -1,10 +1,11 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Pool.Supervisor do
   use Supervisor
 
+  alias Pleroma.Config
   alias Pleroma.Pool
 
   def start_link(args) do
@@ -17,8 +18,7 @@ defmodule Pleroma.Pool.Supervisor do
         %{
           id: Pool.Connections,
           start:
-            {Pool.Connections, :start_link,
-             [{:gun_connections, Pleroma.Config.get([:connections_pool])}]}
+            {Pool.Connections, :start_link, [{:gun_connections, Config.get([:connections_pool])}]}
         }
       ] ++ pools()
 
@@ -26,7 +26,16 @@ defmodule Pleroma.Pool.Supervisor do
   end
 
   defp pools do
-    for {pool_name, pool_opts} <- Pleroma.Config.get([:pools]) do
+    pools = Config.get(:pools)
+
+    pools =
+      if Config.get([Pleroma.Upload, :proxy_remote]) == false do
+        Keyword.delete(pools, :upload)
+      else
+        pools
+      end
+
+    for {pool_name, pool_opts} <- pools do
       pool_opts
       |> Keyword.put(:id, {Pool, pool_name})
       |> Keyword.put(:name, pool_name)