Systém pro správu verzí GIT na Synology DSM

Od doby, co vlastním Synology server (dříve DS207+, nyní DS710+), jsem na něm chtěl mít verzovací systém. Dříve Subversion, později GIT.

Dříve jsem našel na Internetu návody, jak na své DS207 Subversion zprovoznit, ale byl to docela drsný zásah do systému a ne každý by to zvládl nebo si do toho troufl. Navíc šlo o neoficiální cestu a případnou škodu bych nemohl samozřejmě reklamovat. Jednou jsem si dokonce svůj nynější DS 710+ skutečně znefunkčnil a od podpory, která mi s problémem pomohla, jsem dostal „vynadáno“, že tam byl neoficiální software (čímž určitě mysleli SVN).
Od té doby jsem raději takovéto metody instalace nepraktikoval 😀

Nyní ale můžete verzovací systémy GIT a Subversion najít v Centru balíčků přímo v Synology DSM. Systémy sice můžete jedním klikem nainstalovat, ale ne zprovoznit. Pro zprovoznění resp. vytvoření repozitáře bohužel není žádné GUI, takže budete muset sáhnout po SSH. Já jsem si na svůj DS710+ právě úspěšně doinstaloval GIT, tak si dovolím bodově popsat jak na to. SVN jsem nezkoušel, ale je možné, že postup bude podobný.

Jak na to

Otevřete si DSM svého Synology a spusťte Centrum balíčků. Tam najděte položku GIT Server a tu nainstalujte.

Pomocí okna Ovládací panel > Sdílená složka si vytvořte novou složku. Jestli chcete kořenovou složku pro více repozitářů nebo složku jednoho repozitáře už je na vás. Já jsem si vytvořil složku jediného repozitáře (víc jich potřebovat nebudu). V mém případě je to složka git. Zvolte si nastavení složky, jaké vám vyhovuje (já jsem si ji např. skryl v části Místa v síti a zakázal funkci koše).

Pokud nemáte vytvořeného uživatele, se kterým se budete chtít do repozitáře připojovat, učiňte tak v části Ovládací panel -> Uživatel. Do adresáře, který jste si v předchozím kroku vytvořili, novému uživateli nemusíte povolovat přístup. Já jsem uživatele nezakládal, protože chci používat svůj účet, který používám k připojení k Synology serveru.
Nyní spusťte dříve nainstalovaný balíček Git Server a tam vyberte ty uživatele, kterým chcete přístup do systému GIT povolit.

Pokud nemáte povolen přístup k serveru přes SSH, povolte jej: Ovládací panel -> Terminál -> Povolit službu SSH.

Nyní jdeme vytvořit repozitář. K tomu se ale budeme muset připojit k serveru pomocí SSH a to s administrátorským účtem. Učiňte tak (pokud jste na Windows, použijte třeba Putty). Po přihlášení přejděte do dříve vytvořeného adresáře. V mém případě:

cd /volume1/git

pokud chcete vytvořit více repozitářů, můžete si tu vytvořit podadresářů kolik chcete, např:

mkdir repo1

Nyní si v každém adresáři (tedy: cd repo1), kde chcete mít repozitář spusťte příkaz pro inicializaci repozitáře a nastavení práv:

git --bare init
chmod -R g+ws *
chgrp -R users *

A to je vše! 🙂 Teď máte vytvořen repozitář (nebo repozitáře), ke kterému se můžete připojovat pomocí vybraných uživatelů. U klienta nastavte pro synchronizaci následující formát adresy:

ssh://{uzivatel}@{IP_serveru_nebo_hostname}/{absolutni_cesta_do_repozitare}

Já jsem si navíc do rootu vytvořil symlink git, který ukazuje na můj repozitář /volume1/git/

ln -s /volume1/git/ git

Takže místo adresy ssh://lukas@mujsyno.cz/volume1/git mohu použít adresu ssh://lukas@mujsyno.cz/git 😉

Při pokusu naklonování u klienta budete vyzváni k zadání hesla uživatele. Pokud chcete GIT provozovat na Windows, určitě doporučuji GIT pro Windows v kombinaci s Tortoise GIT.

Snad se vám podařilo dle mého návodu repozitář nebo repozitáře vytvořit. Pokud ne, můžete mi napsat v komentářích a pokusím se pomoci.

4 komentáře u „Systém pro správu verzí GIT na Synology DSM

  1. Marek

    Ahoj,
    mám doma Synology NAS a zkoušel jsem na něm rozchodit GIT server podle tvého návodu, ale nedaří se mi to. Na NASu asi mám vše nastaveno(vytvořil jsem složku, zinicializoval), ale nejde mi connect z PC. Chtěl bych si nastavit GIT s Android Studio, ale nejde mi to ani s GIT Bashem. Můžeš mi poskytnout doplňující návod jak

  2. Marek

    Zkoušel jsem connect GIT Windows i Android Studio, ale nejde to dál, když zadám adresu
    ssh://jmeno@IP_NASU/volume1/git/git1
    po zadání této cesty mi nelze pokračovat resp. tuto adresu bere jako chybno.
    Pošlu kdyžtak screeny obrazovky na email, aby to bylo nároznější

    1. Lukáš Francálek Autor příspěvku

      Já jako klienta pro Win používám TortoiseGit. Teď jsem zkoušel znovu naklonovat svůj repozitář a taky jsem měl problémy, ale když jsem zadal úplnou cestu (ne přes ten symlink), tak to šlo.
      1) Používáš pro připojení na Syno standardní SSH port (22)? Pokud ne, musíš jej explicitně zadat do adresy.
      2) Jiné repozitáře Ti normálně klonovat jdou?
      3) IP adresu používáš lokální nebo veřejnou?

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *