X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=installation%2Fcaddyfile-pleroma.example;h=305f2aa793360dae585928b9e038ab573d001095;hb=dfc26d0fdd0bff8b2571a722fcddb37a757513d9;hp=e0f9dc917ae1c43ba9a43b0d0fd16b3342c3ded1;hpb=7f79b467b1b56ce9ac7f544aaa2b687dcae341c5;p=akkoma diff --git a/installation/caddyfile-pleroma.example b/installation/caddyfile-pleroma.example index e0f9dc917..305f2aa79 100644 --- a/installation/caddyfile-pleroma.example +++ b/installation/caddyfile-pleroma.example @@ -1,18 +1,53 @@ -social.domain.tld { - tls user@domain.tld +# default Caddyfile config for Pleroma +# +# Simple installation instructions: +# 1. Replace 'example.tld' with your instance's domain wherever it appears. +# 2. Copy this section into your Caddyfile and restart Caddy. - log /var/log/caddy/pleroma.log +example.tld { + log /var/log/caddy/pleroma_access.log + errors /var/log/caddy/pleroma_error.log + gzip + + proxy / localhost:4000 { + websocket + transparent + } + + tls { + # 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" + Content-Security-Policy "default-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; img-src 'self' data: https:; media-src 'self' https:; style-src 'self' 'unsafe-inline'; font-src 'self'; script-src 'self'; connect-src 'self' wss://{host}; upgrade-insecure-requests;" + } + + # 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 + origin https://halcyon.example.tld + origin https://pinafore.example.tld methods POST,PUT,DELETE,GET,PATCH,OPTIONS 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. }