2014-01-02 06:41:07 +00:00
# How to use git-annex on a Synology NAS
This is known to work with DSM 4.3-3810 Update 1 and git-annex standalone version 5.20131224-g6ca5271.
## Installation Steps
2014-01-02 17:29:04 +00:00
(1) In the DSM Package Center, install Git, which is available from Synology (no third-party repository needed).
2014-01-02 17:29:32 +00:00
2014-01-02 17:29:04 +00:00
(2) Download the latest [[standalone|install/Linux_standalone]] git-annex build for Linux on armel.
2014-01-02 17:29:32 +00:00
2014-01-02 17:29:04 +00:00
(3) Extract it somewhere sensible (eg: a bin/ directory your users home directory)
2014-01-02 17:29:32 +00:00
2014-01-02 17:29:04 +00:00
(4) Go into the git-annex.linux directory and ./runshell. You can now run git-annex as you normally would.
2014-01-02 06:41:07 +00:00
## How to sync with the Synology NAS
### On the Synology
2014-01-02 17:29:04 +00:00
(1) Setup port forwarding and associated dynamic dns, if applicable. Many good guides online for this.
2014-01-02 17:29:32 +00:00
2014-01-02 17:29:04 +00:00
(2) Setup ssh key based authentication with the Synology for each computer you want to sync with it. You want a specific key that is used only by git-annex, for each computer. Again, many good guides online.
2014-01-02 17:29:32 +00:00
2015-04-17 16:35:23 +00:00
(3) In the Synology .ssh/authorized_keys file for your account, add (substituting your username)
2014-01-02 06:41:07 +00:00
[[!format sh """
command="/home/$yourusername/.ssh/git-annex-shell"
"""]]
to the beginning of the line. Eg, it would look like this:
[[!format sh """
command="/home/greg/.ssh/git-annex-shell" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDT1yE96E/JQNPt0ziiNYJRvndCvLK4uG5h/SNYoAIBF1uH6L7VYAt3HWVqSyi3BcV70WDZ/yWgtNzbrcir46JpvEHMcvYaXLbANwoDGNjG/gsz7kP/8VUxZ6hG3P3ICuwnqVum5+rYXm6oj3xzWPfTRhhRoDZLOQdevSNpdGNaa/lSg8Vuq2suHwjQlQb8AIUuCZmS5cm6XwoUq/jJtN4LTuTPqMjzA6NkdhWM2Kigi9jPQBFborkYBPMphmZwBZiVnhsH1XpaOff+mP03D2gF/huC+b1vbWQstjuehUbY59rvJ4ijb3810Uq2ep7dwLagmILtX5GbL+GS64pAn9sIP annex-othercomputer
"""]]
2014-01-02 17:29:32 +00:00
2014-01-02 17:29:04 +00:00
(4) the git-annex-shell script in your .ssh should be created for you aftering your initial ./runshell
2014-01-02 17:29:32 +00:00
2014-01-02 17:29:04 +00:00
(5) Double check that the script points to the correct directory of where your extracted git-annex.linux lives.
2014-01-02 06:41:07 +00:00
### On the other computers - the manual way
2014-01-02 17:29:04 +00:00
(1) See step 2 above about creating the specific git-annex ssh keys.
2014-01-02 17:29:32 +00:00
2014-01-02 17:29:04 +00:00
(2) In your .ssh/config, create an alias for your Synology that includes specifying the right sshkey. For example, mine looks like:
2014-01-02 06:41:07 +00:00
[[!format sh """
Host synologyhost
HostName mydynamicdomain.no-ip.org
IdentityFile /home/greg/.ssh/annex_rsa
"""]]
2014-01-02 17:29:32 +00:00
2014-01-02 17:29:04 +00:00
(3) Now when you clone the git repo from the Synology, or add it as a remote, do the following:
2014-01-02 06:41:07 +00:00
[[!format sh """
git clone greg@synologyhost:/absolute/path/to/annexname annexname
"""]]
or
[[!format sh """
git remote add synology greg@synologyhost:/absolute/path/to/annexname
"""]]
2014-01-02 17:29:32 +00:00
2014-01-02 17:29:04 +00:00
(4) Run git-annex sync
2014-01-02 06:41:07 +00:00
### On the other computers - Using the assistant
2014-01-02 17:29:32 +00:00
2014-01-02 17:29:04 +00:00
(1) Use the webapp to add the remote. I'm not sure if there are any gotchas here as I have not done it this way yet.