1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/freshrss_ynh.git synced 2024-09-03 18:36:33 +02:00

Merge branch 'patch2' into patch

This commit is contained in:
ericgaspar 2021-06-10 14:31:19 +02:00
commit 59b88db145
No known key found for this signature in database
GPG key ID: 574F281483054D44
12 changed files with 163 additions and 88 deletions

View file

@ -1,24 +1,31 @@
<!--
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.
-->
# FreshRSS for YunoHost
[![Integration level](https://dash.yunohost.org/integration/freshrss.svg)](https://dash.yunohost.org/appci/app/freshrss) ![](https://ci-apps.yunohost.org/ci/badges/freshrss.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/freshrss.maintain.svg)
[![Install FreshRSS with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=freshrss)
> *This package allow you to install FreshRSS quickly and simply on a YunoHost server.
If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.*
*[Lire ce readme en français.](./README_fr.md)*
> *This package allows you to install FreshRSS 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
An efficient but powerful RSS aggregator with a nice and mobile-friendly design, as well as extension and themes support.
RSS aggregator with a nice and mobile-friendly design
**Shipped version:** 1.18.0
**Shipped version:** 1.18.1~ynh1
**Demo:** https://demo.freshrss.org
## Screenshots
![](https://freshrss.org/images/screenshot.png)
![](./doc/screenshots/screenshot.png)
## Demo
* [Official demo](https://demo.freshrss.org)
## Disclaimers / important information
## Configuration
@ -28,32 +35,24 @@ API (mini) How To:
* Check that the API is working: https://example.net/rss/api/greader.php
* Setup your client with: username: ynh user, password: the password you just setup, URL https://example.tld/rss/api/greader.php
## Documentation and resources
## Documentation
* Official app website: http://freshrss.org/
* Official user documentation: https://yunohost.org/apps
* Official admin documentation: https://freshrss.github.io/FreshRSS/
* Upstream app code repository: https://github.com/FreshRSS/FreshRSS
* YunoHost documentation for this app: https://yunohost.org/app_freshrss
* Report a bug: https://github.com/YunoHost-Apps/freshrss_ynh/issues
* Official documentation: https://freshrss.github.io/FreshRSS/
## Developer info
#### Supported architectures
Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/freshrss_ynh/tree/testing).
* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/freshrss%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/freshrss/)
* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/freshrss%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/freshrss/)
## Links
* Report a bug: https://github.com/YunoHost-Apps/freshrss_ynh/issues
* App website: https://freshrss.org/
* Upstream app repository: https://github.com/FreshRSS/FreshRSS
* YunoHost website: https://yunohost.org/
---
## Developers info
Please do your pull request to the [testing branch](https://github.com/YunoHost-Apps/freshrss_ynh/tree/testing).
To try the testing branch, please proceed like this:
To try the testing branch, please proceed like that.
```
sudo yunohost app install https://github.com/YunoHost-Apps/freshrss_ynh/tree/testing --debug
or
sudo yunohost app upgrade freshrss -u https://github.com/YunoHost-Apps/freshrss_ynh/tree/testing --debug
```
**More info regarding app packaging:** https://yunohost.org/packaging_apps

54
README_fr.md Normal file
View file

@ -0,0 +1,54 @@
# FreshRSS pour YunoHost
[![Niveau d'intégration](https://dash.yunohost.org/integration/freshrss.svg)](https://dash.yunohost.org/appci/app/freshrss) ![](https://ci-apps.yunohost.org/ci/badges/freshrss.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/freshrss.maintain.svg)
[![Installer FreshRSS avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=freshrss)
*[Read this readme in english.](./README.md)*
*[Lire ce readme en français.](./README_fr.md)*
> *Ce package vous permet d'installer FreshRSS rapidement et simplement sur un serveur YunoHost.
Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.*
## Vue d'ensemble
Agrégateur de flux RSS avec une interface adaptée au mobile
**Version incluse :** 1.18.1~ynh1
**Démo :** https://demo.freshrss.org
## Captures d'écran
![](./doc/screenshots/screenshot.png)
## Avertissements / informations importantes
## Configuration
API (mini) How To:
* Into your user profile: Settings > profil
* Setup an API password
* Check that the API is working: https://example.net/rss/api/greader.php
* Setup your client with: username: ynh user, password: the password you just setup, URL https://example.tld/rss/api/greader.php
## Documentations et ressources
* Site officiel de l'app : http://freshrss.org/
* Documentation officielle utilisateur : https://yunohost.org/apps
* Documentation officielle de l'admin : https://freshrss.github.io/FreshRSS/
* Dépôt de code officiel de l'app : https://github.com/FreshRSS/FreshRSS
* Documentation YunoHost pour cette app : https://yunohost.org/app_freshrss
* Signaler un bug : https://github.com/YunoHost-Apps/freshrss_ynh/issues
## Informations pour les développeurs
Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/freshrss_ynh/tree/testing).
Pour essayer la branche testing, procédez comme suit.
```
sudo yunohost app install https://github.com/YunoHost-Apps/freshrss_ynh/tree/testing --debug
ou
sudo yunohost app upgrade freshrss -u https://github.com/YunoHost-Apps/freshrss_ynh/tree/testing --debug
```
**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps

View file

@ -1,17 +1,17 @@
;; Test complet
auto_remove=1
; Manifest
domain="domain.tld"
path="/path"
admin="homer"
is_public=1
language="fr"
; Checks
pkg_linter=1
setup_sub_dir=1
setup_root=1
setup_nourl=0
setup_private=0
setup_public=0
setup_private=1
setup_public=1
upgrade=1
upgrade=1 from_commit=0b1c3be0716e4800f2ed6f5b3065f707ed67b6bf
backup_restore=1

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/FreshRSS/FreshRSS/archive/1.18.0.tar.gz
SOURCE_SUM=41698e8b1417a12440a8c4d7cc2c9ea40a581f2ad89475ded7d372a87b6b7120
SOURCE_URL=https://github.com/FreshRSS/FreshRSS/archive/1.18.1.tar.gz
SOURCE_SUM=162b0be7bdc0e51022061c895b46e7a8f229588d530b196f06ddd8d9aaaf248a
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=tar.gz
SOURCE_IN_SUBDIR=true

7
doc/DISCLAIMER.md Normal file
View file

@ -0,0 +1,7 @@
## Configuration
API (mini) How To:
* Into your user profile: Settings > profil
* Setup an API password
* Check that the API is working: https://example.net/rss/api/greader.php
* Setup your client with: username: ynh user, password: the password you just setup, URL https://example.tld/rss/api/greader.php

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

View file

@ -6,15 +6,23 @@
"en": "RSS aggregator with a nice and mobile-friendly design",
"fr": "Agrégateur de flux RSS avec une interface adaptée au mobile"
},
"version": "1.18.0~ynh1",
"version": "1.18.1~ynh1",
"url": "http://freshrss.org/",
"upstream": {
"license": "AGPL-3.0-only",
"website": "http://freshrss.org/",
"demo": "https://demo.freshrss.org",
"admindoc": "https://freshrss.github.io/FreshRSS/",
"userdoc": "https://yunohost.org/apps",
"code": "https://github.com/FreshRSS/FreshRSS"
},
"license": "AGPL-3.0-only",
"maintainer": {
"name": "plopoyop",
"email": "plopoyop@gmail.com"
},
"requirements": {
"yunohost": ">= 4.1.7"
"yunohost": ">= 4.2.0"
},
"multi_instance": true,
"services": [
@ -41,6 +49,11 @@
"optional": false,
"example": "homer"
},
{
"name": "is_public",
"type": "boolean",
"default": true
},
{
"name": "language",
"type": "string",

View file

@ -10,17 +10,6 @@ YNH_PHP_VERSION="7.3"
extra_php_dependencies="php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-zip php${YNH_PHP_VERSION}-dom php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-gmp php${YNH_PHP_VERSION}-mysql php${YNH_PHP_VERSION}-sqlite3 php${YNH_PHP_VERSION}-curl php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-xml"
#=================================================
# PERSONAL HELPERS
#=================================================
function set_permissions {
chown -R root:$app $final_path
chmod -R g=u,g-w,o-rwx $final_path
chown -R $app:$app $final_path/{data,extensions}
setfacl -n -R -m u:www-data:rx -m d:u:www-data:rx $final_path
}
#=================================================
# EXPERIMENTAL HELPERS
#=================================================

View file

@ -128,7 +128,7 @@ fi
# SPECIFIC MODIFICATIONS
#=================================================
sudo -u $app $final_path/cli/reconfigure.php --auth_type http_auth --environment production --base_url https://$domain$path_url --title FreshRSS --api_enabled --db-type mysql --db-host localhost --db-user $db_name --db-password $db_pwd --db-base $db_name
ynh_exec_as $app $final_path/cli/reconfigure.php --auth_type http_auth --environment production --base_url https://$domain$path_url --title FreshRSS --api_enabled --db-type mysql --db-host localhost --db-user $db_name --db-password $db_pwd --db-base $db_name
#=================================================
# GENERIC FINALIZATION

View file

@ -23,6 +23,7 @@ ynh_abort_if_errors
domain=$YNH_APP_ARG_DOMAIN
path_url=$YNH_APP_ARG_PATH
admin=$YNH_APP_ARG_ADMIN
is_public=$YNH_APP_ARG_IS_PUBLIC
language=$YNH_APP_ARG_LANGUAGE
app=$YNH_APP_INSTANCE_NAME
@ -63,7 +64,7 @@ ynh_install_app_dependencies $pkg_dependencies
ynh_script_progression --message="Configuring system user..."
# Create a system user
ynh_system_user_create --username=$app
ynh_system_user_create --username=$app --home_dir="$final_path"
#=================================================
# CREATE A MYSQL DATABASE
@ -84,7 +85,9 @@ ynh_app_setting_set --app=$app --key=final_path --value=$final_path
# Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$final_path"
set_permissions
chmod 750 "$final_path"
chmod -R o-rwx "$final_path"
chown -R $app:www-data "$final_path"
#=================================================
# NGINX CONFIGURATION
@ -108,7 +111,7 @@ phpversion=$(ynh_app_setting_get --app=$app --key=phpversion)
#=================================================
ynh_script_progression --message="FreshRSS setup script..."
sudo -u $app $final_path/cli/do-install.php --default_user $admin --auth_type http_auth --environment production --base_url https://$domain$path_url --title FreshRSS --api_enabled --db-type mysql --db-host localhost --db-user $db_name --db-password $db_pwd --db-base $db_name
ynh_exec_as $app $final_path/cli/do-install.php --default_user $admin --auth_type http_auth --environment production --base_url https://$domain$path_url --title FreshRSS --api_enabled --db-type mysql --db-host localhost --db-user $db_name --db-password $db_pwd --db-base $db_name
#=================================================
# CREATE DEDICATED USER
@ -118,7 +121,7 @@ ynh_script_progression --message="Creating users..."
for myuser in $(ynh_user_list)
do
user_token=$(ynh_string_random)
sudo -u $app $final_path/cli/create-user.php --user $myuser --language $language --token $user_token
ynh_exec_as $app $final_path/cli/create-user.php --user $myuser --language $language --token $user_token
done
#=================================================
@ -134,12 +137,13 @@ chmod 644 "/etc/cron.d/$app"
#=================================================
# SETUP SSOWAT
#=================================================
ynh_script_progression --message="Configuring SSOwat..."
ynh_script_progression --message="Configuring permissions..." --weight=1
#skip api directory
ynh_app_setting_set --app="$app" --key=skipped_uris --value="/api/,/scripts/api.js"
ynh_app_setting_delete --app="$app" --key=unprotected_regex
ynh_app_setting_delete --app="$app" --key=unprotected_uris
# Make app public if necessary
if [ $is_public -eq 1 ]
then
ynh_permission_update --permission="main" --add="visitors"
fi
#=================================================
# RELOAD NGINX
@ -153,4 +157,3 @@ ynh_systemd_action --service_name=nginx --action=reload
#=================================================
ynh_script_progression --message="Installation of $app completed" --last

View file

@ -55,7 +55,7 @@ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_script_progression --message="Recreating the dedicated system user..."
# Create the dedicated user (if not existing)
ynh_system_user_create --username=$app
ynh_system_user_create --username=$app --home_dir="$final_path"
#=================================================
# REINSTALL DEPENDENCIES
@ -72,7 +72,9 @@ ynh_script_progression --message="Restoring the app main directory..."
ynh_restore_file --origin_path="$final_path"
set_permissions
chmod 750 "$final_path"
chmod -R o-rwx "$final_path"
chown -R $app:www-data "$final_path"
#=================================================
# RESTORE THE PHP-FPM CONFIGURATION

View file

@ -57,6 +57,13 @@ if [ -z "$final_path" ]; then
ynh_app_setting_set --app=$app --key=final_path --value=$final_path
fi
# Cleaning legacy permissions
if ynh_legacy_permissions_exists; then
ynh_legacy_permissions_delete_all
ynh_app_setting_delete --app=$app --key=is_public
fi
#=================================================
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
#=================================================
@ -79,12 +86,12 @@ ynh_abort_if_errors
ynh_script_progression --message="Making sure dedicated system user exists..."
# Create a dedicated user (if not existing)
ynh_system_user_create --username=$app
ynh_system_user_create --username=$app --home_dir="$final_path"
#=================================================
# UPGRADE DEPENDENCIES
#=================================================
ynh_script_progression --message="Upgrading dependencies..." --weight=1
ynh_script_progression --message="Upgrading dependencies..."
ynh_install_app_dependencies $pkg_dependencies
@ -95,8 +102,8 @@ ynh_script_progression --message="Upgrading source files..."
# Download, check integrity, uncompress and patch the source from app.src
# into tmp dir
tmp_path=$(mktemp -d)
ynh_setup_source "$tmp_path"
# tmp_path=$(mktemp -d)
# ynh_setup_source "$tmp_path"
#=================================================
# NGINX CONFIGURATION
@ -118,21 +125,33 @@ ynh_add_fpm_config --package="$extra_php_dependencies"
# SPECIFIC UPGRADE
#=================================================
#old version cleanup
if [ -f $final_path/data/user.php.dist ]; then
ynh_secure_remove $final_path/data/user.php.dist
if [ "$upgrade_type" == "UPGRADE_APP" ]
then
ynh_script_progression --message="Upgrading source files..."
# Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$final_path" --keep="$final_path/data/config.php $final_path/data/users/. $final_path/extensions/."
fi
#restore config
ynh_secure_remove $tmp_path/data/do-install.txt
cp $final_path/data/config.php $tmp_path/data/config.php
cp -r $final_path/data/users/. $tmp_path/data/users/
cp -r $final_path/extensions/. $tmp_path/extensions/
# #old version cleanup
# if [ -f $final_path/data/user.php.dist ]; then
# ynh_secure_remove $final_path/data/user.php.dist
# fi
# Set permissions to freshrss directory
# Clean up existing files and copy new files to the right place
ynh_secure_remove "$final_path"
cp -rp "$tmp_path" "$final_path"
# #restore config
# ynh_secure_remove $tmp_path/data/do-install.txt
# cp $final_path/data/config.php $tmp_path/data/config.php
# cp -r $final_path/data/users/. $tmp_path/data/users/
# cp -r $final_path/extensions/. $tmp_path/extensions/
# # Set permissions to freshrss directory
# # Clean up existing files and copy new files to the right place
# ynh_secure_remove "$final_path"
# cp -rp "$tmp_path" "$final_path"
chmod 750 "$final_path"
chmod -R o-rwx "$final_path"
chown -R $app:www-data "$final_path"
#=================================================
# CRON SETUP
@ -152,19 +171,8 @@ fi
# SECURE FILES AND DIRECTORIES
#=================================================
set_permissions
# reconfigure application with latest parameters
sudo -u $app $final_path/cli/reconfigure.php --default_user $admin --auth_type http_auth --environment production --base_url https://$domain$path_url --title FreshRSS --api_enabled --db-type mysql --db-host localhost --db-user $db_name --db-password $db_pwd --db-base $db_name
#=================================================
# SETUP SSOWAT
#=================================================
ynh_script_progression --message="Upgrading SSOwat configuration..."
ynh_app_setting_set --app="$app" --key=skipped_uris --value="/api/,/scripts/api.js"
ynh_app_setting_delete --app="$app" --key=unprotected_regex
ynh_app_setting_delete --app="$app" --key=unprotected_uris
ynh_exec_as $app $final_path/cli/reconfigure.php --default_user $admin --auth_type http_auth --environment production --base_url https://$domain$path_url --title FreshRSS --api_enabled --db-type mysql --db-host localhost --db-user $db_name --db-password $db_pwd --db-base $db_name
#=================================================
# RELOAD NGINX AND PHP-FPM