Add configurable temporary directory
This commit is contained in:
parent
27bc121ec0
commit
e52dd62e14
|
@ -820,7 +820,8 @@
|
||||||
|
|
||||||
config :pleroma, Pleroma.Backup,
|
config :pleroma, Pleroma.Backup,
|
||||||
purge_after_days: 30,
|
purge_after_days: 30,
|
||||||
limit_days: 7
|
limit_days: 7,
|
||||||
|
dir: nil
|
||||||
|
|
||||||
# Import environment specific config. This must remain at the bottom
|
# Import environment specific config. This must remain at the bottom
|
||||||
# of this file so it overrides the configuration defined above.
|
# of this file so it overrides the configuration defined above.
|
||||||
|
|
|
@ -1090,6 +1090,12 @@ Control favicons for instances.
|
||||||
|
|
||||||
* `:purge_after_days` an integer, remove backup achives after N days.
|
* `: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.
|
* `: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
|
## Frontend management
|
||||||
|
|
||||||
|
|
|
@ -126,7 +126,7 @@ def process(%__MODULE__{} = backup) do
|
||||||
def export(%__MODULE__{} = backup) do
|
def export(%__MODULE__{} = backup) do
|
||||||
backup = Repo.preload(backup, :user)
|
backup = Repo.preload(backup, :user)
|
||||||
name = String.trim_trailing(backup.file_name, ".zip")
|
name = String.trim_trailing(backup.file_name, ".zip")
|
||||||
dir = Path.join(System.tmp_dir!(), name)
|
dir = dir(name)
|
||||||
|
|
||||||
with :ok <- File.mkdir(dir),
|
with :ok <- File.mkdir(dir),
|
||||||
:ok <- actor(dir, backup.user),
|
:ok <- actor(dir, backup.user),
|
||||||
|
@ -139,6 +139,11 @@ def export(%__MODULE__{} = backup) do
|
||||||
end
|
end
|
||||||
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
|
def upload(%__MODULE__{} = backup, zip_path) do
|
||||||
uploader = Pleroma.Config.get([Pleroma.Upload, :uploader])
|
uploader = Pleroma.Config.get([Pleroma.Upload, :uploader])
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue