mirror of
https://github.com/YunoHost-Apps/etherpad_ynh.git
synced 2024-09-03 18:36:10 +02:00
commit
96b251d694
15 changed files with 115 additions and 90 deletions
11
README.md
11
README.md
|
@ -18,7 +18,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in
|
||||||
Etherpad is a real-time collaborative editor scalable to thousands of simultaneous real time users. It provides full data export capabilities, and runs on your server, under your control.
|
Etherpad is a real-time collaborative editor scalable to thousands of simultaneous real time users. It provides full data export capabilities, and runs on your server, under your control.
|
||||||
|
|
||||||
|
|
||||||
**Shipped version:** 1.8.16~ynh1
|
**Shipped version:** 1.8.17~ynh1
|
||||||
|
|
||||||
**Demo:** https://video.etherpad.com/
|
**Demo:** https://video.etherpad.com/
|
||||||
|
|
||||||
|
@ -28,6 +28,13 @@ Etherpad is a real-time collaborative editor scalable to thousands of simultaneo
|
||||||
|
|
||||||
## Disclaimers / important information
|
## Disclaimers / important information
|
||||||
|
|
||||||
|
## Etherpad Lite
|
||||||
|
|
||||||
|
This version of Etherpad is installed without plugins and uses Redis as database.
|
||||||
|
Be aware, Redis database backup and restore is not fully implemented.
|
||||||
|
|
||||||
|
If you want to install Etherpad with pugins and mysql database: https://github.com/YunoHost-Apps/etherpad_mypads_ynh",
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
You can access Etherpad's admin panel at `domain.tld/admin`. The configuration file for Etherpad is at the path `/var/www/etherpad/settings.json`.
|
You can access Etherpad's admin panel at `domain.tld/admin`. The configuration file for Etherpad is at the path `/var/www/etherpad/settings.json`.
|
||||||
|
@ -37,7 +44,7 @@ You can access Etherpad's admin panel at `domain.tld/admin`. The configuration f
|
||||||
## Documentation and resources
|
## Documentation and resources
|
||||||
|
|
||||||
* Official app website: https://etherpad.org/
|
* Official app website: https://etherpad.org/
|
||||||
* Official admin documentation: http://etherpad.org/doc/v1.8.16
|
* Official admin documentation: http://etherpad.org/doc/v1.8.17
|
||||||
* Upstream app code repository: https://github.com/ether/etherpad-lite
|
* Upstream app code repository: https://github.com/ether/etherpad-lite
|
||||||
* YunoHost documentation for this app: https://yunohost.org/app_etherpad
|
* YunoHost documentation for this app: https://yunohost.org/app_etherpad
|
||||||
* Report a bug: https://github.com/YunoHost-Apps/etherpad_ynh/issues
|
* Report a bug: https://github.com/YunoHost-Apps/etherpad_ynh/issues
|
||||||
|
|
|
@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour
|
||||||
|
|
||||||
Etherpad est un éditeur collaboratif en temps réel évolutif pour des milliers d'utilisateurs simultanés en temps réel. Il fournit des capacités complètes d'exportation de données et s'exécute sur votre serveur, sous votre contrôle.
|
Etherpad est un éditeur collaboratif en temps réel évolutif pour des milliers d'utilisateurs simultanés en temps réel. Il fournit des capacités complètes d'exportation de données et s'exécute sur votre serveur, sous votre contrôle.
|
||||||
|
|
||||||
**Version incluse :** 1.8.16~ynh1
|
**Version incluse :** 1.8.17~ynh1
|
||||||
|
|
||||||
**Démo :** https://video.etherpad.com/
|
**Démo :** https://video.etherpad.com/
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ Vous pouvez accéder au panneau d'administration d'Etherpad à l'adresse `domain
|
||||||
## Documentations et ressources
|
## Documentations et ressources
|
||||||
|
|
||||||
* Site officiel de l'app : https://etherpad.org/
|
* Site officiel de l'app : https://etherpad.org/
|
||||||
* Documentation officielle de l'admin : http://etherpad.org/doc/v1.8.16
|
* Documentation officielle de l'admin : http://etherpad.org/doc/v1.8.17
|
||||||
* Dépôt de code officiel de l'app : https://github.com/ether/etherpad-lite
|
* Dépôt de code officiel de l'app : https://github.com/ether/etherpad-lite
|
||||||
* Documentation YunoHost pour cette app : https://yunohost.org/app_etherpad
|
* Documentation YunoHost pour cette app : https://yunohost.org/app_etherpad
|
||||||
* Signaler un bug : https://github.com/YunoHost-Apps/etherpad_ynh/issues
|
* Signaler un bug : https://github.com/YunoHost-Apps/etherpad_ynh/issues
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
setup_private=1
|
setup_private=1
|
||||||
setup_public=1
|
setup_public=1
|
||||||
upgrade=1
|
upgrade=1
|
||||||
upgrade=1 from_commit=96653aee9379d579a655777ac274355f4afca61c
|
#upgrade=1 from_commit=96653aee9379d579a655777ac274355f4afca61c
|
||||||
backup_restore=1
|
backup_restore=1
|
||||||
multi_instance=1
|
multi_instance=1
|
||||||
change_url=1
|
change_url=1
|
||||||
|
@ -24,5 +24,5 @@ Email=
|
||||||
Notification=none
|
Notification=none
|
||||||
;;; Upgrade options
|
;;; Upgrade options
|
||||||
; commit=96653aee9379d579a655777ac274355f4afca61c
|
; commit=96653aee9379d579a655777ac274355f4afca61c
|
||||||
name=Merge pull request #6 from YunoHost-Apps/testing
|
name=Merge pull request #6
|
||||||
manifest_arg=domain=DOMAIN&path=PATH&admin=USER&language=fr&is_public=1&password=pass&port=9001&
|
manifest_arg=domain=DOMAIN&path=PATH&admin=USER&language=fr&is_public=1&password=pass&port=9001&
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
SOURCE_URL=https://github.com/ether/etherpad-lite/archive/1.8.16.tar.gz
|
SOURCE_URL=https://github.com/ether/etherpad-lite/archive/1.8.17.tar.gz
|
||||||
SOURCE_SUM=dfdb60910aa9df85bde8cad8729ef6a33e36014739a3e8ce105f5e96a6b99d8c
|
SOURCE_SUM=3b51eb0259764669dedfb4d13cdbe8d4a2dea37735fe32941aac39b5def9f99b
|
||||||
SOURCE_SUM_PRG=sha256sum
|
SOURCE_SUM_PRG=sha256sum
|
||||||
SOURCE_FORMAT=tar.gz
|
SOURCE_FORMAT=tar.gz
|
||||||
SOURCE_IN_SUBDIR=true
|
SOURCE_IN_SUBDIR=true
|
||||||
|
|
|
@ -20,14 +20,11 @@
|
||||||
* https://www.npmjs.com/package/ueberdb2
|
* https://www.npmjs.com/package/ueberdb2
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* An Example of MySQL Configuration */
|
"dbType" : "redis",
|
||||||
"dbType" : "postgres",
|
|
||||||
"dbSettings" : {
|
"dbSettings" : {
|
||||||
"user" : "__DB_NAME__",
|
"host" : "127.0.0.1",
|
||||||
"host" : "localhost",
|
"port" : 6379,
|
||||||
"port" : 5432,
|
"database": "__REDIS_DB__"
|
||||||
"password": "__DB_PWD__",
|
|
||||||
"database": "__DB_NAME__"
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -17,9 +17,6 @@ location __PATH__/ {
|
||||||
# WebSocket proxying - from http://nginx.org/en/docs/http/websocket.html
|
# WebSocket proxying - from http://nginx.org/en/docs/http/websocket.html
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
proxy_set_header Connection $connection_upgrade;
|
proxy_set_header Connection $connection_upgrade;
|
||||||
|
|
||||||
# Include SSOWAT user panel.
|
|
||||||
include conf.d/yunohost_panel.conf.inc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
location ~* __PATH__/p/[^/]*(_|%|\*)[^/]*/export/etherpad {
|
location ~* __PATH__/p/[^/]*(_|%|\*)[^/]*/export/etherpad {
|
||||||
|
|
|
@ -191,7 +191,7 @@
|
||||||
/*
|
/*
|
||||||
* The default text of a pad
|
* The default text of a pad
|
||||||
*/
|
*/
|
||||||
"defaultPadText" : "Welcome to Etherpad!\n\nThis pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!\n\nGet involved with Etherpad at https:\/\/etherpad.org\n",
|
"defaultPadText" : "Welcome to Etherpad-lite!\n\nThis version of Etherpad is installed without plugins and uses Redis as database.\nBe aware, Redis database backup and restore is not fully implemented.\n\nIf you are facing an issue or want to improve this app, please open a new issue in this project: https://github.com/YunoHost-Apps/etherpad_ynh",
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Default Pad behavior.
|
* Default Pad behavior.
|
||||||
|
|
|
@ -1,3 +1,10 @@
|
||||||
|
## Etherpad Lite
|
||||||
|
|
||||||
|
This version of Etherpad is installed without plugins and uses Redis as database.
|
||||||
|
Be aware, Redis database backup and restore is not fully implemented.
|
||||||
|
|
||||||
|
If you want to install Etherpad with pugins and mysql database: https://github.com/YunoHost-Apps/etherpad_mypads_ynh",
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
You can access Etherpad's admin panel at `domain.tld/admin`. The configuration file for Etherpad is at the path `/var/www/etherpad/settings.json`.
|
You can access Etherpad's admin panel at `domain.tld/admin`. The configuration file for Etherpad is at the path `/var/www/etherpad/settings.json`.
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
"en": "Online editor providing collaborative editing in real-time",
|
"en": "Online editor providing collaborative editing in real-time",
|
||||||
"fr": "Éditeur en ligne fournissant l'édition collaborative en temps réel"
|
"fr": "Éditeur en ligne fournissant l'édition collaborative en temps réel"
|
||||||
},
|
},
|
||||||
"version": "1.8.16~ynh1",
|
"version": "1.8.17~ynh1",
|
||||||
"url": "https://etherpad.org/",
|
"url": "https://etherpad.org/",
|
||||||
"upstream": {
|
"upstream": {
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"website": "https://etherpad.org/",
|
"website": "https://etherpad.org/",
|
||||||
"demo": "https://video.etherpad.com/",
|
"demo": "https://video.etherpad.com/",
|
||||||
"admindoc": "http://etherpad.org/doc/v1.8.16",
|
"admindoc": "http://etherpad.org/doc/v1.8.17",
|
||||||
"code": "https://github.com/ether/etherpad-lite"
|
"code": "https://github.com/ether/etherpad-lite"
|
||||||
},
|
},
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
|
@ -64,7 +64,18 @@
|
||||||
"en": "Choose the application language",
|
"en": "Choose the application language",
|
||||||
"fr": "Choisissez la langue de l'application"
|
"fr": "Choisissez la langue de l'application"
|
||||||
},
|
},
|
||||||
"choices": ["de", "en", "es", "fr", "it"],
|
"choices": [
|
||||||
|
"ca",
|
||||||
|
"de",
|
||||||
|
"en",
|
||||||
|
"es",
|
||||||
|
"fr",
|
||||||
|
"gl",
|
||||||
|
"hu",
|
||||||
|
"it",
|
||||||
|
"nl",
|
||||||
|
"pt"
|
||||||
|
],
|
||||||
"default": "en"
|
"default": "en"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -4,9 +4,6 @@
|
||||||
# COMMON VARIABLES
|
# COMMON VARIABLES
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
# dependencies used by the app
|
|
||||||
pkg_dependencies="postgresql postgresql-contrib"
|
|
||||||
|
|
||||||
nodejs_version=16
|
nodejs_version=16
|
||||||
|
|
||||||
# Dependencies for AbiWord
|
# Dependencies for AbiWord
|
||||||
|
@ -26,3 +23,42 @@ libreoffice_app_dependencies="unoconv libreoffice-writer"
|
||||||
#=================================================
|
#=================================================
|
||||||
# FUTURE OFFICIAL HELPERS
|
# FUTURE OFFICIAL HELPERS
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
|
# get the first available redis database
|
||||||
|
#
|
||||||
|
# usage: ynh_redis_get_free_db
|
||||||
|
# | returns: the database number to use
|
||||||
|
ynh_redis_get_free_db() {
|
||||||
|
local result max db
|
||||||
|
result="$(redis-cli INFO keyspace)"
|
||||||
|
|
||||||
|
# get the num
|
||||||
|
max=$(cat /etc/redis/redis.conf | grep ^databases | grep -Eow "[0-9]+")
|
||||||
|
|
||||||
|
db=0
|
||||||
|
# default Debian setting is 15 databases
|
||||||
|
for i in $(seq 0 "$max")
|
||||||
|
do
|
||||||
|
if ! echo "$result" | grep -q "db$i"
|
||||||
|
then
|
||||||
|
db=$i
|
||||||
|
break 1
|
||||||
|
fi
|
||||||
|
db=-1
|
||||||
|
done
|
||||||
|
|
||||||
|
test "$db" -eq -1 && ynh_die --message="No available Redis databases..."
|
||||||
|
|
||||||
|
echo "$db"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create a master password and set up global settings
|
||||||
|
# Please always call this script in install and restore scripts
|
||||||
|
#
|
||||||
|
# usage: ynh_redis_remove_db database
|
||||||
|
# | arg: database - the database to erase
|
||||||
|
ynh_redis_remove_db() {
|
||||||
|
local db=$1
|
||||||
|
redis-cli -n "$db" flushall
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,6 @@ app=$YNH_APP_INSTANCE_NAME
|
||||||
|
|
||||||
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
||||||
domain=$(ynh_app_setting_get --app=$app --key=domain)
|
domain=$(ynh_app_setting_get --app=$app --key=domain)
|
||||||
db_name=$(ynh_app_setting_get --app=$app --key=db_name)
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# DECLARE DATA AND CONF FILES TO BACKUP
|
# DECLARE DATA AND CONF FILES TO BACKUP
|
||||||
|
@ -57,13 +56,6 @@ ynh_backup --src_path="/etc/logrotate.d/$app"
|
||||||
|
|
||||||
ynh_backup --src_path="/etc/systemd/system/$app.service"
|
ynh_backup --src_path="/etc/systemd/system/$app.service"
|
||||||
|
|
||||||
#=================================================
|
|
||||||
# BACKUP THE POSTQRESQL DATABASE
|
|
||||||
#=================================================
|
|
||||||
ynh_print_info --message="Backing up the PostgreSQL database..."
|
|
||||||
|
|
||||||
ynh_psql_dump_db --database="$db_name" > db.sql
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# END OF SCRIPT
|
# END OF SCRIPT
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -28,7 +28,7 @@ path_url=$YNH_APP_ARG_PATH
|
||||||
admin=$YNH_APP_ARG_ADMIN
|
admin=$YNH_APP_ARG_ADMIN
|
||||||
is_public=$YNH_APP_ARG_IS_PUBLIC
|
is_public=$YNH_APP_ARG_IS_PUBLIC
|
||||||
language=$YNH_APP_ARG_LANGUAGE
|
language=$YNH_APP_ARG_LANGUAGE
|
||||||
password=$YNH_APP_ARG_PASSWORD
|
password="$YNH_APP_ARG_PASSWORD"
|
||||||
export=$YNH_APP_ARG_EXPORT
|
export=$YNH_APP_ARG_EXPORT
|
||||||
|
|
||||||
app=$YNH_APP_INSTANCE_NAME
|
app=$YNH_APP_INSTANCE_NAME
|
||||||
|
@ -53,7 +53,7 @@ ynh_app_setting_set --app=$app --key=domain --value=$domain
|
||||||
ynh_app_setting_set --app=$app --key=path --value=$path_url
|
ynh_app_setting_set --app=$app --key=path --value=$path_url
|
||||||
ynh_app_setting_set --app=$app --key=admin --value=$admin
|
ynh_app_setting_set --app=$app --key=admin --value=$admin
|
||||||
ynh_app_setting_set --app=$app --key=language --value=$language
|
ynh_app_setting_set --app=$app --key=language --value=$language
|
||||||
ynh_app_setting_set --app=$app --key=password --value=$password
|
ynh_app_setting_set --app=$app --key=password --value="$password"
|
||||||
ynh_app_setting_set --app=$app --key=export --value=$export
|
ynh_app_setting_set --app=$app --key=export --value=$export
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -72,14 +72,12 @@ ynh_app_setting_set --app=$app --key=port --value=$port
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Installing dependencies..." --weight=6
|
ynh_script_progression --message="Installing dependencies..." --weight=6
|
||||||
|
|
||||||
ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies
|
|
||||||
|
|
||||||
ynh_install_nodejs --nodejs_version=$nodejs_version
|
ynh_install_nodejs --nodejs_version=$nodejs_version
|
||||||
|
|
||||||
if [ "$export" = "abiword" ]; then
|
if [ "$export" = "abiword" ]; then
|
||||||
ynh_install_app_dependencies $abiword_app_depencencies
|
ynh_exec_warn_less ynh_install_app_dependencies $abiword_app_depencencies
|
||||||
elif [ "$export" = "libreoffice" ]; then
|
elif [ "$export" = "libreoffice" ]; then
|
||||||
ynh_install_app_dependencies $libreoffice_app_dependencies
|
ynh_exec_warn_less ynh_install_app_dependencies $libreoffice_app_dependencies
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -93,13 +91,11 @@ ynh_system_user_create --username=$app --home_dir=$final_path
|
||||||
#=================================================
|
#=================================================
|
||||||
# CREATE A POSTQRESQL DATABASE
|
# CREATE A POSTQRESQL DATABASE
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Creating a PostgreSQL database..." --weight=5
|
ynh_script_progression --message="Creating a Redis database..." --weight=5
|
||||||
|
|
||||||
db_name=$(ynh_sanitize_dbid --db_name=$app)
|
# Configure redis
|
||||||
db_user=$db_name
|
redis_db=$(ynh_redis_get_free_db)
|
||||||
ynh_app_setting_set --app=$app --key=db_name --value=$db_name
|
ynh_app_setting_set --app="$app" --key=redis_db --value="$redis_db"
|
||||||
ynh_psql_test_if_first_run
|
|
||||||
ynh_psql_setup_db --db_user=$db_name --db_name=$db_name
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||||
|
@ -128,8 +124,6 @@ ynh_add_nginx_config
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Installing Etherpad..." --weight=60
|
ynh_script_progression --message="Installing Etherpad..." --weight=60
|
||||||
|
|
||||||
chown -R $app $final_path
|
|
||||||
|
|
||||||
pushd $final_path
|
pushd $final_path
|
||||||
ynh_use_nodejs
|
ynh_use_nodejs
|
||||||
ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH src/bin/installDeps.sh
|
ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH src/bin/installDeps.sh
|
||||||
|
@ -207,7 +201,7 @@ then
|
||||||
ynh_permission_update --permission="main" --add="visitors"
|
ynh_permission_update --permission="main" --add="visitors"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ynh_permission_create --permission="admin" --url="/admin" --allowed=$admin --auth_header=false
|
ynh_permission_create --permission="admin" --url="/admin" --allowed="$admin" --auth_header="false"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# RELOAD NGINX
|
# RELOAD NGINX
|
||||||
|
|
|
@ -19,9 +19,9 @@ app=$YNH_APP_INSTANCE_NAME
|
||||||
domain=$(ynh_app_setting_get --app=$app --key=domain)
|
domain=$(ynh_app_setting_get --app=$app --key=domain)
|
||||||
port=$(ynh_app_setting_get --app=$app --key=port)
|
port=$(ynh_app_setting_get --app=$app --key=port)
|
||||||
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
||||||
db_name=$(ynh_app_setting_get --app=$app --key=db_name)
|
redis_db=$(ynh_app_setting_get --app=$app --key=redis_db)
|
||||||
db_user=$db_name
|
|
||||||
export=$(ynh_app_setting_get --app=$app --key=export)
|
export=$(ynh_app_setting_get --app=$app --key=export)
|
||||||
|
redis_db=$(ynh_app_setting_get --app=$app --key=redis_db)
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# STANDARD REMOVE
|
# STANDARD REMOVE
|
||||||
|
@ -71,12 +71,11 @@ ynh_script_progression --message="Removing NodeJS version for Etherpad..." --wei
|
||||||
ynh_remove_nodejs
|
ynh_remove_nodejs
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# REMOVE THE POSTQRESQL DATABASE
|
# REMOVE THE REDIS DATABASE
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Removing the PostgreSQL database..." --weight=2
|
ynh_script_progression --message="Removing the redis database..."
|
||||||
|
|
||||||
# Remove a database if it exists, along with the associated user
|
ynh_redis_remove_db "$redis_db"
|
||||||
ynh_psql_remove_db --db_user=$db_user --db_name=$db_name
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# REMOVE ETHERPAD MAIN DIR
|
# REMOVE ETHERPAD MAIN DIR
|
||||||
|
|
|
@ -29,9 +29,7 @@ app=$YNH_APP_INSTANCE_NAME
|
||||||
domain=$(ynh_app_setting_get --app=$app --key=domain)
|
domain=$(ynh_app_setting_get --app=$app --key=domain)
|
||||||
path_url=$(ynh_app_setting_get --app=$app --key=path)
|
path_url=$(ynh_app_setting_get --app=$app --key=path)
|
||||||
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
||||||
db_name=$(ynh_app_setting_get --app=$app --key=db_name)
|
export=$(ynh_app_setting_get --app=$app --key=export)
|
||||||
db_user=$db_name
|
|
||||||
db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd)
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CHECK IF ETHERPAD CAN BE RESTORED
|
# CHECK IF ETHERPAD CAN BE RESTORED
|
||||||
|
@ -74,21 +72,9 @@ chmod 400 $final_path/credentials.json
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Reinstalling dependencies..." --weight=7
|
ynh_script_progression --message="Reinstalling dependencies..." --weight=7
|
||||||
|
|
||||||
# Define and install dependencies
|
|
||||||
ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies
|
|
||||||
|
|
||||||
# Install Nodejs
|
# Install Nodejs
|
||||||
ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version
|
ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version
|
||||||
|
|
||||||
#=================================================
|
|
||||||
# RESTORE THE POSTQRESQL DATABASE
|
|
||||||
#=================================================
|
|
||||||
ynh_script_progression --message="Restoring the PostgreSQL database..." --weight=2
|
|
||||||
|
|
||||||
ynh_psql_test_if_first_run
|
|
||||||
ynh_psql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd
|
|
||||||
ynh_psql_execute_file_as_root --file="./db.sql" --database=$db_name
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# RESTORE SYSTEMD
|
# RESTORE SYSTEMD
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -104,6 +90,17 @@ ynh_script_progression --message="Restoring the logrotate configuration..." --we
|
||||||
|
|
||||||
ynh_restore_file --origin_path="/etc/logrotate.d/$app"
|
ynh_restore_file --origin_path="/etc/logrotate.d/$app"
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# INSTALL DEPENDENCIES
|
||||||
|
#=================================================
|
||||||
|
ynh_script_progression --message="Reinstalling dependencies..." --weight=10
|
||||||
|
|
||||||
|
if [ "$export" = "abiword" ]; then
|
||||||
|
ynh_exec_warn_less ynh_install_app_dependencies $abiword_app_depencencies
|
||||||
|
elif [ "$export" = "libreoffice" ]; then
|
||||||
|
ynh_exec_warn_less ynh_install_app_dependencies $libreoffice_app_dependencies
|
||||||
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# INTEGRATE SERVICE IN YUNOHOST
|
# INTEGRATE SERVICE IN YUNOHOST
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -117,7 +114,7 @@ yunohost service add $app --description="Collaborative editor" --log="/var/log/$
|
||||||
ynh_script_progression --message="Starting a systemd service..." --weight=8
|
ynh_script_progression --message="Starting a systemd service..." --weight=8
|
||||||
|
|
||||||
ynh_systemd_action --service_name=$app --action=restart --log_path=systemd --line_match="Your Etherpad version is"
|
ynh_systemd_action --service_name=$app --action=restart --log_path=systemd --line_match="Your Etherpad version is"
|
||||||
sleep 120
|
sleep 60
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# GENERIC FINALIZATION
|
# GENERIC FINALIZATION
|
||||||
|
|
|
@ -23,9 +23,8 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
||||||
language=$(ynh_app_setting_get --app=$app --key=language)
|
language=$(ynh_app_setting_get --app=$app --key=language)
|
||||||
port=$(ynh_app_setting_get --app=$app --key=port)
|
port=$(ynh_app_setting_get --app=$app --key=port)
|
||||||
password=$(ynh_app_setting_get --app=$app --key=password)
|
password=$(ynh_app_setting_get --app=$app --key=password)
|
||||||
|
redis_db=$(ynh_app_setting_get --app=$app --key=redis_db)
|
||||||
export=$(ynh_app_setting_get --app=$app --key=export)
|
export=$(ynh_app_setting_get --app=$app --key=export)
|
||||||
db_name=$(ynh_app_setting_get --app=$app --key=db_name)
|
|
||||||
db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd)
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CHECK VERSION
|
# CHECK VERSION
|
||||||
|
@ -52,18 +51,18 @@ ynh_abort_if_errors
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Ensuring downward compatibility..." --weight=2
|
ynh_script_progression --message="Ensuring downward compatibility..." --weight=2
|
||||||
|
|
||||||
# If db_name doesn't exist, create it
|
|
||||||
if [ -z "$db_name" ]; then
|
|
||||||
db_name=$(ynh_sanitize_dbid --db_name=$app)
|
|
||||||
ynh_app_setting_set --app=$app --key=db_name --value=$db_name
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If final_path doesn't exist, create it
|
# If final_path doesn't exist, create it
|
||||||
if [ -z "$final_path" ]; then
|
if [ -z "$final_path" ]; then
|
||||||
final_path=/var/www/$app
|
final_path=/var/www/$app
|
||||||
ynh_app_setting_set --app=$app --key=final_path --value=$final_path
|
ynh_app_setting_set --app=$app --key=final_path --value=$final_path
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# If redis_db doesn't exist, create it
|
||||||
|
if [ -z "$redis_db" ]; then
|
||||||
|
redis_db=$(ynh_redis_get_free_db)
|
||||||
|
ynh_app_setting_get --app=$app --key=redis_db --value=$redis_db
|
||||||
|
fi
|
||||||
|
|
||||||
# Cleaning legacy permissions
|
# Cleaning legacy permissions
|
||||||
if ynh_legacy_permissions_exists; then
|
if ynh_legacy_permissions_exists; then
|
||||||
ynh_legacy_permissions_delete_all
|
ynh_legacy_permissions_delete_all
|
||||||
|
@ -73,7 +72,7 @@ fi
|
||||||
|
|
||||||
if ! ynh_permission_exists --permission="admin"; then
|
if ! ynh_permission_exists --permission="admin"; then
|
||||||
# Create the required permissions
|
# Create the required permissions
|
||||||
ynh_permission_create --permission="admin" --url="/admin" --allowed=$admin --auth_header=false
|
ynh_permission_create --permission="admin" --url="/admin" --allowed="$admin" --auth_header="false"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -134,19 +133,8 @@ ynh_add_nginx_config
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Installing dependencies..." --weight=12
|
ynh_script_progression --message="Installing dependencies..." --weight=12
|
||||||
|
|
||||||
ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies
|
|
||||||
|
|
||||||
ynh_install_nodejs --nodejs_version=$nodejs_version
|
ynh_install_nodejs --nodejs_version=$nodejs_version
|
||||||
|
|
||||||
#=================================================
|
|
||||||
# MODIFY A CONFIG FILE
|
|
||||||
#=================================================
|
|
||||||
# ynh_script_progression --message="Reconfiguring Etherpad..." --weight=6
|
|
||||||
|
|
||||||
# ynh_add_config --template="../conf/settings.json" --destination="$final_path/settings.json"
|
|
||||||
# ynh_add_config --template="../conf/credentials.json" --destination="$final_path/credentials.json"
|
|
||||||
# chmod 400 "$final_path/credentials.json"
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# INSTALL ETHERPAD
|
# INSTALL ETHERPAD
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
Loading…
Add table
Reference in a new issue