forked from Git/send_ynh
Compare commits
42 Commits
Author | SHA1 | Date | |
---|---|---|---|
d5cdfab3e5 | |||
3e33afe719 | |||
4aa0b12939 | |||
8c82c3a2a0 | |||
933ec4da0f | |||
ac7ba5a605 | |||
396b5699a7 | |||
ac39aded73 | |||
6f3e883927 | |||
aef113307b | |||
5e7987c756 | |||
5a177bf8f5 | |||
23abb35178 | |||
6bf5427871 | |||
ad1090893d | |||
8e5ef1a4b3 | |||
586a8c80f3 | |||
c98324b6ad | |||
474c7e55e2 | |||
ce36806a8e | |||
e527c2abf1 | |||
dec5037d52 | |||
42ebfc4b08 | |||
61580a2349 | |||
8b99ab94ba | |||
5f46cd0123 | |||
790c3217cb | |||
56151f7616 | |||
db8a12531e | |||
f260385c01 | |||
e3c6d21bf3 | |||
f525a0bfde | |||
eea08bc9cd | |||
b0da27c1aa | |||
63d519ed92 | |||
58152d7373 | |||
d6855e0bec | |||
5b72dfb422 | |||
04fdb69e49 | |||
89ceb26920 | |||
013ef01307 | |||
03afd83d28 |
61
README.md
61
README.md
@ -1,50 +1,41 @@
|
||||
<!--
|
||||
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator
|
||||
N.B.: This README was automatically generated by <https://github.com/YunoHost/apps_tools/blob/main/readme_generator>
|
||||
It shall NOT be edited by hand.
|
||||
-->
|
||||
|
||||
# Send for YunoHost
|
||||
<h1>
|
||||
<img src="https://raw.githubusercontent.com/YunoHost/apps/main/logos/send.png" width="32px" alt="Logo of Send">
|
||||
Send, packaged for YunoHost
|
||||
</h1>
|
||||
|
||||
[](https://dash.yunohost.org/appci/app/send)  
|
||||
File sharing which allows to send encrypted files
|
||||
|
||||
[](https://install-app.yunohost.org/?app=send)
|
||||
[](https://send.vis.ee/)
|
||||
[](https://send.vis.ee/)
|
||||
[?style=for-the-badge)](https://ci-apps.yunohost.org/ci/apps/send/)
|
||||
|
||||
*[Lire ce readme en français.](./README_fr.md)*
|
||||
<div align="center">
|
||||
<a href="https://apps.yunohost.org/app/send"><img height="100px" src="https://github.com/YunoHost/yunohost-artwork/raw/refs/heads/main/badges/neopossum-badges/badge_more_info_on_the_appstore.svg"/></a>
|
||||
<a href="https://github.com/YunoHost-Apps/send_ynh/issues"><img height="100px" src="https://github.com/YunoHost/yunohost-artwork/raw/refs/heads/main/badges/neopossum-badges/badge_report_an_issue.svg"/></a>
|
||||
</div>
|
||||
|
||||
> *This package allows you to install Send 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.*
|
||||
## 📦 Developer info
|
||||
|
||||
## Overview
|
||||
[](https://ci-apps.yunohost.org/ci/apps/send/)
|
||||
|
||||
A fork of Mozilla's Firefox Send. Mozilla discontinued Send, this fork is a community effort to keep the project up-to-date and alive.
|
||||
Send is a file sharing experiment which allows you to send encrypted files to other users.
|
||||
🛠️ Upstream Send repository: <https://github.com/timvisee/send>
|
||||
|
||||
Pull request are welcome and should target the [`testing` branch](https://github.com/YunoHost-Apps/send_ynh/tree/testing).
|
||||
|
||||
**Shipped version:** 3.4.23~ynh3
|
||||
The `testing` branch can be tested using:
|
||||
```
|
||||
# fresh install:
|
||||
sudo yunohost app install https://github.com/YunoHost-Apps/send_ynh/tree/testing
|
||||
|
||||
**Demo:** https://send.vis.ee/
|
||||
|
||||
## Screenshots
|
||||
|
||||

|
||||
|
||||
## Documentation and resources
|
||||
|
||||
* Official app website: <https://send.vis.ee/>
|
||||
* Upstream app code repository: <https://github.com/timvisee/send>
|
||||
* YunoHost Store: <https://apps.yunohost.org/app/send>
|
||||
* Report a bug: <https://github.com/YunoHost-Apps/send_ynh/issues>
|
||||
|
||||
## Developer info
|
||||
|
||||
Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/send_ynh/tree/testing).
|
||||
|
||||
To try the testing branch, please proceed like that.
|
||||
|
||||
``` bash
|
||||
sudo yunohost app install https://github.com/YunoHost-Apps/send_ynh/tree/testing --debug
|
||||
or
|
||||
sudo yunohost app upgrade send -u https://github.com/YunoHost-Apps/send_ynh/tree/testing --debug
|
||||
# upgrade an existing install:
|
||||
sudo yunohost app upgrade send -u https://github.com/YunoHost-Apps/send_ynh/tree/testing
|
||||
```
|
||||
|
||||
**More info regarding app packaging:** <https://yunohost.org/packaging_apps>
|
||||
### 📚 App packaging documentation
|
||||
|
||||
Please see <https://doc.yunohost.org/packaging_apps> for more information.
|
50
README_fr.md
50
README_fr.md
@ -1,50 +0,0 @@
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
|
||||
# Send pour YunoHost
|
||||
|
||||
[](https://dash.yunohost.org/appci/app/send)  
|
||||
|
||||
[](https://install-app.yunohost.org/?app=send)
|
||||
|
||||
*[Read this readme in english.](./README.md)*
|
||||
|
||||
> *Ce package vous permet d’installer Send 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
|
||||
|
||||
Un fork du Firefox Send de Mozilla. Mozilla a arrêté Send, et ce fork est un effort de la communauté pour maintenir le projet en vie.
|
||||
Send est une expérience de partage de fichiers qui permet d'envoyer des fichiers chiffrés à d'autres utilisateurs.
|
||||
|
||||
|
||||
**Version incluse :** 3.4.23~ynh3
|
||||
|
||||
**Démo :** https://send.vis.ee/
|
||||
|
||||
## Captures d’écran
|
||||
|
||||

|
||||
|
||||
## Documentations et ressources
|
||||
|
||||
* Site officiel de l’app : <https://send.vis.ee/>
|
||||
* Dépôt de code officiel de l’app : <https://github.com/timvisee/send>
|
||||
* YunoHost Store: <https://apps.yunohost.org/app/send>
|
||||
* Signaler un bug : <https://github.com/YunoHost-Apps/send_ynh/issues>
|
||||
|
||||
## Informations pour les développeurs
|
||||
|
||||
Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/send_ynh/tree/testing).
|
||||
|
||||
Pour essayer la branche testing, procédez comme suit.
|
||||
|
||||
``` bash
|
||||
sudo yunohost app install https://github.com/YunoHost-Apps/send_ynh/tree/testing --debug
|
||||
ou
|
||||
sudo yunohost app upgrade send -u https://github.com/YunoHost-Apps/send_ynh/tree/testing --debug
|
||||
```
|
||||
|
||||
**Plus d’infos sur le packaging d’applications :** <https://yunohost.org/packaging_apps>
|
6
conf/.env
Normal file
6
conf/.env
Normal file
@ -0,0 +1,6 @@
|
||||
NODE_ENV=production
|
||||
BASE_URL=https://__DOMAIN__
|
||||
IP_ADDRESS=127.0.0.7
|
||||
PORT=__PORT__
|
||||
REDIS_DB=__REDIS_DB__
|
||||
FILE_DIR=__DATA_DIR__
|
@ -7,9 +7,9 @@ Type=simple
|
||||
User=__APP__
|
||||
Group=__APP__
|
||||
WorkingDirectory=__INSTALL_DIR__/
|
||||
Environment="NODE_ENV=production"
|
||||
Environment="__YNH_NODE_LOAD_PATH__"
|
||||
ExecStart=__YNH_NODE__ __INSTALL_DIR__/server/bin/prod.js
|
||||
EnvironmentFile=__INSTALL_DIR__/.env
|
||||
Environment="PATH=__PATH_WITH_NODEJS__"
|
||||
ExecStart=__NODEJS_DIR__/node __INSTALL_DIR__/server/bin/prod.js
|
||||
Restart=always
|
||||
|
||||
# Sandboxing options to harden security
|
||||
|
@ -7,9 +7,9 @@ name = "Send"
|
||||
description.en = "File sharing which allows to send encrypted files"
|
||||
description.fr = "Partage de fichiers qui permet d'envoyer des fichiers chiffrés"
|
||||
|
||||
version = "3.4.23~ynh3"
|
||||
version = "3.4.25~ynh1"
|
||||
|
||||
maintainers = ["eric_G"]
|
||||
maintainers = []
|
||||
|
||||
[upstream]
|
||||
license = "MPL-2.0"
|
||||
@ -18,7 +18,8 @@ demo = "https://send.vis.ee/"
|
||||
code = "https://github.com/timvisee/send"
|
||||
|
||||
[integration]
|
||||
yunohost = ">= 11.2"
|
||||
yunohost = ">= 12.0.9"
|
||||
helpers_version = "2.1"
|
||||
architectures = ["amd64", "arm64", "armhf"]
|
||||
multi_instance = true
|
||||
|
||||
@ -42,8 +43,8 @@ ram.runtime = "50M"
|
||||
|
||||
[resources]
|
||||
[resources.sources.main]
|
||||
url = "https://github.com/timvisee/send/archive/refs/tags/v3.4.23.tar.gz"
|
||||
sha256 = "eed0e391050842413d300133a64cc76829e3ba1d69e113f6e5fdc3eda777fa2a"
|
||||
url = "https://github.com/timvisee/send/archive/refs/tags/v3.4.25.tar.gz"
|
||||
sha256 = "826224832ac8facdd368f9960d99afdef0a549d92b003af1d93bc271b6fa036a"
|
||||
autoupdate.strategy = "latest_github_tag"
|
||||
|
||||
[resources.ports]
|
||||
@ -52,18 +53,23 @@ ram.runtime = "50M"
|
||||
|
||||
[resources.install_dir]
|
||||
|
||||
[resources.data_dir]
|
||||
|
||||
[resources.permissions]
|
||||
main.url = "/"
|
||||
main.additional_urls = ["/api/upload"]
|
||||
|
||||
|
||||
api.url = "/api"
|
||||
api.allowed = "visitors"
|
||||
api.auth_header = false
|
||||
api.show_tile = false
|
||||
api.protected = true
|
||||
|
||||
|
||||
download.url = "/download"
|
||||
download.allowed = "visitors"
|
||||
download.auth_header = false
|
||||
download.show_tile = false
|
||||
download.additional_urls = [ "re:^__DOMAIN__/.*.css$", "re:^__DOMAIN__/.*.js$", "re:^__DOMAIN__/.*.svg$", "re:^__DOMAIN__/.*.woff2$", "re:^__DOMAIN__/favicon.*.png$" ]
|
||||
|
||||
[resources.apt]
|
||||
packages = "redis-server"
|
||||
|
@ -1,57 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# COMMON VARIABLES
|
||||
# COMMON VARIABLES AND CUSTOM HELPERS
|
||||
#=================================================
|
||||
|
||||
nodejs_version=16
|
||||
|
||||
#=================================================
|
||||
# PERSONAL HELPERS
|
||||
#=================================================
|
||||
|
||||
#=================================================
|
||||
# EXPERIMENTAL 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
|
||||
}
|
||||
nodejs_version="16"
|
||||
|
@ -1,40 +1,32 @@
|
||||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# GENERIC START
|
||||
#=================================================
|
||||
# IMPORT GENERIC HELPERS
|
||||
#=================================================
|
||||
|
||||
# Keep this path for calling _common.sh inside the execution's context of backup and restore scripts
|
||||
source ../settings/scripts/_common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# DECLARE DATA AND CONF FILES TO BACKUP
|
||||
#=================================================
|
||||
ynh_print_info --message="Declaring files to be backed up..."
|
||||
ynh_print_info "Declaring files to be backed up..."
|
||||
|
||||
#=================================================
|
||||
# BACKUP THE APP MAIN DIR
|
||||
#=================================================
|
||||
|
||||
ynh_backup --src_path="$install_dir"
|
||||
ynh_backup "$install_dir"
|
||||
|
||||
#=================================================
|
||||
# BACKUP THE NGINX CONFIGURATION
|
||||
# BACKUP THE DATA DIR
|
||||
#=================================================
|
||||
|
||||
ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
ynh_backup "$data_dir"
|
||||
|
||||
#=================================================
|
||||
# BACKUP SYSTEMD
|
||||
# SYSTEM CONFIGURATION
|
||||
#=================================================
|
||||
|
||||
ynh_backup --src_path="/etc/systemd/system/$app.service"
|
||||
ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
|
||||
ynh_backup "/etc/systemd/system/$app.service"
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
#=================================================
|
||||
|
||||
ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)."
|
||||
ynh_print_info "Backup script completed for $app. (YunoHost will then actually copy those files to the archive)."
|
||||
|
@ -1,55 +1,38 @@
|
||||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# GENERIC STARTING
|
||||
#=================================================
|
||||
# IMPORT GENERIC HELPERS
|
||||
#=================================================
|
||||
|
||||
source _common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# STANDARD MODIFICATIONS
|
||||
#=================================================
|
||||
# STOP SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Stopping a systemd service..." --weight=1
|
||||
ynh_script_progression "Stopping $app's systemd service..."
|
||||
|
||||
ynh_systemd_action --service_name="$app" --action="stop"
|
||||
ynh_systemctl --service="$app" --action="stop" --log_path="systemd"
|
||||
|
||||
#=================================================
|
||||
# MODIFY URL IN NGINX CONF
|
||||
#=================================================
|
||||
ynh_script_progression --message="Updating NGINX web server configuration..." --weight=1
|
||||
ynh_script_progression "Updating NGINX web server configuration..."
|
||||
|
||||
ynh_change_url_nginx_config
|
||||
ynh_config_change_url_nginx
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC MODIFICATIONS
|
||||
#=================================================
|
||||
# ADD A CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Adding a configuration file..." --weight=2
|
||||
ynh_script_progression "Adding $app's configuration..."
|
||||
|
||||
domain=$new_domain
|
||||
ynh_add_config --template="../conf/config.js" --destination="$install_dir/server/config.js"
|
||||
ynh_config_add --template="config.js" --destination="$install_dir/server/config.js"
|
||||
|
||||
chmod 400 "$install_dir/server/config.js"
|
||||
chown "$app:$app" "$install_dir/server/config.js"
|
||||
|
||||
#=================================================
|
||||
# GENERIC FINALISATION
|
||||
#=================================================
|
||||
# START SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Starting a systemd service..." --weight=1
|
||||
ynh_script_progression "Starting $app's systemd service..."
|
||||
|
||||
# Start a systemd service
|
||||
ynh_systemd_action --service_name="$app" --action="start" --log_path="systemd"
|
||||
ynh_systemctl --service="$app" --action="start" --log_path="systemd"
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
#=================================================
|
||||
|
||||
ynh_script_progression --message="Change of URL completed for $app" --last
|
||||
ynh_script_progression "Change of URL completed for $app"
|
||||
|
@ -1,89 +1,69 @@
|
||||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# GENERIC START
|
||||
#=================================================
|
||||
# IMPORT GENERIC HELPERS
|
||||
#=================================================
|
||||
|
||||
source _common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# INSTALL DEPENDENCIES
|
||||
#=================================================
|
||||
ynh_script_progression --message="Installing dependencies..." --weight=20
|
||||
ynh_script_progression "Installing dependencies..."
|
||||
|
||||
ynh_exec_warn_less ynh_install_nodejs --nodejs_version="$nodejs_version"
|
||||
ynh_nodejs_install
|
||||
|
||||
#=================================================
|
||||
# CREATE A REDIS DATABASE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Creating a Redis database..." --weight=5
|
||||
ynh_script_progression "Creating a Redis database..."
|
||||
|
||||
# Configure redis
|
||||
redis_db=$(ynh_redis_get_free_db)
|
||||
ynh_app_setting_set --app="$app" --key=redis_db --value="$redis_db"
|
||||
ynh_app_setting_set --key=redis_db --value="$redis_db"
|
||||
|
||||
#=================================================
|
||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Setting up source files..." --weight=2
|
||||
ynh_script_progression "Setting up source files..."
|
||||
|
||||
# Download, check integrity, uncompress and patch the source from app.src
|
||||
ynh_setup_source --dest_dir="$install_dir"
|
||||
|
||||
chmod -R o-rwx "$install_dir"
|
||||
chown -R "$app:www-data" "$install_dir"
|
||||
chmod +x "$install_dir/server/bin/prod.js"
|
||||
|
||||
#=================================================
|
||||
# NGINX CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Configuring NGINX web server..." --weight=2
|
||||
ynh_script_progression "Configuring NGINX web server..."
|
||||
|
||||
# Create a dedicated NGINX config
|
||||
ynh_add_nginx_config
|
||||
ynh_config_add_nginx
|
||||
|
||||
env_path="$PATH"
|
||||
# Create a dedicated systemd config
|
||||
ynh_add_systemd_config
|
||||
ynh_config_add_systemd
|
||||
|
||||
yunohost service add "$app" --description="Simple, private file sharing" --log="/var/log/$app/$app.log"
|
||||
|
||||
#=================================================
|
||||
# ADD A CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Adding a configuration file..." --weight=2
|
||||
ynh_script_progression "Adding $app's configuration..."
|
||||
|
||||
ynh_add_config --template="config.js" --destination="$install_dir/server/config.js"
|
||||
ynh_config_add --template=".env" --destination="$install_dir/.env"
|
||||
|
||||
chmod 400 "$install_dir/server/config.js"
|
||||
chown "$app:" "$install_dir/server/config.js"
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC SETUP
|
||||
#=================================================
|
||||
# BUILD APP
|
||||
#=================================================
|
||||
ynh_script_progression --message="Building app... (this will take some time and resources!)" --weight=20
|
||||
ynh_script_progression "Building app... (this will take some time and resources!)"
|
||||
|
||||
pushd "$install_dir"
|
||||
ynh_use_nodejs
|
||||
ynh_exec_warn_less ynh_exec_as "$app" env "$ynh_node_load_PATH" "$ynh_npm" install
|
||||
ynh_exec_warn_less ynh_exec_as "$app" env "$ynh_node_load_PATH" "$ynh_npm" run build
|
||||
ynh_hide_warnings ynh_exec_as_app npm install
|
||||
ynh_hide_warnings ynh_exec_as_app npm run build
|
||||
popd
|
||||
|
||||
#=================================================
|
||||
# START SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Starting a systemd service..." --weight=2
|
||||
ynh_script_progression "Starting $app's systemd service..."
|
||||
|
||||
# Start a systemd service
|
||||
ynh_systemd_action --service_name="$app" --action="start" --log_path="systemd"
|
||||
ynh_systemctl --service="$app" --action="start" --log_path="systemd"
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
#=================================================
|
||||
|
||||
ynh_script_progression --message="Installation of $app completed" --last
|
||||
ynh_script_progression "Installation of $app completed"
|
||||
|
@ -1,39 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# GENERIC START
|
||||
#=================================================
|
||||
# IMPORT GENERIC HELPERS
|
||||
#=================================================
|
||||
|
||||
source _common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# STANDARD REMOVE
|
||||
#=================================================
|
||||
# REMOVE SERVICE INTEGRATION IN YUNOHOST
|
||||
# REMOVE SYSTEM CONFIGURATIONS
|
||||
#=================================================
|
||||
ynh_script_progression "Removing system configurations related to $app..."
|
||||
|
||||
# Remove the service from the list of services known by YunoHost (added from `yunohost service add`)
|
||||
if ynh_exec_warn_less yunohost service status "$app" >/dev/null
|
||||
then
|
||||
ynh_script_progression --message="Removing $app service integration..." --weight=1
|
||||
if ynh_hide_warnings yunohost service status "$app" >/dev/null; then
|
||||
yunohost service remove "$app"
|
||||
fi
|
||||
|
||||
# Remove the dedicated systemd config
|
||||
ynh_remove_systemd_config
|
||||
ynh_config_remove_systemd
|
||||
|
||||
ynh_redis_remove_db "$redis_db"
|
||||
|
||||
# Remove the dedicated NGINX config
|
||||
ynh_remove_nginx_config
|
||||
ynh_config_remove_nginx
|
||||
|
||||
ynh_remove_nodejs
|
||||
ynh_nodejs_remove
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
#=================================================
|
||||
|
||||
ynh_script_progression --message="Removal of $app completed" --last
|
||||
ynh_script_progression "Removal of $app completed"
|
||||
|
@ -1,38 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# GENERIC START
|
||||
#=================================================
|
||||
# IMPORT GENERIC HELPERS
|
||||
#=================================================
|
||||
|
||||
# Keep this path for calling _common.sh inside the execution's context of backup and restore scripts
|
||||
source ../settings/scripts/_common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# RESTORE THE APP MAIN DIR
|
||||
#=================================================
|
||||
ynh_script_progression --message="Restoring the app main directory..." --weight=6
|
||||
ynh_script_progression "Restoring the app main directory..."
|
||||
|
||||
ynh_restore_file --origin_path="$install_dir"
|
||||
ynh_restore "$install_dir"
|
||||
|
||||
chmod -R o-rwx "$install_dir"
|
||||
chown -R "$app:www-data" "$install_dir"
|
||||
chmod +x "$install_dir/server/bin/prod.js"
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC RESTORATION
|
||||
# RESTORE THE DATA DIRECTORY
|
||||
#=================================================
|
||||
ynh_script_progression "Restoring the data directory..."
|
||||
|
||||
ynh_restore "$data_dir"
|
||||
|
||||
#=================================================
|
||||
# REINSTALL DEPENDENCIES
|
||||
#=================================================
|
||||
ynh_script_progression --message="Reinstalling dependencies..." --weight=7
|
||||
ynh_script_progression "Reinstalling dependencies..."
|
||||
|
||||
ynh_exec_warn_less ynh_install_nodejs --nodejs_version="$nodejs_version"
|
||||
ynh_nodejs_install
|
||||
|
||||
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
ynh_restore "/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
|
||||
ynh_restore_file --origin_path="/etc/systemd/system/$app.service"
|
||||
ynh_restore "/etc/systemd/system/$app.service"
|
||||
systemctl enable "$app.service" --quiet
|
||||
|
||||
yunohost service add "$app" --description="Simple, private file sharing" --log="/var/log/$app/$app.log"
|
||||
@ -40,14 +36,14 @@ yunohost service add "$app" --description="Simple, private file sharing" --log="
|
||||
#=================================================
|
||||
# START SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Starting a systemd service..." --weight=1
|
||||
ynh_script_progression "Starting $app's systemd service..."
|
||||
|
||||
ynh_systemd_action --service_name="$app" --action="start" --log_path="systemd"
|
||||
ynh_systemctl --service="$app" --action="start" --log_path="systemd"
|
||||
|
||||
ynh_systemd_action --service_name=nginx --action=reload
|
||||
ynh_systemctl --service=nginx --action=reload
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
#=================================================
|
||||
|
||||
ynh_script_progression --message="Restoration completed for $app" --last
|
||||
ynh_script_progression "Restoration completed for $app"
|
||||
|
@ -1,109 +1,75 @@
|
||||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# GENERIC START
|
||||
#=================================================
|
||||
# IMPORT GENERIC HELPERS
|
||||
#=================================================
|
||||
|
||||
source _common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# CHECK VERSION
|
||||
#=================================================
|
||||
|
||||
upgrade_type=$(ynh_check_app_version_changed)
|
||||
|
||||
#=================================================
|
||||
# STANDARD UPGRADE STEPS
|
||||
#=================================================
|
||||
# STOP SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Stopping a systemd service..." --weight=1
|
||||
ynh_script_progression "Stopping $app's systemd service..."
|
||||
|
||||
ynh_systemd_action --service_name="$app" --action="stop" --log_path="systemd"
|
||||
ynh_systemctl --service="$app" --action="stop" --log_path="systemd"
|
||||
|
||||
#=================================================
|
||||
# ENSURE DOWNWARD COMPATIBILITY
|
||||
#=================================================
|
||||
ynh_script_progression --message="Ensuring downward compatibility..."
|
||||
ynh_script_progression "Ensuring downward compatibility..."
|
||||
|
||||
ynh_remove_logrotate
|
||||
ynh_config_remove_logrotate
|
||||
|
||||
#=================================================
|
||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||
#=================================================
|
||||
ynh_script_progression "Upgrading source files..."
|
||||
|
||||
if [ "$upgrade_type" == "UPGRADE_APP" ]
|
||||
then
|
||||
ynh_script_progression --message="Upgrading source files..." --weight=10
|
||||
ynh_setup_source --dest_dir="$install_dir" --keep=".env" --full_replace
|
||||
|
||||
# Download, check integrity, uncompress and patch the source from app.src
|
||||
ynh_setup_source --dest_dir="$install_dir" --keep="server/config.js"
|
||||
fi
|
||||
|
||||
chmod -R o-rwx "$install_dir"
|
||||
chown -R "$app:www-data" "$install_dir"
|
||||
chmod +x "$install_dir/server/bin/prod.js"
|
||||
|
||||
#=================================================
|
||||
# UPGRADE DEPENDENCIES
|
||||
#=================================================
|
||||
ynh_script_progression --message="Upgrading dependencies..." --weight=18
|
||||
ynh_script_progression "Upgrading dependencies..."
|
||||
|
||||
ynh_exec_warn_less ynh_install_nodejs --nodejs_version="$nodejs_version"
|
||||
ynh_nodejs_install
|
||||
|
||||
#=================================================
|
||||
# NGINX CONFIGURATION
|
||||
#=================================================
|
||||
ynh_script_progression --message="Upgrading NGINX web server configuration..." --weight=2
|
||||
ynh_script_progression "Upgrading NGINX web server configuration..."
|
||||
|
||||
# Create a dedicated NGINX config
|
||||
ynh_add_nginx_config
|
||||
ynh_config_add_nginx
|
||||
|
||||
env_path="$PATH"
|
||||
# Create a dedicated systemd config
|
||||
ynh_add_systemd_config
|
||||
ynh_config_add_systemd
|
||||
|
||||
yunohost service add "$app" --description="Simple, private file sharing" --log="/var/log/$app/$app.log"
|
||||
|
||||
#=================================================
|
||||
# UPDATE A CONFIG FILE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Updating a configuration file..."
|
||||
ynh_script_progression "Updating configuration..."
|
||||
|
||||
ynh_add_config --template="config.js" --destination="$install_dir/server/config.js"
|
||||
ynh_config_add --template=".env" --destination="$install_dir/.env"
|
||||
|
||||
chmod 400 "$install_dir/server/config.js"
|
||||
chown "$app:" "$install_dir/server/config.js"
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC UPGRADE
|
||||
#=================================================
|
||||
# BUILD APP
|
||||
#=================================================
|
||||
ynh_script_progression "Building app... (this will take some time and resources!)"
|
||||
|
||||
if [ "$upgrade_type" == "UPGRADE_APP" ]
|
||||
then
|
||||
ynh_script_progression --message="Building app... (this will take some time and resources!)" --weight=16
|
||||
|
||||
pushd "$install_dir"
|
||||
ynh_use_nodejs
|
||||
ynh_exec_warn_less ynh_exec_as "$app" env "$ynh_node_load_PATH" "$ynh_npm" install
|
||||
ynh_exec_warn_less ynh_exec_as "$app" env "$ynh_node_load_PATH" "$ynh_npm" run build
|
||||
popd
|
||||
fi
|
||||
pushd "$install_dir"
|
||||
ynh_hide_warnings ynh_exec_as_app npm install
|
||||
ynh_hide_warnings ynh_exec_as_app npm run build
|
||||
popd
|
||||
|
||||
#=================================================
|
||||
# START SYSTEMD SERVICE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Starting a systemd service..." --weight=1
|
||||
ynh_script_progression "Starting $app's systemd service..."
|
||||
|
||||
ynh_systemd_action --service_name="$app" --action="start" --log_path="systemd"
|
||||
ynh_systemctl --service="$app" --action="start" --log_path="systemd"
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
#=================================================
|
||||
|
||||
ynh_script_progression --message="Upgrade of $app completed" --last
|
||||
ynh_script_progression "Upgrade of $app completed"
|
||||
|
Reference in New Issue
Block a user