diff --git a/README.md b/README.md
index 0b62e02..9fa05e6 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,8 @@ It shall NOT be edited by hand.
# Streama for YunoHost
-[](https://dash.yunohost.org/appci/app/streama)  
+[](https://dash.yunohost.org/appci/app/streama)  
+
[](https://install-app.yunohost.org/?app=streama)
*[Lire ce readme en français.](./README_fr.md)*
@@ -25,48 +26,6 @@ Self hosted streaming media server

-## Disclaimers / important information
-
-## Installation guide
-
-> :warning: Streama must be installed in the root domain or subdomain.
-
-Default upload directory is: `/home/yunohost.app/streama` (must be mentioned in *Settings* page or can be changed)
-
-Default local video directory is: `/home/yunohost.app/streama/upload` (must be mentioned in *Settings* page or can be changed)
-
-## Additional information
-
-* After install:
- - **Username**: `admin`
- - **Password**: `admin`
-
-This can be changed in settings.
-
-### Convert video:
-
- $ convert_movies -ffmpeg
- $ convert_movies -avidemux
- $ convert_movies -mencoder
- $ convert_movies -avconv
-
-### Avidemux compilation:
-
- $ git clone https://github.com/mean00/avidemux2/
- $ cd avidemux2
- $ sudo apt-get install build-essential cmake \
- pkg-config yasm libsqlite3-dev libfontconfig1-dev \
- libfribidi-dev libxvdev libvdpau-dev libva-dev \
- libasound2-dev libpulse-dev libfdk-aac-dev \
- libpng-dev libmp3lame-dev libx264-dev \
- libxvidcore-dev libfaad-dev libfaac-dev libopus-dev \
- libvorbis-dev libogg-dev libdca-dev libx265-dev
- $ wget https://www.deb-multimedia.org/pool/main/a/aften/libaften0_0.0.8svn20100103-dmo2_amd64.deb
- $ wget https://www.deb-multimedia.org/pool/main/a/aften/libaften-dev_0.0.8svn20100103-dmo2_amd64.deb
- $ sudo dpkg -i libaften0_0.0.8svn20100103-dmo2_amd64.deb
- $ sudo dpkg -i libaften-dev_0.0.8svn20100103-dmo2_amd64.deb
- $ bash bootStrap.bash --deb --without-qt --with-cli
-
## Documentation and resources
* Official app website:
diff --git a/README_fr.md b/README_fr.md
index 5022742..9d9b241 100644
--- a/README_fr.md
+++ b/README_fr.md
@@ -5,73 +5,32 @@ It shall NOT be edited by hand.
# Streama pour YunoHost
-[](https://dash.yunohost.org/appci/app/streama)  
+[](https://dash.yunohost.org/appci/app/streama)  
+
[](https://install-app.yunohost.org/?app=streama)
*[Read this readme in english.](./README.md)*
-> *Ce package vous permet d'installer Streama 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.*
+> *Ce package vous permet d’installer Streama 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
+## Vue d’ensemble
-Serveur de streaming auto-hébergé
+Self hosted streaming media server
**Version incluse :** 1.10.4~ynh3
**Démo :** https://streama.demo-version.net
-## Captures d'écran
+## Captures d’écran
-
-
-## Avertissements / informations importantes
-
-## Guide d’installation
-
-> :warning: Streama doit être installé dans le domaine racine ou un sous-domaine dédié.
-
-Le répertoire de téléchargement par défaut est : `/home/yunohost.app/streama` (doit être mentionné dans la page *Paramètres* ou peut être modifié)
-
-Le répertoire vidéo local par défaut est : `/home/yunohost.app/streama/upload` (doit être mentionné dans la page *Paramètres* ou peut être modifié)
-
-## Informations additionnelles
-
-* Après l’installation :
- - **Nom d’utilisateur** : `admin`
- - **Mot de passe** : `admin`
-
-Ceci pourra être changé dans les paramètres.
-
-### Convertir des vidéos :
-
- $ convert_movies -ffmpeg
- $ convert_movies -avidemux
- $ convert_movies -mencoder
- $ convert_movies -avconv
-
-### Compilation avidemux :
-
- $ git clone https://github.com/mean00/avidemux2/
- $ cd avidemux2
- $ sudo apt-get install build-essential cmake \
- pkg-config yasm libsqlite3-dev libfontconfig1-dev \
- libfribidi-dev libxvdev libvdpau-dev libva-dev \
- libasound2-dev libpulse-dev libfdk-aac-dev \
- libpng-dev libmp3lame-dev libx264-dev \
- libxvidcore-dev libfaad-dev libfaac-dev libopus-dev \
- libvorbis-dev libogg-dev libdca-dev libx265-dev
- $ wget https://www.deb-multimedia.org/pool/main/a/aften/libaften0_0.0.8svn20100103-dmo2_amd64.deb
- $ wget https://www.deb-multimedia.org/pool/main/a/aften/libaften-dev_0.0.8svn20100103-dmo2_amd64.deb
- $ sudo dpkg -i libaften0_0.0.8svn20100103-dmo2_amd64.deb
- $ sudo dpkg -i libaften-dev_0.0.8svn20100103-dmo2_amd64.deb
- $ bash bootStrap.bash --deb --without-qt --with-cli
+
## Documentations et ressources
-* Site officiel de l'app :
-* Documentation officielle de l'admin :
-* Dépôt de code officiel de l'app :
+* Site officiel de l’app :
+* Documentation officielle de l’admin :
+* Dépôt de code officiel de l’app :
* Documentation YunoHost pour cette app :
* Signaler un bug :
@@ -87,4 +46,4 @@ ou
sudo yunohost app upgrade streama -u https://github.com/YunoHost-Apps/streama_ynh/tree/testing --debug
```
-**Plus d'infos sur le packaging d'applications :**
+**Plus d’infos sur le packaging d’applications :**
\ No newline at end of file
diff --git a/check_process b/check_process
deleted file mode 100644
index 006161a..0000000
--- a/check_process
+++ /dev/null
@@ -1,23 +0,0 @@
-;; Test complet
- ; Manifest
- domain="domain.tld"
- is_public=1
- ; Checks
- pkg_linter=1
- setup_sub_dir=0
- setup_root=1
- setup_nourl=0
- setup_private=1
- setup_public=1
- upgrade=1
- # 1.9.3~ynh1
- upgrade=1 from_commit=3a02114f50e785722bc592cbcc33f92bf070b1c1
- # 1.10.4~ynh1
- upgrade=1 from_commit=4184ecd823b50bdf1a306d24a0ad9b5ccd18c103
- backup_restore=1
- multi_instance=0
- port_already_use=0
- change_url=0
-;;; Options
-Email=
-Notification=none
diff --git a/conf/app.src b/conf/app.src
deleted file mode 100644
index b1ac7e8..0000000
--- a/conf/app.src
+++ /dev/null
@@ -1,7 +0,0 @@
-SOURCE_URL=https://github.com/streamaserver/streama/releases/download/v1.10.4/streama-1.10.4.jar
-SOURCE_SUM=a1071ab783f4d47553ac38a5357b7ce801c8cfe3e523280feead865e23b7da2e
-SOURCE_SUM_PRG=sha256sum
-SOURCE_FORMAT=jar
-SOURCE_IN_SUBDIR=false
-SOURCE_EXTRACT=false
-SOURCE_FILENAME=streama.jar
diff --git a/conf/application.yaml b/conf/application.yaml
new file mode 100644
index 0000000..f6069c8
--- /dev/null
+++ b/conf/application.yaml
@@ -0,0 +1,30 @@
+# Place this file next to the streama-[version].war and rename to application.yml with your own settings
+environments:
+ production:
+ dataSource:
+ driverClassName: 'com.mysql.jdbc.Driver'
+ url: jdbc:mysql://localhost/__DB_NAME__
+ username: __DB_USER__
+ password: __DB_PWD__
+# driverClassName: 'org.h2.Driver'
+# url: jdbc:h2:./streama;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
+# username: root
+# password:
+ server:
+ port: __PORT__
+# grails:
+# assets:
+# url: http://__DOMAIN____PATH__/assets/
+# controllers:
+# upload:
+# maxFileSize: 10TB
+# maxRequestSize: 10TB
+
+streama:
+ regex:
+ movies: ^(?.*)[._ ]\(\d{4}\).*
+ shows:
+ - ^(?.+)[._ ][Ss](?\d{2})[Ee](?\d{2,3}).* # example: "House.MD.S03E04.h264.mp4"
+ - ^(?.+)[._ ](?\d{1,2})x(?\d{2,3}).* # example: "House.MD.03x04.h264.mp4"
+ - ^(?\d{2})-(?\d{2,3})-(?.*?)-.* # example: "02-05-Dr. House-Tanz_ums_Feuer-cineonws.mp4"
+ - ^(?.*?)(?\d{1,3})x(?\d{2}).* # example: "Castle4x06DaemonsWebdl480pOktober242011rC.mkv(jkuzt).mp4"
diff --git a/conf/convert.sh b/conf/convert.sh
index f4ac63b..d53120e 100644
--- a/conf/convert.sh
+++ b/conf/convert.sh
@@ -34,8 +34,8 @@ while IFS= read -r -d '' file
do
ffmpeg -nostdin -i "$file" -c:v libx264 -c:a aac "${file%.*}.mp4"
rm -f "$file"
-done < <(find __DATADIR__/upload/ -name '*.mkv' -print0 -o -name '*.avi' -print0)
-chown -R streama:users __DATADIR__/upload/
+done < <(find __DATA_DIR__/upload/ -name '*.mkv' -print0 -o -name '*.avi' -print0)
+chown -R streama:users __DATA_DIR__/upload/
}
avidemux_convert(){
@@ -46,8 +46,8 @@ while IFS= read -r -d '' file
do
avidemux3_cli --load "$file" --output-format "$output_format" --video-codec "$video_codec" --audio-codec "$audio_codec" --save "${file%.*}.mp4" --quit
rm -f "$file"
-done < <(find __DATADIR__/upload/ -name '*.mkv' -print0 -o -name '*.avi' -print0)
-chown -R streama:users __DATADIR__/upload/
+done < <(find __DATA_DIR__/upload/ -name '*.mkv' -print0 -o -name '*.avi' -print0)
+chown -R streama:users __DATA_DIR__/upload/
}
mencoder_convert(){
@@ -55,8 +55,8 @@ while IFS= read -r -d '' file
do
mencoder "$file" -o "${file%.*}.mp4" -ovc lavc -oac lavc
rm -f "$file"
-done < <(find __DATADIR__/upload/ -name '*.mkv' -print0 -o -name '*.avi' -print0)
-chown -R streama:users __DATADIR__/upload/
+done < <(find __DATA_DIR__/upload/ -name '*.mkv' -print0 -o -name '*.avi' -print0)
+chown -R streama:users __DATA_DIR__/upload/
}
avconv_convert(){
@@ -64,8 +64,8 @@ while IFS= read -r -d '' file
do
avconv -i "$file" -c:v h264 -c:a aac "${file%.*}.mp4"
rm -f "$file"
-done < <(find __DATADIR__/upload/ -name '*.mkv' -print0 -o -name '*.avi' -print0)
-chown -R streama:users __DATADIR__/upload/
+done < <(find __DATA_DIR__/upload/ -name '*.mkv' -print0 -o -name '*.avi' -print0)
+chown -R streama:users __DATA_DIR__/upload/
}
parse_args ()
diff --git a/conf/nginx.conf b/conf/nginx.conf
index 5c71cc9..3189945 100644
--- a/conf/nginx.conf
+++ b/conf/nginx.conf
@@ -1,7 +1,7 @@
#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent;
location __PATH__/ {
- proxy_pass http://127.0.0.1:__PORT__;
+ proxy_pass http://127.0.0.1:__PORT__;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
diff --git a/conf/systemd.service b/conf/systemd.service
index a013e01..ae38ba5 100644
--- a/conf/systemd.service
+++ b/conf/systemd.service
@@ -1,5 +1,5 @@
[Unit]
-Description=Streama media system
+Description=Streama: media system
After=network.target
[Service]
@@ -7,7 +7,7 @@ Type=simple
User=__APP__
Group=__APP__
UMask=000
-WorkingDirectory=__FINALPATH__/
+WorkingDirectory=__INSTALL_DIR__/
ExecStart=/usr/bin/java -Djava.awt.headless=true -Dserver.port=__PORT__ -jar streama.jar
RestartSec=30
Restart=always
diff --git a/doc/DISCLAIMER.md b/doc/ADMIN.md
similarity index 79%
rename from doc/DISCLAIMER.md
rename to doc/ADMIN.md
index adbff93..428e877 100644
--- a/doc/DISCLAIMER.md
+++ b/doc/ADMIN.md
@@ -1,10 +1,8 @@
## Installation guide
-> :warning: Streama must be installed in the root domain or subdomain.
-
-Default upload directory is: `/home/yunohost.app/streama` (must be mentioned in *Settings* page or can be changed)
+Default upload directory is: `__DATA_DIR__` (must be mentioned in *Settings* page or can be changed)
-Default local video directory is: `/home/yunohost.app/streama/upload` (must be mentioned in *Settings* page or can be changed)
+Default local video directory is: `__DATA_DIR__/upload` (must be mentioned in *Settings* page or can be changed)
## Additional information
diff --git a/doc/DISCLAIMER_fr.md b/doc/ADMIN_fr.md
similarity index 76%
rename from doc/DISCLAIMER_fr.md
rename to doc/ADMIN_fr.md
index b1f6c2a..77c580a 100644
--- a/doc/DISCLAIMER_fr.md
+++ b/doc/ADMIN_fr.md
@@ -1,10 +1,8 @@
## Guide d’installation
-> :warning: Streama doit être installé dans le domaine racine ou un sous-domaine dédié.
-
-Le répertoire de téléchargement par défaut est : `/home/yunohost.app/streama` (doit être mentionné dans la page *Paramètres* ou peut être modifié)
+Le répertoire de téléchargement par défaut est : `__DATA_DIR__` (doit être mentionné dans la page *Paramètres* ou peut être modifié)
-Le répertoire vidéo local par défaut est : `/home/yunohost.app/streama/upload` (doit être mentionné dans la page *Paramètres* ou peut être modifié)
+Le répertoire vidéo local par défaut est : `__DATA_DIR__/upload` (doit être mentionné dans la page *Paramètres* ou peut être modifié)
## Informations additionnelles
diff --git a/doc/DESCRIPTION.md b/doc/DESCRIPTION.md
new file mode 100644
index 0000000..2f0421f
--- /dev/null
+++ b/doc/DESCRIPTION.md
@@ -0,0 +1 @@
+Self hosted streaming media server
\ No newline at end of file
diff --git a/manifest.json b/manifest.json
deleted file mode 100644
index 1ec29ea..0000000
--- a/manifest.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "name": "Streama",
- "id": "streama",
- "packaging_format": 1,
- "description": {
- "en": "Self hosted streaming media server",
- "fr": "Serveur de streaming auto-hébergé"
- },
- "version": "1.10.4~ynh3",
- "url": "https://streamaserver.org/",
- "upstream": {
- "license": "MIT",
- "website": "https://streamaserver.org/",
- "demo": "https://streama.demo-version.net",
- "admindoc": "https://docs.streama-project.com/",
- "code": "https://github.com/streamaserver/streama"
- },
- "license": "MIT",
- "maintainer": {
- "name": "liberodark",
- "email": "liberodark@gmail.com"
- },
- "requirements": {
- "yunohost": ">= 11.0.9"
- },
- "multi_instance": false,
- "services": [
- "nginx",
- "mysql"
- ],
- "arguments": {
- "install": [
- {
- "name": "domain",
- "type": "domain"
- },
- {
- "name": "is_public",
- "type": "boolean",
- "help": {
- "en": "If enabled, Streama will be accessible by people who do not have an account. This can be changed later via the webadmin.",
- "fr": "Si cette case est cochée, Streama sera accessible aux personnes n’ayant pas de compte. Vous pourrez changer ceci plus tard via la webadmin."
- },
- "default": true
- }
- ]
- }
-}
diff --git a/manifest.toml b/manifest.toml
new file mode 100644
index 0000000..da783c6
--- /dev/null
+++ b/manifest.toml
@@ -0,0 +1,64 @@
+packaging_format = 2
+
+id = "streama"
+name = "Streama"
+description.en = "Self hosted streaming media server"
+description.fr = "Serveur de streaming auto-hébergé"
+
+version = "1.10.4~ynh3"
+
+maintainers = [""]
+
+[upstream]
+license = "MIT"
+website = "https://streamaserver.org/"
+demo = "https://streama.demo-version.net"
+admindoc = "https://docs.streama-project.com/"
+code = "https://github.com/streamaserver/streama"
+
+[integration]
+yunohost = ">= 11.1.20"
+architectures = "all"
+multi_instance = false
+ldap = false
+sso = false
+disk = "50M"
+ram.build = "50M"
+ram.runtime = "50M"
+
+[install]
+ [install.domain]
+ type = "domain"
+ full_domain = true
+
+ [install.init_main_permission]
+ help.en = "If enabled, Streama will be accessible by people who do not have an account. This can be changed later via the webadmin."
+ help.fr = "Si cette case est cochée, Streama sera accessible aux personnes n’ayant pas de compte. Vous pourrez changer ceci plus tard via la webadmin."
+ type = "group"
+ default = "visitors"
+
+[resources]
+ [resources.sources.main]
+ url = "https://github.com/streamaserver/streama/releases/download/v1.10.4/streama-1.10.4.jar"
+ sha256 = "a1071ab783f4d47553ac38a5357b7ce801c8cfe3e523280feead865e23b7da2e"
+ extract = false
+ format = "jar"
+ rename = "streama.jar"
+
+ [resources.ports]
+
+ [resources.system_user]
+
+ [resources.install_dir]
+
+ [resources.data_dir]
+ subdirs = ["data", "upload"]
+
+ [resources.permissions]
+ main.url = "/"
+
+ [resources.apt]
+ packages = "openjdk-11-jre-headless ffmpeg mariadb-server"
+
+ [resources.database]
+ type = "mysql"
diff --git a/scripts/_common.sh b/scripts/_common.sh
index 4357a03..6005c6a 100644
--- a/scripts/_common.sh
+++ b/scripts/_common.sh
@@ -5,7 +5,7 @@
#=================================================
# dependencies used by the app
-pkg_dependencies="openjdk-11-jre-headless ffmpeg"
+#REMOVEME? pkg_dependencies="openjdk-17-jre-headless ffmpeg"
#=================================================
# PERSONAL HELPERS
diff --git a/scripts/backup b/scripts/backup
index fe4a02b..cf2d1b6 100644
--- a/scripts/backup
+++ b/scripts/backup
@@ -10,23 +10,6 @@
source ../settings/scripts/_common.sh
source /usr/share/yunohost/helpers
-#=================================================
-# MANAGE SCRIPT FAILURE
-#=================================================
-
-ynh_abort_if_errors
-
-#=================================================
-# LOAD SETTINGS
-#=================================================
-ynh_print_info --message="Loading installation settings..."
-
-app=$YNH_APP_INSTANCE_NAME
-
-final_path=$(ynh_app_setting_get --app=$app --key=final_path)
-domain=$(ynh_app_setting_get --app=$app --key=domain)
-datadir=$(ynh_app_setting_get --app=$app --key=datadir)
-
#=================================================
# DECLARE DATA AND CONF FILES TO BACKUP
#=================================================
@@ -36,13 +19,13 @@ ynh_print_info --message="Declaring files to be backed up..."
# BACKUP THE APP MAIN DIR
#=================================================
-ynh_backup --src_path="$final_path"
+ynh_backup --src_path="$install_dir"
#=================================================
# BACKUP THE DATA DIR
#=================================================
-ynh_backup --src_path="$datadir" --is_big
+ynh_backup --src_path="$data_dir" --is_big
#=================================================
# BACKUP THE NGINX CONFIGURATION
diff --git a/scripts/change_url b/scripts/change_url
index a7cb856..48def8c 100644
--- a/scripts/change_url
+++ b/scripts/change_url
@@ -9,64 +9,6 @@
source _common.sh
source /usr/share/yunohost/helpers
-#=================================================
-# RETRIEVE ARGUMENTS
-#=================================================
-
-old_domain=$YNH_APP_OLD_DOMAIN
-old_path=$YNH_APP_OLD_PATH
-
-new_domain=$YNH_APP_NEW_DOMAIN
-new_path=$YNH_APP_NEW_PATH
-
-app=$YNH_APP_INSTANCE_NAME
-
-#=================================================
-# LOAD SETTINGS
-#=================================================
-ynh_script_progression --message="Loading installation settings..." --weight=1
-
-# Needed for helper "ynh_add_nginx_config"
-final_path=$(ynh_app_setting_get --app=$app --key=final_path)
-
-# Add settings here as needed by your application
-#db_name=$(ynh_app_setting_get --app=$app --key=db_name)
-#db_user=$db_name
-#db_pwd=$(ynh_app_setting_get --app=$app --key=db_pwd)
-
-#=================================================
-# BACKUP BEFORE CHANGE URL THEN ACTIVE TRAP
-#=================================================
-ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." --weight=1
-
-# Backup the current version of the app
-ynh_backup_before_upgrade
-ynh_clean_setup () {
- # Remove the new domain config file, the remove script won't do it as it doesn't know yet its location.
- ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.conf"
-
- # Restore it if the upgrade fails
- ynh_restore_upgradebackup
-}
-# Exit if an error occurs during the execution of the script
-ynh_abort_if_errors
-
-#=================================================
-# CHECK WHICH PARTS SHOULD BE CHANGED
-#=================================================
-
-change_domain=0
-if [ "$old_domain" != "$new_domain" ]
-then
- change_domain=1
-fi
-
-change_path=0
-if [ "$old_path" != "$new_path" ]
-then
- change_path=1
-fi
-
#=================================================
# STANDARD MODIFICATIONS
#=================================================
@@ -81,29 +23,7 @@ ynh_systemd_action --service_name=$app --action="stop" --log_path=systemd
#=================================================
ynh_script_progression --message="Updating NGINX web server configuration..." --weight=1
-nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf
-
-# Change the path in the NGINX config file
-if [ $change_path -eq 1 ]
-then
- # Make a backup of the original NGINX config file if modified
- ynh_backup_if_checksum_is_different --file="$nginx_conf_path"
- # Set global variables for NGINX helper
- domain="$old_domain"
- path_url="$new_path"
- # Create a dedicated NGINX config
- ynh_add_nginx_config
-fi
-
-# Change the domain for NGINX
-if [ $change_domain -eq 1 ]
-then
- # Delete file checksum for the old conf file location
- ynh_delete_file_checksum --file="$nginx_conf_path"
- mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf
- # Store file checksum for the new config file location
- ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.conf"
-fi
+ynh_change_url_nginx_config
#=================================================
# GENERIC FINALISATION
@@ -114,13 +34,6 @@ ynh_script_progression --message="Starting a systemd service..." --weight=1
ynh_systemd_action --service_name=$app --action="start" --log_path=systemd --line_match="Grails application running at"
-#=================================================
-# RELOAD NGINX
-#=================================================
-ynh_script_progression --message="Reloading NGINX web server..." --weight=1
-
-ynh_systemd_action --service_name=nginx --action=reload
-
#=================================================
# END OF SCRIPT
#=================================================
diff --git a/scripts/install b/scripts/install
index 151e103..9a0c9c5 100644
--- a/scripts/install
+++ b/scripts/install
@@ -9,84 +9,17 @@
source _common.sh
source /usr/share/yunohost/helpers
-#=================================================
-# MANAGE SCRIPT FAILURE
-#=================================================
-
-ynh_clean_setup () {
- ynh_clean_check_starting
-}
-# Exit if an error occurs during the execution of the script
-ynh_abort_if_errors
-
-#=================================================
-# RETRIEVE ARGUMENTS FROM THE MANIFEST
-#=================================================
-
-domain=$YNH_APP_ARG_DOMAIN
-path_url="/"
-is_public=$YNH_APP_ARG_IS_PUBLIC
-
-app=$YNH_APP_INSTANCE_NAME
-
-#=================================================
-# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS
-#=================================================
-ynh_script_progression --message="Validating installation parameters..." --weight=1
-
-final_path=/var/www/$app
-test ! -e "$final_path" || ynh_die --message="This path already contains a folder"
-
-# Register (book) web path
-ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url
-
-#=================================================
-# STORE SETTINGS FROM MANIFEST
-#=================================================
-ynh_script_progression --message="Storing installation settings..." --weight=1
-
-ynh_app_setting_set --app=$app --key=domain --value=$domain
-ynh_app_setting_set --app=$app --key=path --value=$path_url
-
-#=================================================
-# STANDARD MODIFICATIONS
-#=================================================
-# FIND AND OPEN A PORT
-#=================================================
-ynh_script_progression --message="Finding an available port..." --weight=3
-
-# Find an available port
-port=$(ynh_find_port --port=8095)
-ynh_app_setting_set --app=$app --key=port --value=$port
-
-#=================================================
-# INSTALL DEPENDENCIES
-#=================================================
-ynh_script_progression --message="Installing dependencies..."
-
-ynh_install_app_dependencies $pkg_dependencies
-
-#=================================================
-# CREATE DEDICATED USER
-#=================================================
-ynh_script_progression --message="Configuring system user..." --weight=2
-
-# Create a system user
-ynh_system_user_create --username=$app --home_dir="$final_path"
-
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
ynh_script_progression --message="Setting up source files..." --weight=2
-ynh_app_setting_set --app=$app --key=final_path --value=$final_path
# Download, check integrity, uncompress and patch the source from app.src
-ynh_setup_source --dest_dir="$final_path"
+ynh_setup_source --dest_dir="$install_dir"
-chmod 750 "$final_path"
-chmod -R o-rwx "$final_path"
-chown -R $app:www-data "$final_path"
-chmod +x $final_path/streama.jar
+chmod -R o-rwx "$install_dir"
+chown -R $app:www-data "$install_dir"
+chmod +x $install_dir/streama.jar
#=================================================
# NGINX CONFIGURATION
@@ -97,31 +30,24 @@ ynh_script_progression --message="Configuring NGNX web server..." --weight=3
ynh_add_nginx_config
#=================================================
-# SPECIFIC SETUP
+# ADD A CONFIGURATION
#=================================================
-# CREATE DATA DIRECTORY
-#=================================================
-ynh_script_progression --message="Creating a data directory..."
+ynh_script_progression --message="Adding a configuration file..." --weight=1
-datadir=/home/yunohost.app/$app
-ynh_app_setting_set --app=$app --key=datadir --value=$datadir
+ynh_add_config --template="../conf/application.yaml" --destination="$install_dir/application.yaml"
-mkdir -p $datadir
-
-chmod 750 "$datadir"
-chmod -R o-rwx "$datadir"
-chown -R $app:www-data "$datadir"
+chmod 400 "$install_dir/application.yaml"
+chown $app:$app "$install_dir/application.yaml"
#=================================================
# ADD A CONFIGURATION
#=================================================
-ynh_script_progression --message="Adding a configuration file..."
+#ynh_script_progression --message="Adding a configuration file..."
# Set permissions to app files
-mkdir -p $final_path/data
-ln -s $datadir $final_path/data/streama
-ynh_add_config --template="../conf/convert.sh" --destination="/usr/bin/convert_movies"
-chmod +x "/usr/bin/convert_movies"
+#ln -s $data_dir $install_dir/data/streama
+#ynh_add_config --template="../conf/convert.sh" --destination="/usr/bin/convert_movies"
+#chmod +x "/usr/bin/convert_movies"
#=================================================
# SETUP SYSTEMD
@@ -148,26 +74,6 @@ ynh_script_progression --message="Starting a systemd service..." --weight=2
# Start a systemd service
ynh_systemd_action --service_name=$app --action="start" --log_path=systemd --line_match="Grails application running at"
-#=================================================
-# SETUP SSOWAT
-#=================================================
-ynh_script_progression --message="Configuring permissions..." --weight=1
-
-# Make app public if necessary
-if [ $is_public -eq 1 ]
-then
- # Everyone can access the app.
- # The "main" permission is automatically created before the install script.
- ynh_permission_update --permission="main" --add="visitors"
-fi
-
-#=================================================
-# RELOAD NGINX
-#=================================================
-ynh_script_progression --message="Reloading NGINX web server..." --weight=1
-
-ynh_systemd_action --service_name=nginx --action=reload
-
#=================================================
# END OF SCRIPT
#=================================================
diff --git a/scripts/remove b/scripts/remove
index 2ae527c..57324bf 100644
--- a/scripts/remove
+++ b/scripts/remove
@@ -9,18 +9,6 @@
source _common.sh
source /usr/share/yunohost/helpers
-#=================================================
-# LOAD SETTINGS
-#=================================================
-ynh_script_progression --message="Loading installation settings..." --weight=1
-
-app=$YNH_APP_INSTANCE_NAME
-
-domain=$(ynh_app_setting_get --app=$app --key=domain)
-port=$(ynh_app_setting_get --app=$app --key=port)
-final_path=$(ynh_app_setting_get --app=$app --key=final_path)
-datadir=$(ynh_app_setting_get --app=$app --key=datadir)
-
#=================================================
# STANDARD REMOVE
#=================================================
@@ -34,59 +22,12 @@ then
yunohost service remove $app
fi
-#=================================================
-# STOP AND REMOVE SERVICE
-#=================================================
-ynh_script_progression --message="Stopping and removing the systemd service..." --weight=1
-
# Remove the dedicated systemd config
ynh_remove_systemd_config
-#=================================================
-# REMOVE APP MAIN DIR
-#=================================================
-ynh_script_progression --message="Removing app main directory..." --weight=1
-
-# Remove the app directory securely
-ynh_secure_remove --file="$final_path"
-
-#=================================================
-# REMOVE DATA DIR
-#=================================================
-
-# Remove the data directory if --purge option is used
-if [ "${YNH_APP_PURGE:-0}" -eq 1 ]
-then
- ynh_script_progression --message="Removing app data directory..."
- ynh_secure_remove --file="$datadir"
-fi
-
-#=================================================
-# REMOVE NGINX CONFIGURATION
-#=================================================
-ynh_script_progression --message="Removing NGINX web server configuration..." --weight=2
-
# Remove the dedicated NGINX config
ynh_remove_nginx_config
-#=================================================
-# REMOVE DEPENDENCIES
-#=================================================
-ynh_script_progression --message="Removing dependencies..." --weight=11
-
-# Remove metapackage and its dependencies
-ynh_remove_app_dependencies
-
-#=================================================
-# GENERIC FINALIZATION
-#=================================================
-# REMOVE DEDICATED USER
-#=================================================
-ynh_script_progression --message="Removing the dedicated system user..." --weight=1
-
-# Delete a system user
-ynh_system_user_delete --username=$app
-
#=================================================
# END OF SCRIPT
#=================================================
diff --git a/scripts/restore b/scripts/restore
index 06a97ee..cf23e0b 100644
--- a/scripts/restore
+++ b/scripts/restore
@@ -10,79 +10,24 @@
source ../settings/scripts/_common.sh
source /usr/share/yunohost/helpers
-#=================================================
-# MANAGE SCRIPT FAILURE
-#=================================================
-
-ynh_clean_setup () {
- ynh_clean_check_starting
-}
-# Exit if an error occurs during the execution of the script
-ynh_abort_if_errors
-
-#=================================================
-# LOAD SETTINGS
-#=================================================
-ynh_script_progression --message="Loading installation settings..." --weight=1
-
-app=$YNH_APP_INSTANCE_NAME
-
-domain=$(ynh_app_setting_get --app=$app --key=domain)
-path_url=$(ynh_app_setting_get --app=$app --key=path)
-final_path=$(ynh_app_setting_get --app=$app --key=final_path)
-datadir=$(ynh_app_setting_get --app=$app --key=datadir)
-
-#=================================================
-# CHECK IF THE APP CAN BE RESTORED
-#=================================================
-ynh_script_progression --message="Validating restoration parameters..." --weight=3
-
-test ! -d $final_path \
- || ynh_die --message="There is already a directory: $final_path "
-
-#=================================================
-# STANDARD RESTORATION STEPS
-#=================================================
-# RECREATE THE DEDICATED USER
-#=================================================
-ynh_script_progression --message="Recreating the dedicated system user..." --weight=3
-
-# Create the dedicated user (if not existing)
-ynh_system_user_create --username=$app --home_dir="$final_path"
-
#=================================================
# RESTORE THE APP MAIN DIR
#=================================================
ynh_script_progression --message="Restoring the app main directory..." --weight=2
-ynh_restore_file --origin_path="$final_path"
+ynh_restore_file --origin_path="$install_dir"
-chmod 750 "$final_path"
-chmod -R o-rwx "$final_path"
-chown -R $app:www-data "$final_path"
+chmod -R o-rwx "$install_dir"
+chown -R $app:www-data "$install_dir"
#=================================================
# RESTORE THE DATA DIRECTORY
#=================================================
ynh_script_progression --message="Restoring the data directory..."
-ynh_restore_file --origin_path="$datadir" --not_mandatory
+ynh_restore_file --origin_path="$data_dir" --not_mandatory
-mkdir -p $datadir
-
-chmod 750 "$datadir"
-chmod -R o-rwx "$datadir"
-chown -R $app:www-data "$datadir"
-
-#=================================================
-# SPECIFIC RESTORATION
-#=================================================
-# REINSTALL DEPENDENCIES
-#=================================================
-ynh_script_progression --message="Reinstalling dependencies..."
-
-# Define and install dependencies
-ynh_install_app_dependencies $pkg_dependencies
+chown -R $app:www-data "$data_dir"
#=================================================
# RESTORE THE NGINX CONFIGURATION
@@ -94,13 +39,12 @@ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
#=================================================
# ADD A CONFIGURATION
#=================================================
-ynh_script_progression --message="Adding a configuration file..."
+#ynh_script_progression --message="Adding a configuration file..."
# Set permissions to app files
-mkdir -p $final_path/data
-ln -s $datadir $final_path/data/streama
-ynh_add_config --template="../conf/convert.sh" --destination="/usr/bin/convert_movies"
-chmod +x "/usr/bin/convert_movies"
+#ln -s $data_dir $install_dir/data/streama
+#ynh_add_config --template="../conf/convert.sh" --destination="/usr/bin/convert_movies"
+#chmod +x "/usr/bin/convert_movies"
#=================================================
# RESTORE SYSTEMD
diff --git a/scripts/upgrade b/scripts/upgrade
index f603e80..15b03f1 100644
--- a/scripts/upgrade
+++ b/scripts/upgrade
@@ -9,41 +9,12 @@
source _common.sh
source /usr/share/yunohost/helpers
-#=================================================
-# LOAD SETTINGS
-#=================================================
-ynh_script_progression --message="Loading installation settings..." --weight=1
-
-app=$YNH_APP_INSTANCE_NAME
-
-domain=$(ynh_app_setting_get --app=$app --key=domain)
-path_url=$(ynh_app_setting_get --app=$app --key=path)
-final_path=$(ynh_app_setting_get --app=$app --key=final_path)
-port=$(ynh_app_setting_get --app=$app --key=port)
-datadir=$(ynh_app_setting_get --app=$app --key=datadir)
-
#=================================================
# CHECK VERSION
#=================================================
-ynh_script_progression --message="Checking version..."
upgrade_type=$(ynh_check_app_version_changed)
-#=================================================
-# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
-#=================================================
-ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." --weight=2
-
-# Backup the current version of the app
-ynh_backup_before_upgrade
-ynh_clean_setup () {
- ynh_clean_check_starting
- # Restore it if the upgrade fails
- ynh_restore_upgradebackup
-}
-# Exit if an error occurs during the execution of the script
-ynh_abort_if_errors
-
#=================================================
# STANDARD UPGRADE STEPS
#=================================================
@@ -53,31 +24,6 @@ ynh_script_progression --message="Stopping a systemd service..." --weight=20
ynh_systemd_action --service_name=$app --action="stop" --log_path=systemd
-#=================================================
-# ENSURE DOWNWARD COMPATIBILITY
-#=================================================
-ynh_script_progression --message="Ensuring downward compatibility..." --weight=1
-
-# Cleaning legacy permissions
-if ynh_legacy_permissions_exists; then
- ynh_legacy_permissions_delete_all
-
- ynh_app_setting_delete --app=$app --key=is_public
-fi
-
-# If db_name doesn't exist, create it
-if [ -z "$datadir" ]; then
- datadir=/home/yunohost.app/$app
- ynh_app_setting_set --app=$app --key=datadir --value=$datadir
-fi
-#=================================================
-# CREATE DEDICATED USER
-#=================================================
-ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1
-
-# Create a dedicated user (if not existing)
-ynh_system_user_create --username=$app --home_dir="$final_path"
-
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
@@ -87,20 +33,12 @@ then
ynh_script_progression --message="Upgrading source files..." --weight=1
# Download, check integrity, uncompress and patch the source from app.src
- ynh_setup_source --dest_dir="$final_path"
+ ynh_setup_source --dest_dir="$install_dir"
fi
-chmod 750 "$final_path"
-chmod -R o-rwx "$final_path"
-chown -R $app:www-data "$final_path"
-chmod +x $final_path/streama.jar
-
-#=================================================
-# UPGRADE DEPENDENCIES
-#=================================================
-ynh_script_progression --message="Upgrading dependencies..." --weight=5
-
-ynh_install_app_dependencies $pkg_dependencies
+chmod -R o-rwx "$install_dir"
+chown -R $app:www-data "$install_dir"
+chmod +x $install_dir/streama.jar
#=================================================
# NGINX CONFIGURATION
@@ -115,12 +53,11 @@ ynh_add_nginx_config
#=================================================
# UPDATE A CONFIG FILE
#=================================================
-ynh_script_progression --message="Updating a configuration file..."
+#ynh_script_progression --message="Updating a configuration file..."
# Set permissions to app files
-mkdir -p $final_path/data
-ynh_add_config --template="../conf/convert.sh" --destination="/usr/bin/convert_movies"
-chmod +x "/usr/bin/convert_movies"
+#ynh_add_config --template="../conf/convert.sh" --destination="/usr/bin/convert_movies"
+#chmod +x "/usr/bin/convert_movies"
#=================================================
# SETUP SYSTEMD
@@ -146,13 +83,6 @@ ynh_script_progression --message="Starting a systemd service..." --weight=5
ynh_systemd_action --service_name=$app --action="start" --log_path=systemd --line_match="Grails application running at"
-#=================================================
-# RELOAD NGINX
-#=================================================
-ynh_script_progression --message="Reloading NGINX web server..." --weight=1
-
-ynh_systemd_action --service_name=nginx --action=reload
-
#=================================================
# END OF SCRIPT
#=================================================
diff --git a/tests.toml b/tests.toml
new file mode 100644
index 0000000..02b086c
--- /dev/null
+++ b/tests.toml
@@ -0,0 +1,9 @@
+test_format = 1.0
+
+[default]
+
+ # -------------------------------
+ # Commits to test upgrade from
+ # -------------------------------
+
+ test_upgrade_from.4184ecd823b50bdf1a306d24a0ad9b5ccd18c103.name = "Upgrade from 1.10.4"
\ No newline at end of file