Awesome
<h1><a href="https://github.com/aceberg/git-syr"> <img src="https://raw.githubusercontent.com/aceberg/git-syr/main/assets/logo.png" width="20" /> </a>git-syr</h1> <br/>Sync Your Repos - pull or push your git repos regularly. For dotfiles backups or note taking in git repo
CLI and GUI
There are two packages available: git-syr
and git-syr-cli
. For command line only installation you can use git-syr-cli
, just replace the name in the instructions below. Though git-syr
is capable of both CLI and GUI modes.
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-syr
2. From .deb file
Download latest release, install with your package maneger
3. From .tar.gz
Download latest release, then
tar xvzf git-syr-*.tar.gz
cd git-syr
sudo ./install.sh
Usage
1. Systemd as user (recommended)
Enable and start service, replace MYUSER
with your username
sudo systemctl enable git-syr@MYUSER.service
sudo systemctl start git-syr@MYUSER.service
Web GUI will be available at http://0.0.0.0:8844
2. Systemd as root
Enable and start service
sudo systemctl enable git-syr.service
sudo systemctl start git-syr.service
Web GUI will be available at http://0.0.0.0:8844
3. From command line
Just run git-syr
. Be mindful of the config files paths listed in options section.
Config
1. With web GUI
You can do all configuration through web interface. Config files paths are listed in options section below.
2. CLI
repos.yaml
example:
- name: Dotfiles
path: /home/data/repo/dotfiles
timeout: 4h
pull: "no"
push: "yes"
- name: MyNotes
path: /home/data/repo/MyNotes
timeout: 1m
pull: "yes"
push: "yes"
config.yaml
example:
color: light
host: 0.0.0.0
nodepath: ""
port: "8844"
theme: cosmo
Options
1. git-syr
Key | Description | Default | Systemd (user) | Systemd (root) |
---|---|---|---|---|
-c | Path to GUI config file | ./config.yaml | $HOME/.config/git-syr/config.yaml | /etc/git-syr/config.yaml |
-l | Path to log file | ./git-syr.log | $HOME/.config/git-syr/git-syr.log | /var/log/git-syr.log |
-n | Path to local node modules | |||
-r | Path to repos yaml file | ./repos.yaml | $HOME/.config/git-syr/repos.yaml | /etc/git-syr/repos.yaml |
-w | Launch without web gui | false |
2. git-syr-cli
Key | Description | Default | Systemd (user) | Systemd (root) |
---|---|---|---|---|
-l | Path to log file | "" (No log file) | $HOME/.config/git-syr/git-syr.log | /var/log/git-syr.log |
-r | Path to repos yaml file | ./repos.yaml | $HOME/.config/git-syr/repos.yaml | /etc/git-syr/repos.yaml |
To run git-syr without log file pass empty string -l ""
Thanks
- All go packages listed in dependencies
- Bootstrap
- Themes: Free themes for Bootstrap
- <a href="https://www.flaticon.com/free-icons/cheese" title="cheese icons">Cheese icons created by Freepik - Flaticon</a>