forgejo_ynh/README.md

136 lines
5 KiB
Markdown
Raw Normal View History

2023-01-05 14:48:22 +01:00
<!--
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator
It shall NOT be edited by hand.
-->
2023-01-06 10:12:01 +01:00
# Forgejo for YunoHost
2023-01-05 14:48:22 +01:00
2023-01-06 10:12:01 +01:00
[![Integration level](https://dash.yunohost.org/integration/forgejo.svg)](https://dash.yunohost.org/appci/app/forgejo) ![Working status](https://ci-apps.yunohost.org/ci/badges/forgejo.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/forgejo.maintain.svg)
[![Install Forgejo with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=forgejo)
2023-01-05 14:48:22 +01:00
*[Lire ce readme en français.](./README_fr.md)*
2023-01-06 10:12:01 +01:00
> *This package allows you to install Forgejo quickly and simply on a YunoHost server.
2023-01-05 14:48:22 +01:00
If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.*
## Overview
Forgejo is a Gitea fork (which is a Gogs fork). A self-hosted Git service written in Go. Alternative to GitHub / Gitlab
### Features
- User dashboard, user profile and activity timeline.
- 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.
- Customize HTML templates, static files and many others.
2023-01-05 14:48:22 +01:00
2023-01-06 10:12:01 +01:00
**Shipped version:** 1.18.0-1~ynh1
2023-01-05 14:48:22 +01:00
## Screenshots
2023-01-06 10:12:01 +01:00
![Screenshot of Forgejo](./doc/screenshots/screenshot.png)
2023-01-05 14:48:22 +01:00
## Disclaimers / important information
## Additional informations
### Notes on SSH usage
2023-01-06 10:12:01 +01:00
If you want to use Forgejo with SSH and be able to pull/push with your SSH key, your SSH daemon must be properly configured to use private/public keys. Here is a sample configuration `/etc/ssh/sshd_config` that works with Forgejo:
2023-01-05 14:48:22 +01:00
```bash
PubkeyAuthentication yes
ChallengeResponseAuthentication no
PasswordAuthentication no
```
2023-01-06 10:12:01 +01:00
You must also add your public key to your Forgejo profile.
2023-01-05 14:48:22 +01:00
When using SSH on any port other than 22, you need to add these lines to your SSH configuration `~/.ssh/config`:
```bash
Host domain.tld
port 2222 # change this with the port you use
```
## Private Mode
2023-01-05 14:48:22 +01:00
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.
2023-01-05 14:48:22 +01:00
### Upgrade
2023-01-05 14:48:22 +01:00
From command line:
2023-01-06 10:12:01 +01:00
`yunohost app upgrade forgejo`
2023-01-05 14:48:22 +01:00
### Backup
This application now uses the core-only feature of the backup. To keep the integrity of the data and to have a better guarantee of the restoration it is recommended to proceed as follows:
2023-01-06 10:12:01 +01:00
- Stop Forgejo service with this command:
2023-01-05 14:48:22 +01:00
2023-01-06 10:12:01 +01:00
`systemctl stop forgejo.service`
2023-01-05 14:48:22 +01:00
2023-01-06 10:12:01 +01:00
- Launch Forgejo backup with this command:
2023-01-05 14:48:22 +01:00
2023-01-06 10:12:01 +01:00
`yunohost backup create --app forgejo`
2023-01-05 14:48:22 +01:00
2023-01-06 10:12:01 +01:00
- Backup your data with your specific strategy (could be with rsync, borg backup or just cp). The data is generally stored in `/home/yunohost.app/forgejo`.
- Restart Forgejo service with theses command:
2023-01-05 14:48:22 +01:00
2023-01-06 10:12:01 +01:00
`systemctl start forgejo.service`
2023-01-05 14:48:22 +01:00
### Remove
2023-01-06 10:12:01 +01:00
Due of the backup core only feature the data directory in `/home/yunohost.app/forgejo` **is not removed**. It must be manually deleted to purge user data from the app.
2023-01-05 14:48:22 +01:00
### LFS setup
2023-01-06 10:12:01 +01:00
To use a repository with an `LFS` setup, you need to activate it on `/opt/forgejo/custom/conf/app.ini`
2023-01-05 14:48:22 +01:00
```ini
[server]
LFS_START_SERVER = true
LFS_HTTP_AUTH_EXPIRY = 20m
```
2023-01-06 10:12:01 +01:00
By default, NGINX is configured with a maximum value for uploading files at 200 MB. It's possible to change this value on `/etc/nginx/conf.d/my.domain.tld.d/forgejo.conf`.
2023-01-05 14:48:22 +01:00
```
client_max_body_size 200M;
```
2023-01-06 10:12:01 +01:00
Don't forget to restart Forgejo `sudo systemctl restart forgejo.service`.
2023-01-05 14:48:22 +01:00
2023-01-06 10:12:01 +01:00
> These settings are restored to the default configuration when updating Forgejo. Remember to restore your configuration after all updates.
2023-01-05 14:48:22 +01:00
### Git command access with HTTPS
If you want to use the Git command (like `git clone`, `git pull`, `git push`), you need to set this app as **public**.
2023-01-05 14:48:22 +01:00
## Documentation and resources
2023-01-06 10:12:01 +01:00
* Official app website: <https://forgejo.org>
2023-01-05 14:48:22 +01:00
* Official admin documentation: <https://docs.gitea.io/>
2023-01-06 10:12:01 +01:00
* Upstream app code repository: <https://codeberg.org/forgejo/forgejo>
* YunoHost documentation for this app: <https://yunohost.org/app_forgejo>
* Report a bug: <https://github.com/YunoHost-Apps/forgejo_ynh/issues>
2023-01-05 14:48:22 +01:00
## Developer info
2023-01-06 10:12:01 +01:00
Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/forgejo_ynh/tree/testing).
2023-01-05 14:48:22 +01:00
To try the testing branch, please proceed like that.
``` bash
2023-01-06 10:12:01 +01:00
sudo yunohost app install https://github.com/YunoHost-Apps/forgejo_ynh/tree/testing --debug
2023-01-05 14:48:22 +01:00
or
2023-01-06 10:12:01 +01:00
sudo yunohost app upgrade forgejo -u https://github.com/YunoHost-Apps/forgejo_ynh/tree/testing --debug
2023-01-05 14:48:22 +01:00
```
**More info regarding app packaging:** <https://yunohost.org/packaging_apps>