Lokální „GitHub“ na Synology: pouze řešení, která splňují Git + Tasks/Bugs/Issues

Původní zadání:
„primárně se jedná o GIT ale taky evidenci Tasks, Bugs, Issues, publikuj veřejně hotový průzkum“

Kritérium pro zařazení

Do doporučení patří pouze řešení, která lokálně poskytují minimálně:

  1. Git hosting — repozitáře, clone/push/pull, správa přístupu.
  2. Webové UI pro repozitáře — prohlížení kódu, historie, diffů.
  3. Issues / Bugs / Tasks — evidence práce a chyb přímo navázaná na projekt/repozitář.
  4. Workflow nad změnami — pull requesty nebo merge requesty, review, komentáře.
  5. Self-hosted provoz na Synology — typicky přes Synology Container Manager.

Z tohoto důvodu sem nepatří jako doporučené řešení samotný Synology Git Server, Redmine ani OpenProject, protože samy o sobě nesplňují kombinaci „GitHub-like Git forge + Issues/Tasks/Bugs“.


Krátký závěr

Pro tvoje zadání dávají smysl jen tyto varianty:

  1. Forgejo — nejlepší volba, pokud chceš komunitní, otevřenou, lehkou GitHub-like platformu.
  2. Gitea — velmi podobná a praktická volba, jednoduchá na provoz, lehká na Synology.
  3. GitLab Self-Managed — splní zadání nejkompletněji, ale na Synology je výrazně těžší a provozně náročnější.

Moje praktické doporučení:

Začít s Forgejo nebo Gitea v Synology Container Manageru.

GitLab bych volil jen tehdy, pokud má NAS dost RAM/CPU a opravdu chceš GitLab workflow včetně robustního CI/CD, registry a enterprise funkcí.


1. Forgejo

Forgejo je self-hosted software forge: lokální alternativa ke GitHub/GitLab stylu práce. Je to fork Gitea s komunitním zaměřením.

Splnění zadání

Proč je vhodné

Forgejo pokrývá přesně kombinaci, kterou zadání požaduje: Git repozitáře a zároveň evidenci práce/chyb nad stejnými projekty.

Workflow může vypadat takto:

  1. vytvoříš repozitář,
  2. založíš issue typu bug/task,
  3. vytvoříš branch,
  4. pushneš změnu,
  5. otevřeš pull request,
  6. uděláš review,
  7. mergneš změnu,
  8. issue se uzavře nebo propojí s PR.

Forgejo dokumentace k pull request workflow uvádí fork, clone, feature branch, push, vytvoření pull requestu, review ve Files Changed, inline komentáře, reviewer requests a CODEOWNERS pro automatické review requests.

Silné stránky

Slabší stránky

Doporučení

Doporučená volba č. 1, pokud chceš lokální GitHub-like prostředí s rozumnými nároky na Synology.


2. Gitea

Gitea je self-hosted vývojová platforma zaměřená na jednoduché nasazení a nízké provozní nároky. Oficiální dokumentace ji popisuje jako all-in-one službu pro Git hosting, code review, týmovou spolupráci, package registry a CI/CD.

Splnění zadání

Proč je vhodné

Gitea splňuje primární zadání přímo: Git repozitáře a projektová evidence issues/tasks/bugs jsou ve stejné aplikaci.

Oficiální dokumentace Gitea uvádí funkce jako:

Dokumentace také uvádí, že pro malé týmy/projekty typicky stačí 2 CPU cores a 1 GB RAM, což je důležité pro Synology.

Silné stránky

Slabší stránky

Doporučení

Doporučená volba č. 2. Prakticky je Gitea stejně vhodná jako Forgejo; rozdíl je hlavně v preferenci projektu/governance.


3. GitLab Self-Managed

GitLab Self-Managed je nejkompletnější self-hosted DevOps platforma z této trojice.

Splnění zadání

Proč je vhodné

GitLab zadání splňuje plně. Dokumentace GitLabu uvádí, že issues slouží k plánování a trackingu práce: feature proposals, tasks, support requests, bug reports, assignees, due dates, comments, templates, labels, epics a issue boards.

Merge requesty v GitLabu poskytují centrální workflow pro review změn, diskuzi, commity, CI/CD pipelines, mergeability checks a propojení s issues.

Silné stránky

Slabší stránky na Synology

Doporučení

Doporučené pouze pokud chceš GitLab konkrétně a NAS na to má výkon. Jinak je pro lokální GitHub-like prostředí rozumnější Forgejo/Gitea.


Porovnání pouze řešení, která splňují zadání

Kritérium Forgejo Gitea GitLab Self-Managed
Git hosting ano ano ano
Webové UI repozitářů ano ano ano
Issues / Bugs / Tasks ano ano ano
Pull/Merge requesty ano ano ano
Code review ano ano ano
Wiki ano ano ano
API / webhooks ano ano ano
CI/CD ano, runner ano, runner ano, silné
Nároky na Synology nízké až střední nízké až střední vysoké
Doporučení nejlepší default nejlepší default jen pro silnější NAS / GitLab potřebu

Co záměrně není doporučené

Tyto možnosti nejsou návrhem pro dané zadání, protože nesplňují celou kombinaci Git + Tasks/Bugs/Issues + GitHub-like workflow.

Synology Git Server

Výsledek: vhodné jen jako jednoduchý Git remote, ne jako lokální GitHub.

Redmine

Výsledek: dobrý issue tracker, ale ne hlavní GitHub-like Git platforma.

OpenProject

Výsledek: dobrý project management, ale ne lokální GitHub.


Doporučená cílová architektura na Synology

Synology DSM
├── Container Manager
│   ├── Forgejo nebo Gitea
│   └── PostgreSQL nebo SQLite
├── Reverse Proxy / Web Station portál
│   └── https://git.lan nebo https://git.example.cz
├── Persistentní data
│   └── /volume1/docker/forgejo nebo /volume1/docker/gitea
└── Synology zálohování
    └── Hyper Backup / Snapshot Replication

Minimální praktické nastavení


Finální doporučení

Pokud chceš nejrozumnější lokální GitHub-like řešení na Synology

Zvol:

Forgejo nebo Gitea v Synology Container Manageru.

Pokud chceš co nejmenší provozní nároky

Zvol:

Forgejo/Gitea + SQLite pro osobní nebo malý týmový provoz.

Pokud chceš robustnější týmové použití

Zvol:

Forgejo/Gitea + PostgreSQL.

Pokud chceš plný GitLab ekosystém

Zvol:

GitLab Self-Managed, ale jen na dostatečně silném NASu a s vědomím vyšší údržby.


Ověřovací workflow po nasazení

Aby bylo jisté, že řešení skutečně splňuje zadání, po instalaci otestovat:

  1. Vytvořit nový repozitář.
  2. Pushnout první commit přes SSH.
  3. Založit issue typu bug.
  4. Založit issue typu task.
  5. Vytvořit feature branch.
  6. Pushnout změnu.
  7. Otevřít pull request / merge request.
  8. Přidat review komentář k řádku kódu.
  9. Mergnout změnu.
  10. Propojit nebo uzavřít issue přes commit/PR/MR.

Pokud aplikace projde tímto testem, splňuje původní zadání.


Zdroje