[#2497] Fixed merge issue.
[akkoma] / lib / pleroma / pool / supervisor.ex
index f436849ac8d88f5024c69d8f17a248789b7705fc..faf646cb2b09cb498fbe15afc8f151eb91c8fa32 100644 (file)
@@ -5,6 +5,7 @@
 defmodule Pleroma.Pool.Supervisor do
   use Supervisor
 
+  alias Pleroma.Config
   alias Pleroma.Pool
 
   def start_link(args) do
@@ -12,21 +13,26 @@ defmodule Pleroma.Pool.Supervisor do
   end
 
   def init(_) do
-    children =
-      [
-        %{
-          id: Pool.Connections,
-          start:
-            {Pool.Connections, :start_link,
-             [{:gun_connections, Pleroma.Config.get([:connections_pool])}]}
-        }
-      ] ++ pools()
-
-    Supervisor.init(children, strategy: :one_for_one)
+    conns_child = %{
+      id: Pool.Connections,
+      start:
+        {Pool.Connections, :start_link, [{:gun_connections, Config.get([:connections_pool])}]}
+    }
+
+    Supervisor.init([conns_child | pools()], strategy: :one_for_one)
   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)