diff --git a/README.md b/README.md index 2a2362f..bbdb84d 100644 --- a/README.md +++ b/README.md @@ -34,8 +34,8 @@ visit `http://serverIP:6969/stats` to view the tracker stats. #### Multi-user support -Are LDAP and HTTP auth supported? -Can the app be used by multiple users? + * Are LDAP and HTTP auth supported? + * Can the app be used by multiple users? #### Supported architectures diff --git a/README_fr.md b/README_fr.md new file mode 100644 index 0000000..be515ff --- /dev/null +++ b/README_fr.md @@ -0,0 +1,71 @@ +# OpenTracker pour YunoHost + +[![Integration level](https://dash.yunohost.org/integration/opentracker.svg)](https://dash.yunohost.org/appci/app/opentracker) ![](https://ci-apps.yunohost.org/ci/badges/opentracker.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/opentracker.maintain.svg) +[![Installer OpenTracker avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=opentracker) + +*[Read this readme in english.](./README.md)* + +> *Ce package vous permet d'installer OpenTracker rapidement et simplement sur un serveur YunoHost. +Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install) pour apprendre comment l'installer.* + +## Vue d'ensemble +OpenTracker is a open and free bittorrent tracker project. It aims for minimal resource usage and is intended to run at your wlan router. Currently it is deployed as an open and free tracker instance. Read our free and open tracker blog and announce your torrents there (but do not hesitate to setup your own free trackers!). + +**Version incluse :** 1.0 + +## Screenshots + +![](Link to a screenshot of this app.) + +## Configuration + +`udp://mydomain.com:6969` + +by default the tracker will run on 6969 port on both UDP and TCP. + +visit `http://serverIP:6969/stats` to view the tracker stats. + +## Documentation + + * Documentation officielle : http://erdgeist.org/arts/software/opentracker/index/#overview + * Documentation YunoHost : Si une documentation spécifique est nécessaire, n'hésitez pas à contribuer. + +## Caractéristiques spécifiques YunoHost + +#### Support multi-utilisateur + +* L'authentification LDAP et HTTP est-elle prise en charge ? +* L'application peut-elle être utilisée par plusieurs utilisateurs ? + +#### Architectures supportées + +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/opentracker%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/opentracker/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/opentracker%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/opentracker/) + +## Limitations + +* Limitations connues. + +## Informations additionnelles + +* Autres informations que vous souhaitez ajouter sur cette application. + +## Liens + + * Signaler un bug : https://github.com/YunoHost-Apps/opentracker_ynh/issues + * Site de l'application : http://erdgeist.org/arts/software/opentracker/ + * Dépôt de l'application principale : http://erdgeist.org/gitweb/opentracker/ + * Site web YunoHost : https://yunohost.org/ + +--- + +## Informations pour les développeurs + +Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/opentracker_ynh/tree/testing). + +To try the testing branch, please proceed like that. +``` +sudo yunohost app install https://github.com/YunoHost-Apps/opentracker_ynh/tree/testing --debug +or +sudo yunohost app upgrade opentracker -u https://github.com/YunoHost-Apps/opentracker_ynh/tree/testing --debug +``` diff --git a/check_process b/check_process index ed27fe5..caffa1b 100644 --- a/check_process +++ b/check_process @@ -6,16 +6,13 @@ ;; Test complet ; Manifest domain="domain.tld" (DOMAIN) - path="/path" (PATH) - is_public=1 (PUBLIC|public=1|private=0) - port="9980" (PORT) ; Checks pkg_linter=1 - setup_sub_dir=1 - setup_root=1 - setup_nourl=0 - setup_private=1 - setup_public=1 + setup_sub_dir=0 + setup_root=0 + setup_nourl=1 + setup_private=0 + setup_public=0 upgrade=1 backup_restore=1 multi_instance=0 diff --git a/conf/systemd.service b/conf/systemd.service index f445039..59ff1b9 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -1,5 +1,5 @@ [Unit] -Description=OpenTracker +Description=OpenTracker: Bittorrent tracker After=network.target [Service] diff --git a/manifest.json b/manifest.json index 1e52281..9d9c3d9 100644 --- a/manifest.json +++ b/manifest.json @@ -14,7 +14,7 @@ "email": "liberodark@gmail.com" }, "requirements": { - "yunohost": ">= 3.8.1" + "yunohost": ">= 4.0.1" }, "multi_instance": false, "services": [ @@ -29,25 +29,6 @@ "fr": "Choisissez un nom de domaine pour OpenTracker" }, "example": "example.com" - }, - { - "name": "path", - "type": "path", - "ask": { - "en": "Choose a path for OpenTracker", - "fr": "Choisissez un chemin pour OpenTracker" - }, - "example": "/opentracker", - "default": "/opentracker" - }, - { - "name": "is_public", - "type": "boolean", - "ask": { - "en": "Is it a public site?", - "fr": "Est-ce un site public ?" - }, - "default": true } ] } diff --git a/scripts/backup b/scripts/backup index ed9df11..fe2aaa9 100644 --- a/scripts/backup +++ b/scripts/backup @@ -41,12 +41,6 @@ ynh_print_info --message="Declaring files to be backed up..." ynh_backup --src_path="$final_path" -#================================================= -# BACKUP THE NGINX CONFIGURATION -#================================================= - -ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" - #================================================= # BACKUP SYSTEMD #================================================= diff --git a/scripts/install b/scripts/install index d3a0084..9901e26 100644 --- a/scripts/install +++ b/scripts/install @@ -25,9 +25,6 @@ ynh_abort_if_errors # Retrieve arguments domain=$YNH_APP_ARG_DOMAIN -path_url=$YNH_APP_ARG_PATH -is_public=$YNH_APP_ARG_IS_PUBLIC - app=$YNH_APP_INSTANCE_NAME #================================================= @@ -35,25 +32,20 @@ app=$YNH_APP_INSTANCE_NAME #================================================= ynh_script_progression --message="Validating installation parameters..." --weight=1 -final_path=/opt/$app +final_path=/opt/yunohost/$app test ! -e "$final_path" || ynh_die "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 -ynh_app_setting_set --app=$app --key=is_public --value=$is_public #================================================= # FIND AND OPEN A PORT #================================================= -ynh_script_progression --message="Configuring firewall..." --weight=1 +ynh_script_progression --message="Finding an available port..." --weight=1 # Find a free port port=$(ynh_find_port --port=6969) @@ -75,21 +67,12 @@ ynh_install_app_dependencies $pkg_dependencies ynh_script_progression --message="Installing OpenTracker..." --weight=5 ynh_app_setting_set --app=$app --key=final_path --value=$final_path - git clone git://erdgeist.org/opentracker "$final_path" --quiet pushd "$final_path" || ynh_die ynh_exec_warn_less make popd || ynh_die -#================================================= -# NGINX CONFIGURATION -#================================================= -ynh_script_progression --message="Configuring NGINX web server..." --weight=10 - -# Create a dedicated NGINX config -ynh_add_nginx_config - #================================================= # CREATE DEDICATED USER #================================================= @@ -114,14 +97,14 @@ ynh_add_systemd_config # Set permissions to app files chown -R $app: $final_path -chmod +x $final_path/opentracker +chmod +x $final_path/$app #================================================= # INTEGRATE SERVICE IN YUNOHOST #================================================= ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 -yunohost service add $app --description="A short description of the app" --log="/var/log/$app/$app.log" +yunohost service add $app --description="Bittorrent tracker" --log="/var/log/$app/$app.log" --needs_exposed_ports "$port" #================================================= # START SYSTEMD SERVICE @@ -129,25 +112,7 @@ yunohost service add $app --description="A short description of the app" --log=" 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" #--needs_exposed_ports "$port" - -#================================================= -# SETUP SSOWAT -#================================================= -ynh_script_progression --message="Configuring SSOwat..." --weight=1 - -# Make app public if necessary or protect it -if [ $is_public -eq 1 ] -then - ynh_permission_update --permission "main" --add "visitors" -fi - -#================================================= -# RELOAD NGINX -#================================================= -ynh_script_progression --message="Reloading NGINX web server..." --weight=2 - -ynh_systemd_action --service_name=nginx --action=reload +ynh_systemd_action --service_name=$app --action=start --log_path="systemd" #================================================= # END OF SCRIPT diff --git a/scripts/remove b/scripts/remove index 5e2cfe6..8014069 100644 --- a/scripts/remove +++ b/scripts/remove @@ -57,14 +57,6 @@ ynh_script_progression --message="Removing app main directory..." --weight=1 # Remove the app directory securely ynh_secure_remove --file="$final_path" -#================================================= -# REMOVE NGINX CONFIGURATION -#================================================= -ynh_script_progression --message="Removing NGINX web server configuration..." --weight=1 - -# Remove the dedicated NGINX config -ynh_remove_nginx_config - #================================================= # CLOSE A PORT #================================================= diff --git a/scripts/restore b/scripts/restore index 7356d25..0d0a541 100644 --- a/scripts/restore +++ b/scripts/restore @@ -27,7 +27,6 @@ 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) #================================================= @@ -35,19 +34,11 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) #================================================= ynh_script_progression --message="Validating restoration parameters..." --weight=1 -ynh_webpath_available --domain=$domain --path_url=$path_url \ - || ynh_die --message="Path not available: ${domain}${path_url}" +ynh_webpath_available --domain=$domain \ + || ynh_die --message="Path not available: $domain" test ! -d $final_path \ || ynh_die --message="There is already a directory: $final_path " -#================================================= -# STANDARD RESTORATION STEPS -#================================================= -# RESTORE THE NGINX CONFIGURATION -#================================================= - -ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" - #================================================= # RESTORE THE APP MAIN DIR #================================================= @@ -69,6 +60,7 @@ ynh_system_user_create --username=$app # Restore permissions on app files chown -R $app: $final_path +chmod +x $final_path/$app #================================================= # SPECIFIC RESTORATION @@ -93,7 +85,7 @@ systemctl enable $app.service --quiet #================================================= ynh_script_progression --message="Integrating service in YunoHost..." --weight=2 -yunohost service add $app --description="A short description of the app" --log="/var/log/$app/$app.log" +yunohost service add $app --description="Bittorrent tracker" --log="/var/log/$app/$app.log" --needs_exposed_ports "$port" #================================================= # START SYSTEMD SERVICE @@ -102,15 +94,6 @@ ynh_script_progression --message="Starting a systemd service..." --weight=1 ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" -#================================================= -# GENERIC FINALIZATION -#================================================= -# RELOAD NGINX AND PHP-FPM -#================================================= -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/upgrade b/scripts/upgrade index b8e2cd8..8f30712 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -17,8 +17,6 @@ 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) -is_public=$(ynh_app_setting_get --app=$app --key=is_public) final_path=$(ynh_app_setting_get --app=$app --key=final_path) #================================================= @@ -27,17 +25,6 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) upgrade_type=$(ynh_check_app_version_changed) -#================================================= -# ENSURE DOWNWARD COMPATIBILITY -#================================================= -ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 - -# If final_path doesn't exist, create it -#if [ -z "$final_path" ]; then -# final_path=/var/www/$app -# ynh_app_setting_set --app=$app --key=final_path --value=$final_path -#fi - #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= @@ -59,7 +46,7 @@ ynh_abort_if_errors #================================================= ynh_script_progression --message="Stopping a systemd service..." --weight=5 -ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" +ynh_systemd_action --service_name=$app --action=stop --log_path="/var/log/$app/$app.log" #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -72,19 +59,11 @@ then # Download, check integrity, uncompress and patch the source from app.src git clone git://erdgeist.org/opentracker "$final_path" --quiet - pushd "$final_path" || ynh_die + pushd $final_path ynh_exec_warn_less make - popd || ynh_die + popd fi -#================================================= -# NGINX CONFIGURATION -#================================================= -ynh_script_progression --message="Upgrading NGINX web server configuration..." --weight=3 - -# Create a dedicated NGINX config -ynh_add_nginx_config - #================================================= # UPGRADE DEPENDENCIES #================================================= @@ -116,27 +95,21 @@ ynh_add_systemd_config # Set permissions on app files chown -R $app: $final_path +chmod +x $final_path/$app #================================================= # INTEGRATE SERVICE IN YUNOHOST #================================================= ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 -yunohost service add $app --description="A short description of the app" --log="/var/log/$app/$app.log" +yunohost service add $app --description="Bittorrent tracker" --log="/var/log/$app/$app.log" --needs_exposed_ports "$port" #================================================= # START SYSTEMD SERVICE #================================================= ynh_script_progression --message="Starting a systemd service..." --weight=2 -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" - -#================================================= -# RELOAD NGINX -#================================================= -ynh_script_progression --message="Reloading NGINX web server..." --weight=1 - -ynh_systemd_action --service_name=nginx --action=reload +ynh_systemd_action --service_name=$app --action=start --log_path="/var/log/$app/$app.log" #================================================= # END OF SCRIPT