Add example systemd unit files for prune job

This commit is contained in:
Mia Herkt 2022-11-29 17:23:30 +01:00
parent f25619b7e3
commit db9a20c94d
No known key found for this signature in database
GPG key ID: 72E154B8622EC191
3 changed files with 39 additions and 2 deletions

22
0x0-prune.service Normal file
View file

@ -0,0 +1,22 @@
[Unit]
Description=Prune 0x0 files
After=remote-fs.target
[Service]
Type=oneshot
User=nullptr
WorkingDirectory=/path/to/0x0
BindPaths=/path/to/0x0
Environment=FLASK_APP=fhost
ExecStart=/usr/bin/flask prune
ProtectProc=noaccess
ProtectSystem=strict
ProtectHome=tmpfs
PrivateTmp=true
PrivateUsers=true
ProtectKernelLogs=true
LockPersonality=true
[Install]
WantedBy=multi-user.target

9
0x0-prune.timer Normal file
View file

@ -0,0 +1,9 @@
[Unit]
Description=Prune 0x0 files
[Timer]
OnCalendar=hourly
Persistent=true
[Install]
WantedBy=timers.target

View file

@ -35,8 +35,14 @@ downsides, one of them being that range requests will not work. This is a
problem for example when streaming media files: It wont be possible to seek, problem for example when streaming media files: It wont be possible to seek,
and some ISOBMFF (MP4) files will not play at all. and some ISOBMFF (MP4) files will not play at all.
To make files expire, simply create a cronjob that runs ``FLASK_APP=fhost To make files expire, simply run ``FLASK_APP=fhost flask prune`` every
flask prune`` every now and then. now and then. You can use the provided systemd unit files for this::
0x0-prune.service
0x0-prune.timer
Make sure to edit them to match your system configuration. In particular,
set the user and paths in ``0x0-prune.service``.
Before running the service for the first time, run ``FLASK_APP=fhost flask db upgrade``. Before running the service for the first time, run ``FLASK_APP=fhost flask db upgrade``.