aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: b50d460d41cbaecdeb81b9a2195c3be3e1349fd4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73

What is Githermit?

Githermit is a Git web interface with the purpose of being a way to show off your personal projects on your own hosted git server.

Why was it created?

For the sake of modernism. Projects like cgit, Gitweb & Stagit are written in decades-old programming languages that no one in their right mind would even bother to learn nowadays.

The goal of Githermit is to be an alternative to the aforementioned projects that is easier to maintain, customize & use.

It's also because i hate the idea of the web server being seperate. I don't want to have to set up Nginx or Apache or whatever for just hosting a Git web interface. Githermit requires no such thing. All the steps to get it set up are in Usage. Nothing more, nothing less.

What is Githermit Not?

  • An alternative to services such as Gitlab and Github.
  • As fast as cgit, Gitweb & Stagit. But that's okay. That's not the point.

Todo

  • [x] Log & commit pages
  • [x] Cloning
  • [ ] Refs page
  • [x] Tree page
  • [x] Blob page
  • [x] Markdown support
  • [ ] Tests
  • [x] Fix the stupid bug caused by empty patches
  • [ ] Branch switching
  • [x] Custom favicon support
  • [x] Custom website title support
  • [ ] Redesign
  • [ ] Documentation

Usage

Dependencies: - Git (obviously) - Nodejs v14.16.0 - libpcre - libpcreposix - libkrb5 - libk5crypto - libcom_err - libssl-dev

Install all the Javascript dependencies

$ yarn install

Build & bundle the frontend

$ yarn build

Create a file called settings.yml with following content

host: (Host address)
port: (Port)
dev_port: (Port for development server)
production: (Set this to true unless you're doing changes to Githermit)
title: (Title of your Githermit instance)
about: (Short description of your Githermit instance)
base_dir: (Directory where all of your bare Git repositories are located)

You can now run it with $ yarn start

Development

You're highly encouraged to create a merge request if you're willing to contribute.

You can run the following command to easily get started with contributing

$ yarn dev

This will run an instance of Githermit with live-updating backend & frontend.