commit 5d6678538e29826e0b01bda4c670fa41e4a143ed
Author: mod <mod@buni.party>
Date: Fri Feb 13 05:16:00 2026 +0000
diff --git a/Makefile b/Makefile
index 18289aa..df5a247 100644
--- a/Makefile
+++ b/Makefile
@@ -56 +58 @@ SRC= index.html \
services/index.html \
users/index.html \
cgi-bin/users \
+ docs/index.html \
+ docs/git/index.html
TEMPLATE=template/bar.html \
template/foot.html \
diff --git a/docs/git/index.html b/docs/git/index.html
new file mode 100644
index 0000000..7ed8da4
--- /dev/null
+++ b/docs/git/index.html
@@ -00 +149 @@
+!!
+$DPP "Groupnix Git" "Git on Groupnix Documentation" <template/head.html #>
+$DPP <template/bar.html #>
+!!
+
+<p>
+Each user on Groupnix has access to their own git user. Git repositories can be
+viewed using the web front end at
+<a href="https://git.buni.party">git.buni.party</a>. This front end is running
+the <a class="out" href="https://github.com/acutewoof/gitbrowse">gitbrowse</a>
+software. The web front end can only be used for viewing the repositories.
+Additionally, repositories can be cloned over HTTP using the provided clone URL.
+For a user <em>user</em> with repository <em>repo</em>, the clone URL will be of
+the form
+<strong>https://git.buni.party/<em>user</em>/<em>repo</em>.git</strong>.
+</p>
+
+<h3>Creating and Modifying Repositories</h3>
+<p>
+In order to create or modify a git repository, you must first import an ssh key
+into the git server system. To do this, log into your user at
+<code>USER@u.buni.party</code>. You will have a file at
+<code>~/.ssh/git_keys</code>. This file will hold the SSH public keys that you
+want to be able to access your git repos. Note that these keys cannot be shared
+between users. Sharing git accounts is frowned upon but if you are sure that you
+want to do it, you must generate additional SSH keys to ensure no collisions
+between users. The <code>git_keys</code> file will have the same format as the
+<code>authorized_keys</code> file you already have. Now, the keys must be
+imported into the git server. Keys are automatically imported every 12 hours but
+this process can be expedited. To import immediately, run the command <code>sudo
+/opt/bin/git-import-now</code>. The sudo part is necessary since the command
+will fail without the necessary permissions.
+</p>
+<p>
+Once SSH keys have been imported into the git server, creating new repos is as
+simple as <code>git push</code> with the upstream URL set to the URL of the repo
+you want to create. Note that the URL for push must be SSH format, not HTTP.
+There is no method for pushing or otherwise modifying repos over HTTP for
+security reasons. If user <em>USER</em> wants to access repo <em>REPO</em>, the
+URL will be of the form <code>git@buni.party:USER/REPO</code>. If the repo does
+not exist, then <code>git push</code> will create it.
+</p>
+<p>
+Users cannot delete a repo themselves, even if they own it or it is under their
+account. To delete a repo, mail <code>mod</code> with your deletion request.
+Include the <code>USER/REPO</code> path that you want deleted in your request.
+</p>
+
+!!$DPP <template/foot.html #>
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 0000000..be2df66
--- /dev/null
+++ b/docs/index.html
@@ -00 +111 @@
+!!
+$DPP "Groupnix Docs" "Docs" <template/head.html #>
+$DPP "docs" <template/bar.html #>
+!!
+
+<p>This page hosts documentation on the various Groupnix services.</p>
+<ul>
+ <li><a href="/mod/docs/git">Git</a></li>
+</ul>
+
+!!$DPP <template/foot.html #>
diff --git a/services/index.html b/services/index.html
index 57b13fd..cfd6768 100644
--- a/services/index.html
+++ b/services/index.html
@@ -67 +68 @@ $DPP "services" <template/bar.html # >
<p>Groupnix currently hosts the following services:</p>
<ul>
<li><a href="/mod/users">User websites</a></li>
- <li><a href="https://git.buni.party">Git repositories</a></li>
+ <li><a href="https://git.buni.party">Git repositories</a>
+ (<a href="/mod/docs/git">documentation</a>)</li>
</ul>
!!$DPP <template/foot.html # >
diff --git a/style.css b/style.css
index 4ee9a69..50f217b 100644
--- a/style.css
+++ b/style.css
@@ -3714 +3710 @@ td.caption {
padding-bottom: 15px;
}
-a:link {
+a:link, a:visited {
}
-a:visited {
- color: #A9CACA;
-}
-
a.out {
color: #AC5645;
text-decoration: none;
diff --git a/template/bar.html b/template/bar.html
index 9d33179..319b074 100644
--- a/template/bar.html
+++ b/template/bar.html
@@ -210 +212 @@
HOME=""
USERS=""
SERVICES=""
+DOCS=""
case "${1:-}" in
home) HOME=active ;;
users) USERS=active ;;
services) SERVICES=active ;;
+ docs) DOCS=active ;;
esac
!!
@@ -134 +155 @@ esac
<td><a class="${HOME}" href="/mod">Home</a></td>
<td><a class="${USERS}" href="/mod/cgi-bin/users">Users</a></td>
<td><a class="${SERVICES}" href="/mod/services">Services</a></td>
+ <td><a class="${DOCS}" href="/mod/docs">Docs</a></td>
</tr></tbody></table>