Browse Source

Add configurable temporary directory

2298-weird-follow-issue
Egor Kislitsyn 3 years ago
parent
commit
e52dd62e14
No known key found for this signature in database GPG Key ID: 1B49CB15B71E7805
3 changed files with 14 additions and 2 deletions
  1. +2
    -1
      config/config.exs
  2. +6
    -0
      docs/configuration/cheatsheet.md
  3. +6
    -1
      lib/pleroma/backup.ex

+ 2
- 1
config/config.exs View File

@@ -820,7 +820,8 @@ config :pleroma, Pleroma.Web.Auth.Authenticator, Pleroma.Web.Auth.PleromaAuthent

config :pleroma, Pleroma.Backup,
purge_after_days: 30,
limit_days: 7
limit_days: 7,
dir: nil

# Import environment specific config. This must remain at the bottom
# of this file so it overrides the configuration defined above.


+ 6
- 0
docs/configuration/cheatsheet.md View File

@@ -1090,6 +1090,12 @@ Control favicons for instances.

* `:purge_after_days` an integer, remove backup achives after N days.
* `:limit_days` an integer, limit user to export not more often than once per N days.
* `:dir` a string with a path to backup temporary directory or `nil` to let Pleroma choose temporary directory in the following order:
1. the directory named by the TMPDIR environment variable
2. the directory named by the TEMP environment variable
3. the directory named by the TMP environment variable
4. C:\TMP on Windows or /tmp on Unix-like operating systems
5. as a last resort, the current working directory

## Frontend management



+ 6
- 1
lib/pleroma/backup.ex View File

@@ -126,7 +126,7 @@ defmodule Pleroma.Backup do
def export(%__MODULE__{} = backup) do
backup = Repo.preload(backup, :user)
name = String.trim_trailing(backup.file_name, ".zip")
dir = Path.join(System.tmp_dir!(), name)
dir = dir(name)

with :ok <- File.mkdir(dir),
:ok <- actor(dir, backup.user),
@@ -139,6 +139,11 @@ defmodule Pleroma.Backup do
end
end

def dir(name) do
dir = Pleroma.Config.get([__MODULE__, :dir]) || System.tmp_dir!()
Path.join(dir, name)
end

def upload(%__MODULE__{} = backup, zip_path) do
uploader = Pleroma.Config.get([Pleroma.Upload, :uploader])



Loading…
Cancel
Save