Skip to content

aceberg/git-confed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Report Card Main-Docker Binary-release GitHub Maintainability

git-confed


Overview all your git repos and edit their .git/config with predefined blocks. For example, if you need to add user to some repos, just configure block with username and email and then click Add block in each repo.
The app is capable of detecting git repos in folder.

screenshot

screenshot

Docker

Don't forget to set the correct /path/to/git/repos/folder!
You can mount as many paths, as you need.

docker run --name git-confed \
-v ~/.dockerdata/git-confed:/data/git-confed \
-v /path/to/git/repos/folder:/repos \
-p 8848:8848 \
aceberg/git-confed

Or use docker-compose.yml

Installation

1. From .deb repository (recommended)

curl -s --compressed "https://aceberg.github.io/ppa/KEY.gpg" | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/aceberg.gpg
sudo curl -s --compressed -o /etc/apt/sources.list.d/aceberg.list "https://aceberg.github.io/ppa/aceberg.list"
sudo apt update && sudo apt install git-confed

2. From .deb file

Download latest release, install with your package maneger

3. From .tar.gz

Download latest release, then

tar xvzf git-confed-*.tar.gz
cd git-confed
sudo ./install.sh

Usage

1. Systemd as user (recommended)

Enable and start service, replace MYUSER with your username

sudo systemctl enable [email protected]
sudo systemctl start [email protected]

Web GUI will be available at http://0.0.0.0:8848

2. Systemd as root

Enable and start service

sudo systemctl enable git-confed.service
sudo systemctl start git-confed.service

Web GUI will be available at http://0.0.0.0:8848

3. From command line

Just run git-confed. Be mindful of the config files paths listed in options section.

Config

1. With web GUI (recommended)

You can do all configuration through web interface. Config files paths are listed in options section below.

2. CLI

blocks.yaml

Test Remote: "[remote \"test\"]\r\n\turl = bf:/home/data/repo/bare/testrepo"
User - aceberg: "[user]\r\n\tname = aceberg\r\n\temail = [email protected]"

config.yaml

folders:
    - /home/data/repo/01-cloned
    - /home/data/repo/03-code
    - /home/data/repo/awesome
host: 0.0.0.0
other:
    - test
port: "8848"
theme: darkly
urls:
    - bitbucket
    - github
    - gitlab
Variable Description Default
host Address for web GUI 0.0.0.0
port Port for web GUI 8848
theme Any theme name from https://bootswatch.com in lowcase darkly
color Color mode: light or dark light
folders Where to search for git repos
urls Search for those in config file bitbucket github gitlab
other Search for those in config file

Options

Key Description Default Systemd (user) Systemd (root)
-b Path to file with code blocks /data/git-confed/blocks.yaml $HOME/.config/git-confed/blocks.yaml /etc/git-confed/blocks.yaml
-c Path to GUI config file /data/git-confed/config.yaml $HOME/.config/git-confed/config.yaml /etc/git-confed/config.yaml
-n Path to node modules (see below) ""

Local network only

By default, this app pulls themes, icons and fonts from the internet. But, in some cases, it may be useful to have an independent from global network setup. I created a separate image with all necessary modules and fonts. Run with Docker:

docker run --name node-bootstrap          \
    -p 8850:8850                          \
    aceberg/node-bootstrap
docker run --name git-confed \
    -v ~/.dockerdata/git-confed:/data/git-confed \
    -v /path/to/git/repos/folder:/repos \
    -p 8848:8848 \
    aceberg/git-confed -n "http://$YOUR_IP:8850"

Thanks