aboutsummaryrefslogtreecommitdiffstats
path: root/hg.sr.ht/installation.md
diff options
context:
space:
mode:
Diffstat (limited to 'hg.sr.ht/installation.md')
-rw-r--r--hg.sr.ht/installation.md36
1 files changed, 36 insertions, 0 deletions
diff --git a/hg.sr.ht/installation.md b/hg.sr.ht/installation.md
new file mode 100644
index 0000000..23a58eb
--- /dev/null
+++ b/hg.sr.ht/installation.md
@@ -0,0 +1,36 @@
+hg.sr.ht is the hg repository hosting service for the sr.ht network.
+
+# Installation
+
+hg.sr.ht is a standard sr.ht web service and can be installed through the
+[standard procedure](/installation.md). However, there are several additional
+steps required.
+
+## Repository storage
+
+You will need to set up a directory for repositories to be stored in - we
+suggest `/var/lib/hg/`. Also configure a `hg` user and assign ownership over
+`/var/lib/hg/` to this user. The hg.sr.ht package will automatically prepare
+these for you. If you do not use the package, you must create the user yourself
+and ensure that the hg.sr.ht web application runs as this user.
+
+## SSH dispatch
+
+At the moment, hg.sr.ht uses git.sr.ht's SSH dispatcher, which you need to setup
+as the system-wide SSH authorization hook. See the [git.sr.ht
+documentation](../git.sr.ht/installation.md#ssh-dispatch) for more information.
+
+Once this is done, you need to make the hg.sr.ht authorization hook be part of
+the SSH dispatching, via the `hgsrht-keys` and `hgsrht-shell` scripts. See the
+`[dispatch]` section of you hg.sr.ht configuration for details on how this
+works.
+
+Authorization logs are written to `hg-srht-shell`.
+
+## Cronjobs
+
+You must also configure `hgsrht-periodic` to run periodically with your
+favorite cron daemon. We recommend the following crontab:
+
+ */20 * * * * hgsrht-periodic
+