aboutsummaryrefslogtreecommitdiffstats
path: root/roles/psitransfer/templates
diff options
context:
space:
mode:
authorStonewall Jackson <stonewall@sacredheartsc.com>2023-02-04 01:23:43 -0500
committerStonewall Jackson <stonewall@sacredheartsc.com>2023-02-04 01:52:13 -0500
commit0261e875679f1bf63c8d689da7fc7e014597885d (patch)
tree3f19cd74a0c1070944f75437f30b098d6ef2ffcb /roles/psitransfer/templates
downloadselfhosted-0261e875679f1bf63c8d689da7fc7e014597885d.tar.gz
selfhosted-0261e875679f1bf63c8d689da7fc7e014597885d.zip
initial commit
Diffstat (limited to 'roles/psitransfer/templates')
-rw-r--r--roles/psitransfer/templates/etc/systemd/system/psitransfer.service.j236
-rw-r--r--roles/psitransfer/templates/var/lib/psitransfer/psitransfer/config.production.js.j212
2 files changed, 48 insertions, 0 deletions
diff --git a/roles/psitransfer/templates/etc/systemd/system/psitransfer.service.j2 b/roles/psitransfer/templates/etc/systemd/system/psitransfer.service.j2
new file mode 100644
index 0000000..6bb8c97
--- /dev/null
+++ b/roles/psitransfer/templates/etc/systemd/system/psitransfer.service.j2
@@ -0,0 +1,36 @@
+[Unit]
+Description=Psitransfer File Sharing
+After=network.target
+AssertPathExists={{ psitransfer_install_dir }}
+
+[Service]
+Type=simple
+Environment="PSITRANSFER_IFACE=127.0.0.1"
+Environment="PSITRANSFER_PORT={{ psitransfer_port }}"
+Environment=NODE_ENV=production
+EnvironmentFile=-/etc/sysconfig/psitransfer
+ExecStart=/usr/bin/node app.js
+WorkingDirectory={{ psitransfer_install_dir }}
+User={{ psitransfer_user }}
+Group={{ psitransfer_user }}
+Restart=on-failure
+
+# See https://www.freedesktop.org/software/systemd/man/systemd.exec.html
+# for details
+DevicePolicy=closed
+NoNewPrivileges=yes
+PrivateDevices=yes
+PrivateTmp=yes
+ProtectControlGroups=yes
+ProtectKernelModules=yes
+ProtectKernelTunables=yes
+RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
+RestrictNamespaces=yes
+RestrictRealtime=yes
+SystemCallFilter=~@clock @debug @module @mount @obsolete @privileged @reboot @setuid @swap
+
+ProtectSystem=full
+ProtectHome=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/roles/psitransfer/templates/var/lib/psitransfer/psitransfer/config.production.js.j2 b/roles/psitransfer/templates/var/lib/psitransfer/psitransfer/config.production.js.j2
new file mode 100644
index 0000000..c489f87
--- /dev/null
+++ b/roles/psitransfer/templates/var/lib/psitransfer/psitransfer/config.production.js.j2
@@ -0,0 +1,12 @@
+module.exports = {
+ "uploadAppPath": "/upload",
+ "uploadDir": "{{ psitransfer_data_dir }}",
+ "retentions": {{ psitransfer_retentions | to_json }},
+ "defaultRetention": "{{ psitransfer_default_retention }}",
+ "maxFileSize": {{ psitransfer_max_file_size | human_to_bytes }},
+ "maxBucketSize": {{ psitransfer_max_bucket_size | human_to_bytes }},
+ "maxPreviewSize": {{ psitransfer_max_preview_size | human_to_bytes }},
+ {% if psitransfer_admin_password is defined %}
+ "adminPass": "{{ psitransfer_admin_password }}"
+ {% endif %}
+};