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
2023-01-06 10:12:01 +01:00
Forgejo is a Gitea fork (which is a Gogs fork). A self-hosted Git service written in Go. Alternative to GitHub / Gitlab.
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
AuthorizedKeysFile /home/yunohost.app/%u/.ssh/authorized_keys
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM 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
```
### Upgrade
By default, a backup is performed before upgrading. To avoid this, you have the following options:
2023-01-06 10:12:01 +01:00
- Pass the `NO_BACKUP_UPGRADE` env variable with `1` at each upgrade. For example `NO_BACKUP_UPGRADE=1 yunohost app upgrade forgejo` .
2023-01-05 14:48:22 +01:00
- Set `disable_backup_before_upgrade` to `1` . You can set it with this command:
2023-01-06 10:12:01 +01:00
`yunohost app setting forgejo disable_backup_before_upgrade -v 1`
2023-01-05 14:48:22 +01:00
After that, the settings will be applied for **all** the next updates.
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** .
## 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 >