aboutsummaryrefslogtreecommitdiffstats
path: root/www/mycorrhiza/pkg
diff options
context:
space:
mode:
authorla-ninpre <leobrekalini@gmail.com>2022-09-09 10:18:09 +0300
committerla-ninpre <leobrekalini@gmail.com>2022-09-09 10:18:49 +0300
commit9fe972c4c24919b1f06b83ae56a266034be45800 (patch)
tree8e30f0da269b8d287635b0b34bc0c679efd67ca2 /www/mycorrhiza/pkg
parentbf417aa1cb77127b9504938947739d9896912758 (diff)
downloadports-9fe972c4c24919b1f06b83ae56a266034be45800.tar.gz
ports-9fe972c4c24919b1f06b83ae56a266034be45800.zip
misc/mycorrhiza: move to www and apply fixes from @op
mycorrhiza is now merged, so this repo is now only for updates and maintenance. for stable version check out openbsd ports tree.
Diffstat (limited to 'www/mycorrhiza/pkg')
-rw-r--r--www/mycorrhiza/pkg/DESCR9
-rw-r--r--www/mycorrhiza/pkg/PLIST9
-rw-r--r--www/mycorrhiza/pkg/README76
-rw-r--r--www/mycorrhiza/pkg/mycorrhiza.rc12
4 files changed, 106 insertions, 0 deletions
diff --git a/www/mycorrhiza/pkg/DESCR b/www/mycorrhiza/pkg/DESCR
new file mode 100644
index 0000000..fa42760
--- /dev/null
+++ b/www/mycorrhiza/pkg/DESCR
@@ -0,0 +1,9 @@
+Mycorrhiza can be used for personal wikis, digital gardens and wikis
+for small teams or communities. It doesn't require a database,
+everything is stored as plain-text files. Content is stored as
+hyphas which can be just text articles or media such as pictures
+and videos. History of changes is managed using git in automated
+fashion - mycorrhiza creates and manages git repository for you.
+
+One can serve mycorrhiza to be accessible via http, it's web ready.
+It also features few authentication options and user management.
diff --git a/www/mycorrhiza/pkg/PLIST b/www/mycorrhiza/pkg/PLIST
new file mode 100644
index 0000000..1699102
--- /dev/null
+++ b/www/mycorrhiza/pkg/PLIST
@@ -0,0 +1,9 @@
+@newgroup _mycorrhiza:885
+@newuser _mycorrhiza:885:_mycorrhiza::Mycorrhiza User:${LOCALSTATEDIR}/mycorrhiza:/sbin/nologin
+@rcscript ${RCDIR}/mycorrhiza
+@bin bin/mycorrhiza
+share/doc/pkg-readmes/${PKGSTEM}
+@mode 0755
+@owner _mycorrhiza
+@group _mycorrhiza
+@sample ${LOCALSTATEDIR}/mycorrhiza/
diff --git a/www/mycorrhiza/pkg/README b/www/mycorrhiza/pkg/README
new file mode 100644
index 0000000..322ebc4
--- /dev/null
+++ b/www/mycorrhiza/pkg/README
@@ -0,0 +1,76 @@
++-------------------------------------------------------------------------------
+| Running ${PKGSTEM} on OpenBSD
++-------------------------------------------------------------------------------
+
+Initial setup
+=============
+
+By default, Mycorrhiza listens on localhost:1737. To make it reachable
+as a web service, it needs to be put behind a TLS terminating proxy.
+Here's a sample httpd(8) and relayd(8) configuration provided for
+reference:
+
+/etc/httpd.conf:
+
+ server "mycorrhiza.example.com" {
+ listen on * port http
+ location "/.well-known/acme-challenge/*" {
+ root "/acme"
+ request strip 2
+ }
+ location "*" {
+ block return 302 "https://$HTTP_HOST$REQUEST_URI"
+ }
+ }
+
+
+/etc/relayd.conf:
+
+ ext_ip="123.45.67.89"
+ ext_ip6="1234:5678:dead:beef"
+ mycorrhiza_port="1737"
+ table <mycorrhiza> { 127.0.0.1 ::1 }
+
+ http protocol https {
+ match request header append "X-Forwarded-For" \
+ value "$REMOTE_ADDR"
+ match request header append "X-Forwarded-By" \
+ value "$SERVER_ADDR:$SERVER_PORT"
+ match request header set "Connection" value "close"
+
+ match request header "Host" value "mycorrhiza.*" \
+ forward to <mycorrhiza>
+
+ tcp { sack, backlog 128 }
+ tls keypair mycorrhiza.example.com
+ }
+
+ relay https {
+ listen on $ext_ip port https tls
+ listen on $ext_ip6 port https tls
+ protocol https
+ forward to <mycorrhiza> port $mycorrhiza_port check tcp
+ }
+
+Don't forget to set up a TLS certificate (for example using
+acme-client(1)) and start httpd(8) and relayd(8):
+
+ # rcctl enable httpd relayd
+ # rcctl start httpd relayd
+
+
+Setup
+=====
+
+See the official documentation for details about configuration and
+deployment. Be sure to set up proper authentication.
+
+By default the wiki will be created in ${LOCALSTATEDIR}/mycorrhiza, but
+it's possible to change it by overwriting the daemon flags with rcctl(8)
+
+ # rcctl set mycorrhiza flags '/path/to/wiki/dir'
+
+Finally, enable and start the daemon:
+
+ # rcctl enable mycorrhiza
+ # rcctl start mycorrhiza
diff --git a/www/mycorrhiza/pkg/mycorrhiza.rc b/www/mycorrhiza/pkg/mycorrhiza.rc
new file mode 100644
index 0000000..82621f4
--- /dev/null
+++ b/www/mycorrhiza/pkg/mycorrhiza.rc
@@ -0,0 +1,12 @@
+#!/bin/ksh
+
+daemon="${TRUEPREFIX}/bin/mycorrhiza"
+daemon_flags="${LOCALSTATEDIR}/mycorrhiza"
+daemon_user="_mycorrhiza"
+
+. /etc/rc.d/rc.subr
+
+rc_bg=YES
+rc_reload=NO
+
+rc_cmd $1