You can self-host your own git repository, thus avoiding services like github, gitlab, bitbucket. This gives you full control over the repositories. Make as many as you want and make them private or public as you please. Serve it under you own domain. Allow and use whatever licenses you prefer.
Gitea, which describes itself as a painless self-hosted Git service, is written in the go language (utilising the hugo generator) and is therefore highly efficient and super fast.
Installation and update instructions
cd into the project folder. If you're updating remove the outdated gitea executable with
rm gitea. Look here for the latest version of gitea.
wget -O gitea https://dl.gitea.io/gitea/1.2.0-rc2/gitea-1.2.0-rc2-linux-amd64 chmod +x gitea
./gitea web, go through the installation process and modify your webserver.
# Apache VHOST <VirtualHost *:443> ServerName git.example.com SSLEngine On SSLCertificateFile /path/to/cert.crt SSLCertificateKeyFile /path/to/cert.key ProxyPreserveHost On ProxyRequests off ProxyPass / http://127.0.0.1:3000/ ProxyPassReverse / http://127.0.0.1:3000/ </VirtualHost>
Run as a service
Check this out and choose your desired service. In the case below
systemd is being used.
[Unit] Description=Gitea (Git with a cup of tea) After=syslog.target After=network.target [Service] Type=simple User=git Group=git WorkingDirectory=/home/git/gitea ExecStart=/home/git/gitea/gitea web Restart=always Environment=USER=git HOME=/home/git [Install] WantedBy=multi-user.target
systemd save and modify this file under
/etc/systemd/system and run the following.
systemctl enable gitea systemctl start gitea