1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Mix.Tasks.Pleroma.ReleaseEnv do
9 @shortdoc "Generate Pleroma environment file."
10 @moduledoc File.read!("docs/administration/CLI_tasks/release_environments.md")
12 def run(["gen" | rest]) do
30 "Environment file path",
36 if File.exists?(env_path) do
40 "Environment file is exist. Do you want overwritten the #{env_path} file? (y/n)",
51 "The file generated: #{env_path}.\nTo use the enviroment file need to add the line ';EnvironmentFile=#{
53 }' in service file (/installation/pleroma.service)."
58 def do_generate(path) do
59 content = "RELEASE_COOKIE=#{Base.encode32(:crypto.strong_rand_bytes(32))}"
61 File.mkdir_p!(Path.dirname(path))
62 File.write!(path, content)