aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/config.exs11
-rw-r--r--config/dev.exs6
-rw-r--r--lib/pleroma/web/mastodon_api/mastodon_api_controller.ex15
3 files changed, 30 insertions, 2 deletions
diff --git a/config/config.exs b/config/config.exs
index 8f6fe00fb..3861f9901 100644
--- a/config/config.exs
+++ b/config/config.exs
@@ -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"
diff --git a/config/dev.exs b/config/dev.exs
index 6adde84a2..126baea28 100644
--- a/config/dev.exs
+++ b/config/dev.exs
@@ -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
diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
index c713c561b..fa7f24f2d 100644
--- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
+++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
@@ -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)