X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fmix%2Ftasks%2Fpleroma%2Finstance.ex;h=52fd184b5d9e7defb244ad92db0d28e1cd91a2b2;hb=551f92dd50f8c581d29dabd3ffd48f46587d8ca9;hp=853c4eaa26fe1456dce6d04cdfb75fe9c862c564;hpb=31c89acd00396f95a35ea325ed848ffeb2826017;p=akkoma
diff --git a/lib/mix/tasks/pleroma/instance.ex b/lib/mix/tasks/pleroma/instance.ex
index 853c4eaa2..52fd184b5 100644
--- a/lib/mix/tasks/pleroma/instance.ex
+++ b/lib/mix/tasks/pleroma/instance.ex
@@ -1,5 +1,5 @@
# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors
+# Copyright © 2017-2021 Pleroma Authors
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Mix.Tasks.Pleroma.Instance do
@@ -9,7 +9,7 @@ defmodule Mix.Tasks.Pleroma.Instance do
alias Pleroma.Config
@shortdoc "Manages Pleroma instance"
- @moduledoc File.read!("docs/administration/CLI_tasks/instance.md")
+ @moduledoc File.read!("docs/docs/administration/CLI_tasks/instance.md")
def run(["gen" | rest]) do
{options, [], []} =
@@ -59,7 +59,7 @@ defmodule Mix.Tasks.Pleroma.Instance do
get_option(
options,
:domain,
- "What domain will your instance use? (e.g pleroma.soykaf.com)"
+ "What domain will your instance use? (e.g akkoma.example.com)"
),
":"
) ++ [443]
@@ -100,14 +100,14 @@ defmodule Mix.Tasks.Pleroma.Instance do
dbhost = get_option(options, :dbhost, "What is the hostname of your database?", "localhost")
- dbname = get_option(options, :dbname, "What is the name of your database?", "pleroma")
+ dbname = get_option(options, :dbname, "What is the name of your database?", "akkoma")
dbuser =
get_option(
options,
:dbuser,
"What is the user used to connect to your database?",
- "pleroma"
+ "akkoma"
)
dbpass =
@@ -199,6 +199,7 @@ defmodule Mix.Tasks.Pleroma.Instance do
secret = :crypto.strong_rand_bytes(64) |> Base.encode64() |> binary_part(0, 64)
jwt_secret = :crypto.strong_rand_bytes(64) |> Base.encode64() |> binary_part(0, 64)
signing_salt = :crypto.strong_rand_bytes(8) |> Base.encode64() |> binary_part(0, 8)
+ lv_signing_salt = :crypto.strong_rand_bytes(8) |> Base.encode64() |> binary_part(0, 8)
{web_push_public_key, web_push_private_key} = :crypto.generate_key(:ecdh, :prime256v1)
template_dir = Application.app_dir(:pleroma, "priv") <> "/templates"
@@ -217,6 +218,7 @@ defmodule Mix.Tasks.Pleroma.Instance do
secret: secret,
jwt_secret: jwt_secret,
signing_salt: signing_salt,
+ lv_signing_salt: lv_signing_salt,
web_push_public_key: Base.url_encode64(web_push_public_key, padding: false),
web_push_private_key: Base.url_encode64(web_push_private_key, padding: false),
db_configurable?: db_configurable?,
@@ -242,6 +244,17 @@ defmodule Mix.Tasks.Pleroma.Instance do
rum_enabled: rum_enabled
)
+ config_dir = Path.dirname(config_path)
+ psql_dir = Path.dirname(psql_path)
+
+ to_create =
+ [config_dir, psql_dir, static_dir, uploads_dir]
+ |> Enum.reject(&File.exists?/1)
+
+ for dir <- to_create do
+ File.mkdir_p!(dir)
+ end
+
shell_info("Writing config to #{config_path}.")
File.write(config_path, result_config)
@@ -275,10 +288,6 @@ defmodule Mix.Tasks.Pleroma.Instance do
indexable: indexable
)
- unless File.exists?(static_dir) do
- File.mkdir_p!(static_dir)
- end
-
robots_txt_path = Path.join(static_dir, "robots.txt")
if File.exists?(robots_txt_path) do
@@ -314,6 +323,4 @@ defmodule Mix.Tasks.Pleroma.Instance do
enabled_filters
end
-
- defp upload_filters(_), do: []
end