--- title: Gogs created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, development, forge, git] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Development, https://github.com/gogs/gogs] --- # đŸ’» Gogs > Forge Git ultra-lĂ©gĂšre Ă©crite en Go — l'ancĂȘtre de Gitea, encore plus minimaliste, conçue pour tourner sur un Raspberry Pi ou un NAS avec quelques Mo de RAM. ## 📋 Informations GĂ©nĂ©rales | Attribut | Valeur | |----------|--------| | **Nom** | Gogs | | **Slug** | gogs | | **Description** | Forge Git ultra-lĂ©gĂšre (Go) — minimaliste, auto-hĂ©bergeable sur Raspberry Pi | | **Site officiel** | https://gogs.io | | **Repository** | https://github.com/gogs/gogs | | **Stars** | 47 585 ⭐ | | **Licence** | MIT | | **Langage principal** | Go | | **CatĂ©gorie** | Development | | **Tags** | [catalogue, development, forge, git] | ## 📝 Description **Gogs** (« Go Git Service ») est une **forge Git ultra-lĂ©gĂšre** Ă©crite en Go, créée en 2014 par Unknwon. C'est historiquement le **projet parent de Gitea** : en 2016, des contributeurs mĂ©contents de la gouvernance ont forkĂ© Gogs pour crĂ©er Gitea, qui a depuis largement dĂ©passĂ© Gogs en popularitĂ© et en fonctionnalitĂ©s. Gogs conserve nĂ©anmoins sa philosophie : **un binaire unique, SQLite par dĂ©faut, 100 % MIT, RAM de l'ordre de 50–100 Mo pour une instance personnelle**. Les fonctionnalitĂ©s restent volontairement plus limitĂ©es que Gitea/GitLab : pas de CI/CD natif (sauf via webhooks externes), pas de packages registry, pas de projects kanban, mais tout l'essentiel : dĂ©pĂŽts Git, issues, pull requests, wiki, releases, webhooks, gestion d'organisation. IdĂ©al pour un **usage personnel** : un Raspberry Pi, un vieux laptop, un NAS Synology — lĂ  oĂč Gitea/GitLab seraient trop gourmands. **ModĂšle de licence** : 100 % MIT, pas de version commerciale. Le dĂ©veloppement a ralenti (releases moins frĂ©quentes que Gitea) mais reste actif. Pour un self-host moderne, beaucoup prĂ©fĂšrent aujourd'hui **Gitea** (compat ascendante quasi totale, plus actif) ou **Forgejo** (fork communautaire de Gitea). ## 🚀 Installation ### Via Docker (recommandĂ©) ```yaml # docker-compose.yml version: "3.8" services: gogs: image: gogs/gogs:0.13 container_name: gogs restart: unless-stopped ports: - "3000:3000" # web UI - "2222:22" # SSH Git environment: - USER_UID=1000 - USER_GID=1000 volumes: - ./data:/data # Optionnel : PostgreSQL au lieu de SQLite pour la production db: image: postgres:13 restart: unless-stopped environment: POSTGRES_USER: gogs POSTGRES_PASSWORD: ***changeme*** POSTGRES_DB: gogs volumes: - ./postgres:/var/lib/postgresql/data ``` ### Installation manuelle ```bash # Binaire Linux (consomme ~30 Mo de RAM au repos) wget https://github.com/gogs/gogs/releases/download/v0.13.0/gogs_0.13.0_linux_amd64.tar.gz tar -xzf gogs_0.13.0_linux_amd64.tar.gz cd gogs && ./gogs web # Configuration par dĂ©faut : SQLite + port 3000 # UI web : http://localhost:3000/install (assistant de premier lancement) ``` ## ⚙ Configuration - **`/data/gogs/conf/app.ini`** : fichier de configuration principal (Ă©quivalent INI du YAML Gitea). - **Sections clĂ©s** : `[server]` (DOMAIN, ROOT_URL, SSH_DOMAIN, SSH_PORT), `[database]` (DB_TYPE = sqlite3 ou postgres), `[security]` (REVERSE_PROXY_AUTHENTICATION_USER_HEADER), `[service] DISABLE_REGISTRATION`. - **Premier lancement** : visiter `/install` pour l'assistant web (crĂ©ation admin, choix DB, configuration SMTP). - **SSH** : Gogs embarque un serveur SSH interne sur le port 22 interne (mappĂ© 2222 par dĂ©faut sur l'hĂŽte), ou utiliser OpenSSH de l'hĂŽte (`START_SSH_SERVER = false` + AuthorizedKeysCommand). - **Backups** : `gogs backup` (commande intĂ©grĂ©e) exporte la base + les repos dans un tar.gz unique. ## 🔗 Alternatives - **Gitea** — Fork communautaire de Gogs, plus actif, plus de fonctionnalitĂ©s (CI, packages, projects), mĂȘme philosophie lĂ©gĂšre. - **Forgejo** — Fork de Gitea, gouvernance par fondation, 100 % communautaire. - **GitLab CE** — Forge complĂšte mais lourde (≄4 Go RAM, plus complexe Ă  administrer). - **OneDev** — Forge DevOps tout-en-un, plus orientĂ©e Ă©quipe/CI. ## 🔒 SĂ©curitĂ© - **Expositions** : Gogs Ă©coute sur 3000 (web) et 22 interne (SSH Git) — ne jamais exposer 3000 sans reverse-proxy HTTPS. - **Mises Ă  jour** : Gogs publie moins frĂ©quemment que Gitea, mais reste sous maintenance — surveiller les CVE et planifier les montĂ©es de version. - **2FA** : support natif TOTP depuis 0.13, Ă  imposer pour les comptes admin. - **Secrets** : `[security] SECRET_KEY` doit ĂȘtre long et unique (sert Ă  signer les sessions et les cookies). - **Authorized keys** : si vous utilisez l'option `AuthorizedKeysCommand` pour dĂ©lĂ©guer Ă  OpenSSH, vĂ©rifier les permissions (`0700` sur le home dir, `0600` sur les clĂ©s). ## 📚 Ressources - [Site officiel](https://gogs.io) - [Documentation](https://gogs.io/docs) - [Repository GitHub](https://github.com/gogs/gogs) - [Selfh.st — Gogs](https://selfh.st/apps/?tag=Development) - [Gogs vs Gitea — Comparatif](https://docs.gitea.io/en-us/comparison/) ## 🔗 Pages LiĂ©es - [[cat-development]] — CatĂ©gorie Development - [[app-gitea]] — Fork communautaire moderne de Gogs - [[app-onedev]] — Forge DevOps tout-en-un - [[app-code-server]] — Web IDE Ă  coupler avec la forge - [[app-traefik]] — Reverse-proxy HTTPS - [[securisation-home-lab]] — Bonnes pratiques de sĂ©curitĂ© - [[recettes-docker-compose]] — Templates Docker