gitile

Website that shows git repositories, written in guile

git clone https://git.lepiller.eu/git/gitile

Remove peeking

Julien LepillerMon Feb 21 15:01:21+0100 2022

87f1d97

gitile
namelast commitdate
.gitignoreLicense with reuse.software, code is under AGPL, not LGPLSun Mar 21 18:00:42+0100 2021
LICENSES/License with reuse.software, code is under AGPL, not LGPLSun Mar 21 18:00:42+0100 2021
Makefile.amUpdate syntax-highlight to latest versionTue Aug 24 23:16:23+0200 2021
README.mdFix typo in READMEWed Nov 03 22:40:17+0100 2021
assets/Add css highlightingWed Aug 25 02:22:02+0200 2021
bootstrapLicense with reuse.software, code is under AGPL, not LGPLSun Mar 21 18:00:42+0100 2021
configure.acLicense with reuse.software, code is under AGPL, not LGPLSun Mar 21 18:00:42+0100 2021
gitile/Remove peekingMon Feb 21 15:01:21+0100 2022
guile.amLicense with reuse.software, code is under AGPL, not LGPLSun Mar 21 18:00:42+0100 2021
guix.scmUpdate guix recipeTue Aug 24 23:21:45+0200 2021
pre-inst-env.inLicense with reuse.software, code is under AGPL, not LGPLSun Mar 21 18:00:42+0100 2021
scripts/Extend configuration and add home page supportThu Aug 05 00:51:29+0200 2021

README.md

Gitile

Gitile (pronounced /gitil/) is a small git forge written in Guile Scheme. It can currently show public repository contents on a website. Visit this project's repository to have a look at what it can do.

How to Build Gitile

Gitile requires Guile of course, in addition to the following Guile libraries:

You will also need the usual suspects:

From this repository, run the following:

./bootstrap
./configure
make

To install run:

make install

How to Run Gitile?

Before running gitile, you will need a configuration file. The configuration is a record that contains all of the following keys, as in the following example:

;; gitile.conf
(config
  (port 8080)
  (host "localhost")
  (database "")
  (repositories "/srv/git")
  (base-git-url "https://git.example.org/git")
  (index-title "My projects")
  (intro ((p "Content of the intro on index page")))
  (footer ((p "Footer content")))))

Save the file as gitile.conf (or whatever name you like) and run gitile with

./pre-inst-env scripts/gitile -c gitile.conf

It should be running on localhost:8080, but you will not get any assets.

To get assets, you need to have them served, for instance with Nginx acting as a reverse proxy for gitile, and serving the assets directly.

Repository Configuration

In order to show information such as a description, a nice name, and a short summary for each repository, you need to configure it in the repository, with git config. We use the gitweb.* configuration space for that.

For instance, you can set the following on a repository:

cd /srv/git/my-repo
git config --local gitweb.description "My repository is a wonderful project that will <b>conquer</b> the world!"
git config --local gitweb.synopsis "A repo to conquer the world"
git config --local gitweb.name "My Repository"