summaryrefslogtreecommitdiff
path: root/installation
diff options
context:
space:
mode:
Diffstat (limited to 'installation')
-rw-r--r--installation/caddyfile-pleroma.example38
-rwxr-xr-xinstallation/init.d/pleroma21
2 files changed, 54 insertions, 5 deletions
diff --git a/installation/caddyfile-pleroma.example b/installation/caddyfile-pleroma.example
index e0f9dc917..ed24fc16c 100644
--- a/installation/caddyfile-pleroma.example
+++ b/installation/caddyfile-pleroma.example
@@ -1,8 +1,32 @@
social.domain.tld {
- tls user@domain.tld
+ log /var/log/caddy/pleroma_access.log
+ errors /var/log/caddy/pleroma_error.log
- log /var/log/caddy/pleroma.log
+ gzip
+ proxy / localhost:4000 {
+ websocket
+ transparent
+ }
+
+ tls user@domain.tld {
+ # Remove the rest of the lines in here, if you want to support older devices
+ key_type p256
+ ciphers ECDHE-ECDSA-WITH-CHACHA20-POLY1305 ECDHE-RSA-WITH-CHACHA20-POLY1305 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256
+ }
+
+ header / {
+ X-XSS-Protection "1; mode=block"
+ X-Frame-Options "DENY"
+ X-Content-Type-Options "nosniff"
+ Referrer-Policy "same-origin"
+ Strict-Transport-Security "max-age=31536000; includeSubDomains;"
+ Expect-CT "enforce, max-age=2592000"
+ }
+
+ # If you do not want remote frontends to be able to access your Pleroma backend server, remove these lines.
+ # If you want to allow all origins access, remove the origin lines.
+ # To use this directive, you need the http.cors plugin for Caddy.
cors / {
origin https://halcyon.domain.tld
origin https://pinafore.domain.tld
@@ -10,9 +34,13 @@ social.domain.tld {
allowed_headers Authorization,Content-Type,Idempotency-Key
exposed_headers Link,X-RateLimit-Reset,X-RateLimit-Limit,X-RateLimit-Remaining,X-Request-Id
}
+ # Stop removing lines here.
- proxy / localhost:4000 {
- websocket
- transparent
+ # If you do not want to use the mediaproxy function, remove these lines.
+ # To use this directive, you need the http.cache plugin for Caddy.
+ cache {
+ match_path /proxy
+ default_max_age 720m
}
+ # Stop removing lines here.
}
diff --git a/installation/init.d/pleroma b/installation/init.d/pleroma
new file mode 100755
index 000000000..9582d65d4
--- /dev/null
+++ b/installation/init.d/pleroma
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+
+# Requires OpenRC >= 0.35
+directory=~pleroma/pleroma
+
+command=/usr/bin/mix
+command_args="phx.server"
+command_user=pleroma:pleroma
+command_background=1
+
+export PORT=4000
+export MIX_ENV=prod
+
+# Ask process to terminate within 30 seconds, otherwise kill it
+retry="SIGTERM/30 SIGKILL/5"
+
+pidfile="/var/run/pleroma.pid"
+
+depend() {
+ need nginx postgresql
+} \ No newline at end of file