Skip to content

Sync Your Repos - pull or push your git repos regularly. For dotfiles backups or note taking in git repo

License

Notifications You must be signed in to change notification settings

aceberg/git-syr

Repository files navigation

Go Report Card Binary-release GitHub Maintainability

git-syr


Sync Your Repos - pull or push your git repos regularly. For dotfiles backups or note taking in git repo

screenshot

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