1
0
forked from Git/send_ynh

40 Commits

Author SHA1 Message Date
bf4851188a Merge pull request #43 from YunoHost-Apps/testing
Testing
2025-07-02 08:01:12 +02:00
e473149ed4 Merge pull request #42 from YunoHost-Apps/ci-auto-update-3.4.27
Upgrade to v3.4.27
2025-07-02 08:00:57 +02:00
4d5965ed33 Auto-update READMEs 2025-07-02 00:18:39 +02:00
fa22984c16 Upgrade sources
- `main` v3.4.27: https://github.com/timvisee/send/releases/tag/3.4.27
2025-07-02 00:18:38 +02:00
4aa0b12939 Merge pull request #40 from YunoHost-Apps/testing
Testing
2025-04-24 09:35:36 +02:00
8c82c3a2a0 Merge pull request #39 from YunoHost-Apps/ci-auto-update-3.4.25
Upgrade to v3.4.25
2025-04-24 09:35:13 +02:00
933ec4da0f Auto-update READMEs 2025-04-24 00:22:38 +02:00
ac7ba5a605 Upgrade sources
- `main` v3.4.25: https://github.com/timvisee/send/releases/tag/3.4.25
2025-04-24 00:22:37 +02:00
5e7987c756 Merge pull request #36 from YunoHost-Apps/testing
Testing
2025-01-21 13:18:25 +01:00
5a177bf8f5 Auto-update READMEs 2025-01-21 13:18:13 +01:00
23abb35178 Update manifest.toml 2025-01-21 13:18:09 +01:00
6bf5427871 Auto-update READMEs 2025-01-20 19:13:30 +01:00
ad1090893d cleaning 2025-01-20 19:13:26 +01:00
8e5ef1a4b3 Update remove 2024-11-07 08:58:26 +01:00
586a8c80f3 Merge pull request #34 from YunoHost-Apps/testing
Testing
2024-10-21 21:03:45 +02:00
c98324b6ad Auto-update READMEs 2024-10-21 21:03:39 +02:00
474c7e55e2 Update manifest.toml 2024-10-21 21:03:31 +02:00
ce36806a8e Auto-update READMEs 2024-10-20 22:22:34 +02:00
e527c2abf1 cleaning 2024-10-20 22:22:29 +02:00
dec5037d52 Auto-update READMEs 2024-09-08 16:55:30 +00:00
42ebfc4b08 Merge pull request #33 from yunohost-bot/auto-helpers-2.1
[autopatch] Automatic patch attempt for helpers 2.1
2024-09-08 18:55:26 +02:00
61580a2349 Merge branch 'testing' into auto-helpers-2.1 2024-09-08 16:27:33 +02:00
8b99ab94ba cleaning 2024-09-08 16:27:08 +02:00
5f46cd0123 [autopatch] Automatic patch attempt for helpers 2.1 2024-08-31 02:59:44 +02:00
790c3217cb Auto-update READMEs 2024-08-08 09:22:35 +00:00
56151f7616 Update manifest.toml 2024-08-08 11:22:31 +02:00
db8a12531e Merge pull request #32 from YunoHost-Apps/testing
Testing
2024-07-15 18:00:12 +02:00
f260385c01 Auto-update READMEs 2024-07-15 15:57:58 +00:00
e3c6d21bf3 Update manifest.toml: explicit dependency to redis-server 2024-07-15 17:57:55 +02:00
f525a0bfde Merge pull request #31 from YunoHost-Apps/testing
cleaning
2024-06-17 22:50:23 +02:00
eea08bc9cd Auto-update READMEs 2024-06-17 20:50:09 +00:00
b0da27c1aa Update manifest.toml 2024-06-17 22:50:04 +02:00
63d519ed92 Auto-update READMEs 2024-06-17 20:10:11 +00:00
58152d7373 cleaning 2024-06-17 22:10:05 +02:00
d6855e0bec cleaning 2024-05-20 23:27:11 +02:00
5b72dfb422 Merge pull request #30 from YunoHost-Apps/helpers
Use standard redis helpers
2024-05-20 21:27:30 +02:00
04fdb69e49 Use standard redis helpers 2024-05-20 16:57:00 +02:00
89ceb26920 Auto-update READMEs 2024-05-20 14:56:37 +00:00
013ef01307 remove maintenance 2024-05-20 16:56:23 +02:00
03afd83d28 Auto-update README 2024-03-29 07:22:31 +01:00
11 changed files with 110 additions and 324 deletions

View File

@ -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>
[![Integration level](https://dash.yunohost.org/integration/send.svg)](https://dash.yunohost.org/appci/app/send) ![Working status](https://ci-apps.yunohost.org/ci/badges/send.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/send.maintain.svg)
File sharing which allows to send encrypted files
[![Install Send with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=send)
[![🌐 Official app website](https://img.shields.io/badge/Official_app_website-darkgreen?style=for-the-badge)](https://send.vis.ee/)
[![App Demo](https://img.shields.io/badge/App_Demo-blue?style=for-the-badge)](https://send.vis.ee/)
[![Version: 3.4.27~ynh1](https://img.shields.io/badge/Version-3.4.27~ynh1-rgba(0,150,0,1)?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
[![Automatic tests level](https://apps.yunohost.org/badge/cilevel/send)](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
![Screenshot of Send](./doc/screenshots/screenshot.png)
## 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.

View File

@ -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
[![Niveau dintégration](https://dash.yunohost.org/integration/send.svg)](https://dash.yunohost.org/appci/app/send) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/send.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/send.maintain.svg)
[![Installer Send avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=send)
*[Read this readme in english.](./README.md)*
> *Ce package vous permet dinstaller Send rapidement et simplement sur un serveur YunoHost.
Si vous navez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment linstaller et en profiter.*
## Vue densemble
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
![Capture décran de Send](./doc/screenshots/screenshot.png)
## Documentations et ressources
* Site officiel de lapp : <https://send.vis.ee/>
* Dépôt de code officiel de lapp : <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 dinfos sur le packaging dapplications :** <https://yunohost.org/packaging_apps>

View File

@ -8,8 +8,8 @@ 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
Environment="PATH=__PATH_WITH_NODEJS__"
ExecStart=__NODEJS_DIR__/node __INSTALL_DIR__/server/bin/prod.js
Restart=always
# Sandboxing options to harden security

View File

@ -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.27~ynh1"
maintainers = ["eric_G"]
maintainers = []
[upstream]
license = "MPL-2.0"
@ -18,12 +18,12 @@ 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
ldap = false
sso = false
disk = "50M"
@ -42,8 +42,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.27.tar.gz"
sha256 = "fda2db869f3affbaf1fa025501c8b32b92cd85d350a1424b20db7f9164dce301"
autoupdate.strategy = "latest_github_tag"
[resources.ports]
@ -55,15 +55,18 @@ ram.runtime = "50M"
[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"

View File

@ -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"

View File

@ -1,40 +1,26 @@
#!/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
# SYSTEM CONFIGURATION
#=================================================
ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf"
#=================================================
# BACKUP SYSTEMD
#=================================================
ynh_backup --src_path="/etc/systemd/system/$app.service"
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)."

View File

@ -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"

View File

@ -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="config.js" --destination="$install_dir/server/config.js"
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"

View File

@ -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"

View File

@ -1,38 +1,27 @@
#!/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
#=================================================
# 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 +29,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"

View File

@ -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="server/config.js" --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="config.js" --destination="$install_dir/server/config.js"
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"