xaizek / rocketgit (License: AGPLv3+) (since 2018-12-09)
Light and fast Git hosting solution suitable to serve both as a hub or as a personal code storage with its tickets, pull requests, API and much more.
File Mode Size
admin/ 040000
artwork/ 040000
hooks/ 040000
inc/ 040000
root/ 040000
samples/ 040000
scripts/ 040000
tests/ 040000
.exclude 100644 34B
.gitignore 100644 87B
AUTHORS 100644 179B
Compare.txt 100644 363B
LICENSE 100644 34KiB
Makefile.in 100644 1,192B
README 100644 2,794B
TODO 100644 19KiB
configure 100755 23B
duilder 100755 13KiB
duilder.conf 100644 291B
rocketgit.spec.in 100644 2,248B

== About ==
. Website: http://kernel.embedromix.ro/us/
. Author: Catalin(ux) M. BOIE
. Description: Light and fast Git hosting solution
. Language: PHP
. Database: PostgreSQL

== Features ==
. No Java
. No Javascript
. Very little dependencies, all packaged in main-stream distributions
. SELinux friendly
. Very small

== Install ==
. Notes:
	- It is recommended to NOT install rocketgit on a multiuser machine.
	There are some things that should be fixed first. We are working on it.

. Edit /etc/rocketgit/config.php
. Edit /etc/httpd/conf.d/rocketgit.conf

. Configure Apache
	# systemctl enable httpd.service
	# systemctl start httpd.service

. Activate sshd (for ssh:// access)
	# systemctl enable sshd.service
	# systemctl start sshd.service

. Activate xinetd (for git:// access)
	# systemctl enable xinetd.service
	# systemctl start xinetd.service

. Configure PostgreSQL server
	# systemctl enable postgresql.service
	# postgresql-setup initdb (TAKE CARE! YOU MAY DESTROY ALL YOUR DATA!)
	# systemctl start postgresql.service

. Create a PostgreSQL user and database
	# su - postgres
	$ createuser -d -R -S rocketgit
	$ createdb -O rocketgit rocketgit

. Allow access to PostgreSQL and restart:
	Add the following lines, before wildcard matches, in pg_hba.conf:
	local rocketgit rocketgit	trust
	local rocketgit rocketgit ::1		trust

	systemctl reload postgresql.service

	- Check also the config file and set correctly rg_sql string.
	- If the web server and the db are not on the same host, you need to
	replace with your "safe network". You may want to use
	md5 for authentication. Also, you may want to change 'listen_addresses'
	to '*'. You may also want to activate SSL. Check PostgreSQL manual.

. Run instalation script
	# php /usr/share/rocketgit/admin/init.php

. SELinux
	# setsebool -P httpd_can_network_connect_db on
	# setsebool -P httpd_can_network_memcache on
	# setsebool -P httpd_can_sendmail on

. Edit firewall to permit port ssh, git, http and https
	In /etc/sysconfig/iptables (IPv4) or ip6tables (IPv6), add something
	like this:
	-A INPUT -m tcp -p tcp --dport ssh -j ACCEPT
	-A INPUT -m tcp -p tcp --dport git -j ACCEPT
	-A INPUT -m tcp -p tcp --dport http -j ACCEPT
	-A INPUT -m tcp -p tcp --dport https -j ACCEPT

	Adjust php.ini to allow enough RAM and execution time.

== Thanks ==
. Special thanks to my family that supported me in this project.
. Special thanks to my brother that contributed brain and time to this project.
. Special thanks to git people for the best tool to manage the sources.
. Special thanks to a lot of people that came with suggestions.
. Special thanks to gitosys, Gitorious and other projects from where I learned
. See AUTHORS file for all people contributed to this project.

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/rocketgit

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/rocketgit

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master