diff options
Diffstat (limited to 'hg.sr.ht/installation.md')
-rw-r--r-- | hg.sr.ht/installation.md | 36 |
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 + |