{"id":13590699,"url":"https://github.com/aceberg/git-syr","last_synced_at":"2025-10-30T12:31:42.930Z","repository":{"id":64886983,"uuid":"563908674","full_name":"aceberg/git-syr","owner":"aceberg","description":"Sync Your Repos - pull or push your git repos regularly. For dotfiles backups or note taking in git repo","archived":false,"fork":false,"pushed_at":"2024-09-20T11:34:52.000Z","size":189,"stargazers_count":23,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-29T06:44:09.790Z","etag":null,"topics":["automation","deb","gitpull","gitpush","go-app","linux-app","self-hosted","selfhosted","sync","web-gui","webapp","webgui"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aceberg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://boosty.to/aceberg/donate","https://github.com/aceberg#donate"]}},"created_at":"2022-11-09T15:35:02.000Z","updated_at":"2025-01-05T18:41:54.000Z","dependencies_parsed_at":"2025-01-29T06:44:17.587Z","dependency_job_id":"e8ee40c2-eaad-4384-9c71-d26b56e085b7","html_url":"https://github.com/aceberg/git-syr","commit_stats":null,"previous_names":["aceberg/gitsynctimer"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aceberg%2Fgit-syr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aceberg%2Fgit-syr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aceberg%2Fgit-syr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aceberg%2Fgit-syr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aceberg","download_url":"https://codeload.github.com/aceberg/git-syr/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238968441,"owners_count":19560586,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","deb","gitpull","gitpush","go-app","linux-app","self-hosted","selfhosted","sync","web-gui","webapp","webgui"],"created_at":"2024-08-01T16:00:49.611Z","updated_at":"2025-10-30T12:31:42.556Z","avatar_url":"https://github.com/aceberg.png","language":"Go","readme":"[![Go Report Card](https://goreportcard.com/badge/github.com/aceberg/git-syr)](https://goreportcard.com/report/github.com/aceberg/git-syr)\n[![Binary-release](https://github.com/aceberg/git-syr/actions/workflows/release.yml/badge.svg)](https://github.com/aceberg/git-syr/actions/workflows/release.yml)\n![GitHub](https://img.shields.io/github/license/aceberg/git-syr)\n[![Maintainability](https://api.codeclimate.com/v1/badges/d02b3d4486ec4b8158af/maintainability)](https://codeclimate.com/github/aceberg/git-syr/maintainability)\n\n\u003ch1\u003e\u003ca href=\"https://github.com/aceberg/git-syr\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/aceberg/git-syr/main/assets/logo.png\" width=\"20\" /\u003e\n\u003c/a\u003egit-syr\u003c/h1\u003e\n\u003cbr/\u003e\n\nSync Your Repos - pull or push your git repos regularly. For dotfiles backups or note taking in git repo\n\n- [CLI and GUI](https://github.com/aceberg/git-syr#cli-and-gui) \n- [Installation](https://github.com/aceberg/git-syr#installation)   \n- [Usage](https://github.com/aceberg/git-syr#usage)   \n- [Config](https://github.com/aceberg/git-syr#config)   \n- [Options](https://github.com/aceberg/git-syr#options)  \n- [Thanks](https://github.com/aceberg/git-syr#thanks) \n\n![screenshot](https://raw.githubusercontent.com/aceberg/git-syr/main/assets/Screenshot%202022-12-22%20at%2012-51-48%20Sync%20Your%20Repos.png)\n\n\n## CLI and GUI\nThere 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.\n\n## Installation\n\n### 1. From .deb repository (recommended)\n```sh\ncurl -s --compressed \"https://aceberg.github.io/ppa/KEY.gpg\" | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/aceberg.gpg\n```\n```sh\nsudo curl -s --compressed -o /etc/apt/sources.list.d/aceberg.list \"https://aceberg.github.io/ppa/aceberg.list\"\n```\n```sh\nsudo apt update \u0026\u0026 sudo apt install git-syr\n```\n### 2. From .deb file\nDownload [latest](https://github.com/aceberg/git-syr/releases/latest) release, install with your package maneger\n\n### 3. From .tar.gz\nDownload [latest](https://github.com/aceberg/git-syr/releases/latest) release, then\n```sh\ntar xvzf git-syr-*.tar.gz\ncd git-syr\nsudo ./install.sh\n```\n\n\n\n## Usage\n### 1. Systemd as user (recommended)\nEnable and start service, replace `MYUSER` with your username\n```sh\nsudo systemctl enable git-syr@MYUSER.service\nsudo systemctl start git-syr@MYUSER.service\n```\nWeb GUI will be available at [http://0.0.0.0:8844](http://0.0.0.0:8844)\n\n### 2. Systemd as root\nEnable and start service\n```sh\nsudo systemctl enable git-syr.service\nsudo systemctl start git-syr.service\n```\nWeb GUI will be available at [http://0.0.0.0:8844](http://0.0.0.0:8844)\n\n### 3. From command line\nJust run `git-syr`. Be mindful of the config files paths listed in [options](https://github.com/aceberg/git-syr#options) section.\n\n\n## Config\n### 1. With web GUI\nYou can do all configuration through web interface. Config files paths are listed in [options](https://github.com/aceberg/git-syr#options) section below.\n\n### 2. CLI\n`repos.yaml` example:\n```yaml\n- name: Dotfiles\n  path: /home/data/repo/dotfiles\n  timeout: 4h\n  pull: \"no\"\n  push: \"yes\"\n\n- name: MyNotes\n  path: /home/data/repo/MyNotes\n  timeout: 1m\n  pull: \"yes\"\n  push: \"yes\"\n```\n`config.yaml` example:\n```yaml\ncolor: light\nhost: 0.0.0.0\nnodepath: \"\"\nport: \"8844\"\ntheme: cosmo\n```\n\n\n\n## Options\n### 1. git-syr\n| Key  | Description | Default | Systemd (user) | Systemd (root) |\n| --------  | ----------- | ------- | --- | --- |\n| -c | Path to GUI config file |./config.yaml| $HOME/.config/git-syr/config.yaml | /etc/git-syr/config.yaml |\n| -l | Path to log file | ./git-syr.log | $HOME/.config/git-syr/git-syr.log | /var/log/git-syr.log |\n| -n | Path to [local node modules](https://github.com/aceberg/my-dockerfiles/tree/main/node-bootstrap) | | | |\n| -r | Path to repos yaml file |./repos.yaml| $HOME/.config/git-syr/repos.yaml | /etc/git-syr/repos.yaml |\n| -w | Launch without web gui | false | | |\n\n### 2. git-syr-cli\n| Key  | Description | Default | Systemd (user) | Systemd (root) |\n| --------  | ----------- | ------- | --- | --- |\n| -l | Path to log file | \"\" (No log file) | $HOME/.config/git-syr/git-syr.log | /var/log/git-syr.log |\n| -r | Path to repos yaml file |./repos.yaml| $HOME/.config/git-syr/repos.yaml | /etc/git-syr/repos.yaml |\n\nTo run git-syr without log file pass empty string `-l \"\"`\n\n\n\n## Thanks\n- All go packages listed in [dependencies](https://github.com/aceberg/git-syr/network/dependencies)\n- [Bootstrap](https://getbootstrap.com/)\n- Themes: [Free themes for Bootstrap](https://bootswatch.com)\n- \u003ca href=\"https://www.flaticon.com/free-icons/cheese\" title=\"cheese icons\"\u003eCheese icons created by Freepik - Flaticon\u003c/a\u003e","funding_links":["https://boosty.to/aceberg/donate","https://github.com/aceberg#donate"],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faceberg%2Fgit-syr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faceberg%2Fgit-syr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faceberg%2Fgit-syr/lists"}