Your personal land for cultivating repositories.
Requirements
- Docker
- Ansible
A git repository server for your personal use
I use GitHub for nearly all of my personal projects. I was thinking that while it's fine mostly, it would be really nice to be able to keep my repos in my homelab on a VM I control.
This project is how I am going to do that.
This is built in Go, runs in a docker compose env, and is deployed to my homelab using Ansible.
- REST API for git repositories
- Git WebUI to view git repositories using https://git-scm.com/book/en/v2/Git-on-the-Server-GitWeb
- Git running in daemon mode to serve git repositories
Future Features
- Fleshed out REST API
- CLI for REST API to have a local tool to manage repos
- Maybe a nicer webui (hello htmx?) using that same REST API
- Create
config.yml
fromexample.config.yml
. - Create
inventory.ini
fromexample.inventory.ini
. - Edit config.yml and inventory.ini to suit your environment
- Run
ansible-playbook main.yml
to deploy.
That playbook will:- Install and configure Docker on the remote host
- Copy the entire project to the remote host
- Run docker compose build and then start the services
You can then access the services at:
- http://yourhost:8080/repos (REST API)
- http://yourhost:8081 (WebUI)
- git://yourhost:9418 (Git Server)