Instructions for setting up a git server on a Synology NAS with Diskstation - Install Git Server package via Diskstation - Enable SSH access on Diskstation (Control Panel > Terminal & SNMP > Enable SSH Service) - Create user `gituser` on NAS (with WebDAV privilages) - Add new shared folder called `git` (e.g. `/volume1/git`) with read/write access for `gituser` and `admin` Configure SSH Access - create `~/.ssh` folder for gituser on server ``` ssh admin@diskstation.local mkdir /volume1/homes/gituser/.ssh ``` - copy public rsa key from local computer to gituser account on server ``` scp ~/.ssh/id_rsa.pub admin@diskstation.local:/volume1/homes/gituser/.ssh ``` - rename `id_rsa.pub` to `authorized_keys` on NAS (or append if already exists, `cat id_rsa.pub >> authorized_keys`) ``` ssh admin@diskstation.local mv /volume1/homes/gituser/.ssh/id_rsa.pub /volume1/homes/gituser/.ssh/authorized_keys ``` - change permissions as root ``` cd /volume1/homes/gituser/ chown -R gituser:users .ssh chmod 700 .ssh chmod 644 .ssh/authorized_keys ``` - change ssh config to allow for key validation ``` ssh root@diskstation.local cd /volume1/homes/gituser vim /etc/ssh/sshd_config ``` - uncomment these lines (save in vim `:w` and then quit `:q`) ``` PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys ``` ## Setting up a New Repo on NAS ## Add NAS as Remote for Local Repo References: http://blog.osdev.org/git/2014/02/13/using-git-on-a-synology-nas.html http://stackoverflow.com/questions/20074692/set-up-git-on-a-nas-with-synologys-official-package