# Gogs for YunoHost [![Integration level](https://dash.yunohost.org/integration/gogs.svg)](https://dash.yunohost.org/appci/app/gogs) ![](https://ci-apps.yunohost.org/ci/badges/gogs.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/gogs.maintain.svg) [![Install Gogs with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=gogs) *[Lire ce readme en français.](./README_fr.md)* > *This package allows you to install Gogs quickly and simply on a YunoHost server. If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Overview Gogs (Go Git Service) is a git-based multiplatform forge written in Go. Its particularity is that it is light and can run on an ARM card, which makes it suitable for self-hosting. Gogs has a web interface similar to that of GitHub. ### Features - User dashboard, user profile and activity timeline. - Access repositories via SSH, HTTP and HTTPS protocols. - User, organization and repository management. - Repository and organization webhooks, including Slack, Discord and Dingtalk. - Repository Git hooks, deploy keys and Git LFS. - Repository issues, pull requests, wiki, protected branches and collaboration. - Migrate and mirror repositories with wiki from other code hosts. - Web editor for quick editing repository files and wiki. - Jupyter Notebook and PDF rendering. - Authentication via SMTP, LDAP, reverse proxy, GitHub.com and GitHub Enterprise with 2FA. - Customize HTML templates, static files and many others. - Rich database backend, including PostgreSQL, MySQL, SQLite3 and TiDB. **Shipped version:** 0.12.3~ynh1 **Demo:** https://try.gogs.io/user/login ## Screenshots ![](./doc/screenshots/screenshot.png) ## Disclaimers / important information ## Notes on SSH usage If you want to use Gogs with SSH and be able to pull/push with you ssh key, your SSH daemon must be properly configured to use private/public keys. Here is a sample configuration of `/etc/ssh/sshd_config` that works with Gogs: ```bash PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys ChallengeResponseAuthentication no PasswordAuthentication no UsePAM no ``` You also need to add your public key to your Gogs profile. If you use ssh on another port than 22, you need to add theses lines to your ssh config in `~/.ssh/config`: ```bash Host domain.tld port 2222 # change this with the port you use ``` ## Private Mode Actually it's possible to access to the Git repositories by the `git` command over http also in private mode installation. It's important to know that in this mode the repository could be ALSO getted if you don't set the repository as private in the repos settings. ## Documentation and resources * Official app website: http://gogs.io * Official admin documentation: https://gogs.io/docs * Upstream app code repository: https://github.com/gogs/gogs * YunoHost documentation for this app: https://yunohost.org/app_gogs * Report a bug: https://github.com/YunoHost-Apps/gogs_ynh/issues ## Developer info Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/gogs_ynh/tree/testing). To try the testing branch, please proceed like that. ``` sudo yunohost app install https://github.com/YunoHost-Apps/gogs_ynh/tree/testing --debug or sudo yunohost app upgrade gogs -u https://github.com/YunoHost-Apps/gogs_ynh/tree/testing --debug ``` **More info regarding app packaging:** https://yunohost.org/packaging_apps