Add instance config options.
authorRoger Braun <roger@rogerbraun.net>
Fri, 15 Sep 2017 08:26:28 +0000 (10:26 +0200)
committerRoger Braun <roger@rogerbraun.net>
Fri, 15 Sep 2017 08:26:28 +0000 (10:26 +0200)
config/config.exs
config/dev.exs
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex

index 8f6fe00fbf64382b3bb898044153b88f0e280810..3861f99014ce38d61f2ca68f29444d805fdf4f14 100644 (file)
@@ -34,6 +34,17 @@ config :pleroma, :websub, Pleroma.Web.Websub
 config :pleroma, :ostatus, Pleroma.Web.OStatus
 config :pleroma, :httpoison, HTTPoison
 
+version = with {version, 0} <- System.cmd("git", ["rev-parse", "HEAD"]) do
+            "Pleroma #{String.trim(version)}"
+          else
+            _ -> "Pleroma dev"
+          end
+
+config :pleroma, :instance,
+  version: version,
+  name: "Pleroma",
+  email: "example@example.com"
+
 # Import environment specific config. This must remain at the bottom
 # of this file so it overrides the configuration defined above.
 import_config "#{Mix.env}.exs"
index 6adde84a27205b533947347b08b0f5b02a73ce48..126baea28ef5ed7c598a027883ef3bf9bf86c17c 100644 (file)
@@ -45,3 +45,9 @@ config :pleroma, Pleroma.Repo,
   database: "pleroma_dev",
   hostname: "localhost",
   pool_size: 10
+
+try do
+  import_config "dev.secret.exs"
+rescue
+  _-> nil
+end
index c713c561bca81bab208d62feacfd555d27403714..fa7f24f2dc0ebf5751ec6b48840bfb7c100870ff 100644 (file)
@@ -39,12 +39,23 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
     end
   end
 
+  @instance Application.get_env(:pleroma, :instance)
+
   def masto_instance(conn, _params) do
     response = %{
       uri: Web.base_url,
-      title: Web.base_url,
+      title: Keyword.get(@instance, :name),
       description: "A Pleroma instance, an alternative fediverse server",
-      version: "Pleroma Dev"
+      version: Keyword.get(@instance, :version),
+      email: Keyword.get(@instance, :email),
+      urls: %{
+        streaming_api: String.replace(Web.base_url, ["http","https"], "wss")
+      },
+      stats: %{
+        user_count: 1,
+        status_count: 2,
+        domain_count: 3
+      }
     }
 
     json(conn, response)