@@ -0,0 +1,36 @@ | |||||
# | |||||
# Default httpd.conf file for Pleroma on OpenBSD | |||||
# Simple installation instructions | |||||
# 1. Place file in /etc | |||||
# 2. Replace <IPv4 address> with your public IP address | |||||
# 3. If using IPv6, uncomment IPv6 lines and replace <IPv6 address> with your public IPv6 address | |||||
# 4. Check file using 'doas httpd -n' | |||||
# 5. Enable and start httpd: | |||||
# # doas rcctl enable httpd | |||||
# # doas rcctl start httpd | |||||
# | |||||
ext_inet="<IPv4 address>" | |||||
#ext_inet6="<IPv6 address>" | |||||
server "default" { | |||||
listen on $ext_inet port 80 # Comment to disable listening on IPv4 | |||||
# listen on $ext_inet6 port 80 # Comment to disable listening on IPv6 | |||||
listen on 127.0.0.1 port 80 # Do NOT comment this line | |||||
log syslog | |||||
directory no index | |||||
location "/.well-known/acme-challenge/*" { | |||||
root "/acme" | |||||
request strip 2 | |||||
} | |||||
location "/robots.txt" { root "/htdocs/local/" } | |||||
location "/*" { block return 302 "https://$HTTP_HOST$REQUEST_URI" } | |||||
} | |||||
types { | |||||
include "/usr/share/misc/mime.types" | |||||
} | |||||
@@ -0,0 +1,34 @@ | |||||
#!/bin/ksh | |||||
# | |||||
# Default init file for Pleroma on OpenBSD | |||||
# | |||||
# Simple installation instructions: | |||||
# 1. Install Pleroma per wiki instructions | |||||
# 2. Place this pleromad file in /etc/rc.d | |||||
# 3. Enable and start Pleroma | |||||
# # doas rcctl enable pleromad | |||||
# # doas rcctl start pleromad | |||||
# | |||||
daemon="/usr/local/bin/elixir" | |||||
daemon_flags="--detached -S /usr/local/bin/mix phx.server" | |||||
daemon_user="_pleroma" | |||||
. /etc/rc.d/rc.subr | |||||
rc_reload=NO | |||||
pexp="phx.server" | |||||
rc_check() { | |||||
pgrep -q -U _pleroma -f "phx.server" | |||||
} | |||||
rc_start() { | |||||
${rcexec} "cd pleroma; ${daemon} ${daemon_flags}" | |||||
} | |||||
rc_stop() { | |||||
pkill -q -U _pleroma -f "phx.server" | |||||
} | |||||
rc_cmd $1 |
@@ -0,0 +1,44 @@ | |||||
# | |||||
# Default relayd.conf file for Pleroma on OpenBSD | |||||
# Simple installation instructions: | |||||
# 1. Place in /etc | |||||
# 2. Replace <ipaddr> with your public IPv4 address | |||||
# 3. If using IPv6i, uncomment IPv6 lines and replace <ip6addr> with your public IPv6 address | |||||
# 4. Check file using 'doas relayd -n' | |||||
# 5. Reload/start relayd | |||||
# # doas rcctl enable relayd | |||||
# # doas rcctl start relayd | |||||
# | |||||
ext_inet="<ipaddr>" | |||||
#ext_inet6="<ip6addr>" | |||||
table <pleroma_server> { 127.0.0.1 } | |||||
table <httpd_server> { 127.0.0.1 } | |||||
http protocol plerup { # Protocol for upstream pleroma server | |||||
#tcp { nodelay, sack, socket buffer 65536, backlog 128 } # Uncomment and adjust as you see fit | |||||
tls ciphers "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA0-POLY1305" | |||||
tls ecdhe secp384r1 | |||||
# Forward some paths to the local server (as pleroma won't respond to them as you might want) | |||||
pass request quick path "/robots.txt" forward to <httpd_server> | |||||
# Append a bunch of headers | |||||
match request header append "X-Forwarded-For" value "$REMOTE_ADDR" # This two header and the next one are not strictl required by pleroma but adding them won't hurt | |||||
match request header append "X-Forwarded-By" value "$SERVER_ADDR:$SERVER_PORT" | |||||
match request header append "Connection" value "upgrade" | |||||
} | |||||
relay wwwtls { | |||||
listen on $ext_inet port https tls # Comment to disable listening on IPv4 | |||||
# listen on $ext_inet6 port https tls # Comment to disable listening on IPv6 | |||||
protocol plerup | |||||
forward to <pleroma_server> port 4000 check http "/" code 200 | |||||
forward to <httpd_server> port 80 check http "/robots.txt" code 200 | |||||
} | |||||
@@ -1,26 +0,0 @@ | |||||
#!/bin/ksh | |||||
# | |||||
daemon="/usr/local/bin/elixir" | |||||
daemon_flags="--detached -S /usr/local/bin/mix phx.server" | |||||
daemon_user="_pleroma" | |||||
. /etc/rc.d/rc.subr | |||||
rc_reload=NO | |||||
#pexp="/usr/local/lib/erlang19/erts-8.3/bin/beam -- -root /usr/local/lib/erlang19 -progname erl19 -- -home /home/_pleroma -- -pa /usr/local/lib/elixir/bin/../lib/eex/ebin /usr/local/lib/elixir/bin/../lib/elixir/ebin /usr/local/lib/elixir/bin/../lib/ex_unit/ebin /usr/local/lib/elixir/bin/../lib/iex/ebin /usr/local/lib/elixir/bin/../lib/logger/ebin /usr/local/lib/elixir/bin/../lib/mix/ebin -elixir ansi_enabled true -noshell -s elixir start_cli -noshell -noinput -extra --detached -S /usr/local/bin/mix phx.server" | |||||
pexp="phx.server" | |||||
rc_check() { | |||||
pgrep -q -U _pleroma -f "phx.server" | |||||
} | |||||
rc_start() { | |||||
${rcexec} "cd pleroma; ${daemon} ${daemon_flags}" | |||||
} | |||||
rc_stop() { | |||||
pkill -q -U _pleroma -f "phx.server" | |||||
} | |||||
rc_cmd $1 |