Skip to content

Gotweb

Installation

$ doas pkg_add gotweb

Add this block to /etc/httpd.conf:

types { include "/usr/share/misc/mime.types" }
server "gotweb.example.com" {
    listen on * port 80
    root "/htdocs"
    location "/cgi-bin/*" {
        root "/"
        fastcgi
    }
    location "/*" {
        directory index "gotweb/index.html"
    }
}

Configuration

$ doas mkdir -p /var/www/etc

Inside /var/www/etc/gotweb.conf:

got_repos_path                  "/got/public"
got_www_path                    "/gotweb"
got_max_commits_display         1000
got_site_name                   "Made on IRCNow"
got_site_owner                  "IRCNow"
got_logo_url                    "https://got.ircnow.org"
got_site_link                   "repos"
got_logo                        "madeonirc128x128.png"

Upload your logo to /var/www/htdocs/gotweb:

$ cd /var/www/htdocs/gotweb
$ doas ftp https://wiki.ircnow.org/uploads/Marketing/madeonirc128x128.png
$ doas chown root:bin madeonirc128x128.png

gotweb needs write permissions:

$ doas chown www:daemon /var/www/got/tmp/

you'll need to have these running:

$ doas rcctl enable httpd slowcgi
$ doas rcctl start httpd slowcgi

Import repos

$ doas chown -R $USER:daemon /var/www/got/public/
$ openrsync -a --delete --rsync-path=openrsync /var/git/ /var/www/got/public/

Cronjobs

Periodically you need to sync your repos:

$ crontab -e
@daily openrsync -a --delete --rsync-path=openrsync /var/git/ /var/www/got/public/