mirror of
https://github.com/YunoHost-Apps/funkwhale_ynh.git
synced 2024-09-03 18:36:24 +02:00
Fix linter warnings
This commit is contained in:
parent
a4e365451e
commit
92c82325f5
4 changed files with 31 additions and 88 deletions
19
README.md
19
README.md
|
@ -4,7 +4,8 @@
|
||||||
[](https://install-app.yunohost.org/?app=funkwhale)
|
[](https://install-app.yunohost.org/?app=funkwhale)
|
||||||
|
|
||||||
> *This package allows you to install Funkwhale quickly and simply on a YunoHost server.
|
> *This package allows you to install Funkwhale 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.
|
If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.*
|
||||||
|
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
A modern, convivial and free music server on YunoHost
|
A modern, convivial and free music server on YunoHost
|
||||||
|
@ -21,21 +22,17 @@ Installation requires a dedicated domain or subdomain. Installing in a subpath i
|
||||||
|
|
||||||
The admin uses the login you provided at installation. The password is the same you use for YunoHost.
|
The admin uses the login you provided at installation. The password is the same you use for YunoHost.
|
||||||
|
|
||||||
The admin interface is accessible at the address: your.domain.fr/api/admin
|
The admin interface is accessible at the address: `your.domain.fr/api/admin`
|
||||||
|
|
||||||
# State of this package
|
# State of this package
|
||||||
|
|
||||||
* The following have been tested with this package and work fine:
|
* The following have been tested with this package and work fine:
|
||||||
|
|
||||||
* [x] install/remove/backup/remove/upgrade with x86_64
|
* [x] install/remove/backup/remove/upgrade with x86_64 and ARM
|
||||||
* [x] import file with web interface, imports from youtube, interraction with MusicBrainz
|
* [x] import file with web interface, imports from YouTube, interraction with MusicBrainz
|
||||||
* [x] [Subsonic API](https://docs.funkwhale.audio/users/apps.html)
|
* [x] [Subsonic API](https://docs.funkwhale.audio/users/apps.html)
|
||||||
* [x] [Federation](https://docs.funkwhale.audio/federation.html) tests
|
* [x] [Federation](https://docs.funkwhale.audio/federation.html) tests
|
||||||
* [x] [CLI Import](https://docs.funkwhale.audio/importing-music.html#from-music-directory-on-the-server) Remember to `source $final_path/venv/bin/activate`, then `source $final_path/load_env` before typinh using manage.py.
|
* [x] [CLI Import](https://docs.funkwhale.audio/importing-music.html#from-music-directory-on-the-server) Remember to `source $final_path/venv/bin/activate`, then `source $final_path/load_env` before typinh using manage.py.
|
||||||
* [x] ARM support
|
|
||||||
|
|
||||||
* end-user configuration required:
|
|
||||||
* [x] LDAP integration
|
|
||||||
|
|
||||||
* to be added:
|
* to be added:
|
||||||
* [ ] Store files in HOME, see https://github.com/YunoHost-Apps/funkwhale_ynh/issues/15
|
* [ ] Store files in HOME, see https://github.com/YunoHost-Apps/funkwhale_ynh/issues/15
|
||||||
|
@ -46,6 +43,9 @@ The admin interface is accessible at the address: your.domain.fr/api/admin
|
||||||
|
|
||||||
## YunoHost specific features
|
## YunoHost specific features
|
||||||
|
|
||||||
|
* Are LDAP and HTTP auth supported? **Yes**
|
||||||
|
* Can the app be used by multiple users? **Yes**
|
||||||
|
|
||||||
#### Supported architectures
|
#### Supported architectures
|
||||||
|
|
||||||
* x86-64 - [](https://ci-apps.yunohost.org/ci/apps/funkwhale/)
|
* x86-64 - [](https://ci-apps.yunohost.org/ci/apps/funkwhale/)
|
||||||
|
@ -61,8 +61,7 @@ The admin interface is accessible at the address: your.domain.fr/api/admin
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Developers info
|
## Developers info
|
||||||
----------------
|
|
||||||
|
|
||||||
Please do your pull request to the [testing branch](https://github.com/YunoHost-Apps/funkwhale_ynh/tree/testing).
|
Please do your pull request to the [testing branch](https://github.com/YunoHost-Apps/funkwhale_ynh/tree/testing).
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
"id": "funkwhale",
|
"id": "funkwhale",
|
||||||
"packaging_format": 1,
|
"packaging_format": 1,
|
||||||
"description": {
|
"description": {
|
||||||
"en": "A modern, convivial and free music server"
|
"en": "Modern, convivial and free music server",
|
||||||
|
"fr": "Serveur de musique moderne, convivial et gratuit"
|
||||||
},
|
},
|
||||||
"version": "1.0.1~ynh1",
|
"version": "1.0.1~ynh1",
|
||||||
"url": "https://funkwhale.audio",
|
"url": "https://funkwhale.audio",
|
||||||
|
@ -17,7 +18,7 @@
|
||||||
"email": "jean-baptiste@holcroft.fr"
|
"email": "jean-baptiste@holcroft.fr"
|
||||||
}],
|
}],
|
||||||
"requirements": {
|
"requirements": {
|
||||||
"yunohost": ">= 4.0"
|
"yunohost": ">= 4.0.0"
|
||||||
},
|
},
|
||||||
"multi_instance": true,
|
"multi_instance": true,
|
||||||
"services": [
|
"services": [
|
||||||
|
@ -28,7 +29,8 @@
|
||||||
"name": "domain",
|
"name": "domain",
|
||||||
"type": "domain",
|
"type": "domain",
|
||||||
"ask": {
|
"ask": {
|
||||||
"en": "Choose a domain for funkwhale"
|
"en": "Choose a domain for Funkwhale",
|
||||||
|
"fr": "Choisissez un nom de domaine pour Funkwhale"
|
||||||
},
|
},
|
||||||
"example": "example.com"
|
"example": "example.com"
|
||||||
},
|
},
|
||||||
|
@ -36,7 +38,8 @@
|
||||||
"name": "admin",
|
"name": "admin",
|
||||||
"type": "user",
|
"type": "user",
|
||||||
"ask": {
|
"ask": {
|
||||||
"en": "Choose an admin user"
|
"en": "Choose an admin user",
|
||||||
|
"fr": "Choisissez l'administrateur"
|
||||||
},
|
},
|
||||||
"example": "sporiff"
|
"example": "sporiff"
|
||||||
},
|
},
|
||||||
|
@ -44,10 +47,12 @@
|
||||||
"name": "is_public",
|
"name": "is_public",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"ask": {
|
"ask": {
|
||||||
"en": "Is it a public application?"
|
"en": "Is it a public application?",
|
||||||
|
"fr": "Est-ce une application publique ?"
|
||||||
},
|
},
|
||||||
"help": {
|
"help": {
|
||||||
"en": "Allows unauthenticated users to access the user interface (mandatory for federation)"
|
"en": "Allows unauthenticated users to access the user interface (mandatory for federation).",
|
||||||
|
"fr": "Permet aux utilisateurs non authentifiés d'accéder à l'interface utilisateur (obligatoire pour la fédération)."
|
||||||
},
|
},
|
||||||
"default": true
|
"default": true
|
||||||
}
|
}
|
||||||
|
|
|
@ -125,72 +125,3 @@ $(yunohost tools diagnosis | grep -B 100 "services:" | sed '/services:/d')"
|
||||||
# Send the email to the recipients
|
# Send the email to the recipients
|
||||||
echo "$mail_message" | $mail_bin -a "Content-Type: text/plain; charset=UTF-8" -s "$mail_subject" "$recipients"
|
echo "$mail_message" | $mail_bin -a "Content-Type: text/plain; charset=UTF-8" -s "$mail_subject" "$recipients"
|
||||||
}
|
}
|
||||||
|
|
||||||
#=================================================
|
|
||||||
# fail2ban helpers
|
|
||||||
# taken from https://github.com/YunoHost-Apps/shaarli_ynh
|
|
||||||
#=================================================
|
|
||||||
|
|
||||||
# Create a dedicated fail2ban config (jail and filter conf files)
|
|
||||||
#
|
|
||||||
# usage: ynh_add_fail2ban_config log_file filter [max_retry [ports]]
|
|
||||||
# | arg: log_file - Log file to be checked by fail2ban
|
|
||||||
# | arg: failregex - Failregex to be looked for by fail2ban
|
|
||||||
# | arg: max_retry - Maximum number of retries allowed before banning IP address - default: 3
|
|
||||||
# | arg: ports - Ports blocked for a banned IP address - default: http,https
|
|
||||||
ynh_add_fail2ban_config () {
|
|
||||||
local logpath
|
|
||||||
local failregex
|
|
||||||
local max_retry
|
|
||||||
local ports
|
|
||||||
|
|
||||||
logpath=$1
|
|
||||||
failregex=$2
|
|
||||||
max_retry=${3:-3}
|
|
||||||
ports=${4:-http,https}
|
|
||||||
|
|
||||||
test -n "$logpath" || ynh_die --message="ynh_add_fail2ban_config expects a logfile path as first argument and received nothing."
|
|
||||||
test -n "$failregex" || ynh_die --message="ynh_add_fail2ban_config expects a failure regex as second argument and received nothing."
|
|
||||||
|
|
||||||
finalfail2banjailconf="/etc/fail2ban/jail.d/$app.conf"
|
|
||||||
finalfail2banfilterconf="/etc/fail2ban/filter.d/$app.conf"
|
|
||||||
ynh_backup_if_checksum_is_different "$finalfail2banjailconf" 1
|
|
||||||
ynh_backup_if_checksum_is_different "$finalfail2banfilterconf" 1
|
|
||||||
|
|
||||||
sudo tee "$finalfail2banjailconf" <<EOF
|
|
||||||
[$app]
|
|
||||||
enabled = true
|
|
||||||
port = $ports
|
|
||||||
filter = $app
|
|
||||||
logpath = $logpath
|
|
||||||
maxretry = $max_retry
|
|
||||||
EOF
|
|
||||||
|
|
||||||
sudo tee "$finalfail2banfilterconf" <<EOF
|
|
||||||
[INCLUDES]
|
|
||||||
before = common.conf
|
|
||||||
[Definition]
|
|
||||||
failregex = $failregex
|
|
||||||
ignoreregex =
|
|
||||||
EOF
|
|
||||||
|
|
||||||
ynh_store_file_checksum "$finalfail2banjailconf"
|
|
||||||
ynh_store_file_checksum "$finalfail2banfilterconf"
|
|
||||||
|
|
||||||
systemctl restart fail2ban
|
|
||||||
local fail2ban_error="$(journalctl -u fail2ban | tail -n50 | grep "WARNING.*$app.*")"
|
|
||||||
if [ -n "$fail2ban_error" ]
|
|
||||||
then
|
|
||||||
echo "[ERR] Fail2ban failed to load the jail for $app" >&2
|
|
||||||
echo "WARNING${fail2ban_error#*WARNING}" >&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Remove the dedicated fail2ban config (jail and filter conf files)
|
|
||||||
#
|
|
||||||
# usage: ynh_remove_fail2ban_config
|
|
||||||
ynh_remove_fail2ban_config () {
|
|
||||||
ynh_secure_remove "/etc/fail2ban/jail.d/$app.conf"
|
|
||||||
ynh_secure_remove "/etc/fail2ban/filter.d/$app.conf"
|
|
||||||
systemctl reload fail2ban
|
|
||||||
}
|
|
||||||
|
|
|
@ -220,7 +220,7 @@ ynh_replace_string --match_string="__KEY__" --replace_string="$key"
|
||||||
# Delete the original thumbnails and generate new ones for
|
# Delete the original thumbnails and generate new ones for
|
||||||
# higher quality images
|
# higher quality images
|
||||||
# https://docs.funkwhale.audio/changelog.html#increased-quality-of-jpeg-thumbnails-manual-action-required
|
# https://docs.funkwhale.audio/changelog.html#increased-quality-of-jpeg-thumbnails-manual-action-required
|
||||||
rm -rf "$final_path/media/__sized__"
|
ynh_secure_remove "$final_path/media/__sized__"
|
||||||
python api/manage.py fw media generate-thumbnails
|
python api/manage.py fw media generate-thumbnails
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -263,6 +263,14 @@ chmod -R 755 "$final_path/code/front/dist/"
|
||||||
mkdir -p "/var/log/$app"
|
mkdir -p "/var/log/$app"
|
||||||
chown -R "$app": "/var/log/$app"
|
chown -R "$app": "/var/log/$app"
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# ADVERTISE SERVICE IN ADMIN PANEL
|
||||||
|
#=================================================
|
||||||
|
|
||||||
|
yunohost service add "$app-server" --log "/var/log/$app/server.log"
|
||||||
|
yunohost service add "$app-worker" --log "/var/log/$app/worker.log"
|
||||||
|
yunohost service add "$app-beat" --log "/var/log/$app/beat.log"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SETUP SSOWAT
|
# SETUP SSOWAT
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
Loading…
Add table
Reference in a new issue