From 8cc1cb5b87fa4e293003eced4a62cc76b3b09356 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 15 Mar 2021 11:27:53 +0100 Subject: [PATCH 01/27] Update manifest.json --- manifest.json | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/manifest.json b/manifest.json index bc23f41..b804b8e 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Low-latency, high quality voice chat software (VoIP).", "fr": "Logiciel libre de voix sur IP (VoIP)." }, - "version": "1.3.0~ynh1", + "version": "1.3.0~ynh2", "url": "https://mumble.info", "license": "BSD-3-Clause", "maintainer": { @@ -18,7 +18,7 @@ "email": "jean-baptiste@holcroft.fr" }], "requirements": { - "yunohost": ">= 3.8.1" + "yunohost": ">= 4.1.7" }, "multi_instance": true, "services": [ @@ -28,10 +28,6 @@ { "name": "domain", "type": "domain", - "ask": { - "en": "Choose a domain (used to select the correct certificate)", - "fr": "Choisissez un domaine (utilisé pour sélectionner le bon certificat)" - }, "example": "domain.org" }, { From 0d2025838c93a4cb9dfd4a022a3fa7dbd349236c Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Apr 2021 08:21:46 +0200 Subject: [PATCH 02/27] Cleaning up --- README.md | 4 ++-- README_fr.md | 4 ++-- conf/mumble-server.ini | 6 +++--- manifest.json | 6 +----- scripts/install | 21 ++++++--------------- scripts/remove | 2 +- scripts/upgrade | 14 +------------- 7 files changed, 16 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 3c6f3ec..6d480c1 100644 --- a/README.md +++ b/README.md @@ -37,8 +37,8 @@ This package installs the Debian package and configures it with given settings. #### Supported architectures -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/mumbleserver%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/mumbleserver/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/mumbleserver%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/mumbleserver/) +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/mumbleserver.svg)](https://ci-apps.yunohost.org/ci/apps/mumbleserver/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/mumbleserver.svg)](https://ci-apps-arm.yunohost.org/ci/apps/mumbleserver/) ## Limitations diff --git a/README_fr.md b/README_fr.md index cfe8323..95535a8 100644 --- a/README_fr.md +++ b/README_fr.md @@ -37,8 +37,8 @@ mumbleserver_ynh installe le paquet Debian et le configure avec les paramètres #### Architectures supportées -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/mumbleserver%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/mumbleserver/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/mumbleserver%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/mumbleserver/) +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/mumbleserver.svg)](https://ci-apps.yunohost.org/ci/apps/mumbleserver/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/mumbleserver.svg)](https://ci-apps-arm.yunohost.org/ci/apps/mumbleserver/) ## Limitations diff --git a/conf/mumble-server.ini b/conf/mumble-server.ini index 7111565..8778834 100644 --- a/conf/mumble-server.ini +++ b/conf/mumble-server.ini @@ -85,7 +85,7 @@ pidfile=/var/run/mumble-server/__APP__.pid # configure it here than through D-Bus or Ice. # # Welcome message sent to clients when they connect. -welcometext="__WELCOME__" +welcometext="__WELCOMETEXT__" # Port to bind TCP and UDP sockets to. port=__PORT__ @@ -95,7 +95,7 @@ port=__PORT__ #host= # Password to join server. -serverpassword=__SRV_PWD__ +serverpassword=__SERVER_PASSWORD__ # Maximum bandwidth (in bits per second) clients are allowed # to send speech at. @@ -143,7 +143,7 @@ users=100 # addresses. # Only uncomment the 'registerName' parameter if you wish to give your "Root" channel a custom name. # -registerName=__REGISTER__ +registerName=__REGISTERNAME__ #registerPassword=secret #registerUrl=http://mumble.sourceforge.net/ #registerHostname= diff --git a/manifest.json b/manifest.json index bc23f41..a25cf83 100644 --- a/manifest.json +++ b/manifest.json @@ -18,7 +18,7 @@ "email": "jean-baptiste@holcroft.fr" }], "requirements": { - "yunohost": ">= 3.8.1" + "yunohost": ">= 4.1.7" }, "multi_instance": true, "services": [ @@ -28,10 +28,6 @@ { "name": "domain", "type": "domain", - "ask": { - "en": "Choose a domain (used to select the correct certificate)", - "fr": "Choisissez un domaine (utilisé pour sélectionner le bon certificat)" - }, "example": "domain.org" }, { diff --git a/scripts/install b/scripts/install index 6201b00..55a8247 100644 --- a/scripts/install +++ b/scripts/install @@ -59,13 +59,14 @@ ynh_app_setting_set --app=$app --key=instance_id --value="$instance_id" #================================================= # FIND AND OPEN A PORT #================================================= -ynh_script_progression --message="Configuring firewall..." --weight=1 +ynh_script_progression --message="Finding an available port..." --weight=1 -port=$(ynh_find_port 64738) +port=$(ynh_find_port --port=64738) ynh_app_setting_set --app=$app --key=port --value=$port -# Open port in firewall -yunohost firewall allow Both "$port" +# Open the port +ynh_script_progression --message="Configuring firewall..." --weight=1 +ynh_exec_warn_less yunohost firewall allow Both TCP $port #================================================= # INSTALL DEPENDENCIES @@ -87,17 +88,7 @@ ynh_app_setting_set --app=$app --key=final_path --value=$final_path # Configuring with given settings mumble_conf="$final_path/mumble-server.ini" -cp ../conf/mumble-server.ini "$mumble_conf" - -ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$mumble_conf" -ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$mumble_conf" -ynh_replace_string --match_string="__WELCOME__" --replace_string="$welcometext" --target_file="$mumble_conf" -ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$mumble_conf" -ynh_replace_string --match_string="__SRV_PWD__" --replace_string="$server_password" --target_file="$mumble_conf" -ynh_replace_string --match_string="__REGISTER__" --replace_string="$registerName" --target_file="$mumble_conf" -ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$mumble_conf" - -ynh_store_file_checksum "$mumble_conf" +ynh_add_config --template="../conf/mumble-server.ini" --destination="$mumble_conf" #================================================= # SETUP SYSTEMD diff --git a/scripts/remove b/scripts/remove index 1a65607..5ea2a88 100644 --- a/scripts/remove +++ b/scripts/remove @@ -26,7 +26,7 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) # REMOVE SERVICE FROM ADMIN PANEL #================================================= -# Remove the service from the list of services known by Yunohost (added from `yunohost service add`) +# 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 diff --git a/scripts/upgrade b/scripts/upgrade index a045d9c..eec3247 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -133,19 +133,7 @@ mkdir -p $final_path # Configuring with given settings mumble_conf="$final_path/mumble-server.ini" -ynh_backup_if_checksum_is_different "$mumble_conf" - -cp ../conf/mumble-server.ini "$mumble_conf" - -ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$mumble_conf" -ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$mumble_conf" -ynh_replace_string --match_string="__WELCOME__" --replace_string="$welcometext" --target_file="$mumble_conf" -ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$mumble_conf" -ynh_replace_string --match_string="__SRV_PWD__" --replace_string="$server_password" --target_file="$mumble_conf" -ynh_replace_string --match_string="__REGISTER__" --replace_string="$registerName" --target_file="$mumble_conf" -ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$mumble_conf" - -ynh_store_file_checksum "$mumble_conf" +ynh_add_config --template="../conf/mumble-server.ini" --destination="$mumble_conf" #================================================= # SETUP SYSTEMD From bec71c4265a03e44c53c0702e59b2e78b20afd7d Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Apr 2021 18:58:33 +0200 Subject: [PATCH 03/27] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 55a8247..2f66ae1 100644 --- a/scripts/install +++ b/scripts/install @@ -66,7 +66,7 @@ ynh_app_setting_set --app=$app --key=port --value=$port # Open the port ynh_script_progression --message="Configuring firewall..." --weight=1 -ynh_exec_warn_less yunohost firewall allow Both TCP $port +ynh_exec_warn_less yunohost firewall allow Both $port #================================================= # INSTALL DEPENDENCIES From 8499925c15fac80f48f971470e20fe3569f4b21a Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Apr 2021 19:07:09 +0200 Subject: [PATCH 04/27] Fix name --- scripts/install | 4 ++-- scripts/upgrade | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/install b/scripts/install index 2f66ae1..b2c343e 100644 --- a/scripts/install +++ b/scripts/install @@ -26,7 +26,7 @@ ynh_abort_if_errors domain=$YNH_APP_ARG_DOMAIN app=$YNH_APP_INSTANCE_NAME welcometext=$YNH_APP_ARG_WELCOMETEXT -registerName=$YNH_APP_ARG_REGISTERNAME +registername=$YNH_APP_ARG_REGISTERNAME instance_id=$YNH_APP_INSTANCE_NUMBER server_password=$(ynh_string_random) @@ -51,7 +51,7 @@ ynh_app_setting_set --app=$app --key=no_sso --value="true" ynh_app_setting_set --app=$app --key=server_password --value="$server_password" ynh_app_setting_set --app=$app --key=su_passwd --value="$su_passwd" ynh_app_setting_set --app=$app --key=welcometext --value="$welcometext" -ynh_app_setting_set --app=$app --key=registerName --value="$registerName" +ynh_app_setting_set --app=$app --key=registerName --value="$registername" ynh_app_setting_set --app=$app --key=instance_id --value="$instance_id" #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index eec3247..67de972 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -21,7 +21,7 @@ no_sso=$(ynh_app_setting_get --app=$app --key=no_sso) server_password=$(ynh_app_setting_get --app=$app --key=server_password) su_passwd=$(ynh_app_setting_get --app=$app --key=su_passwd) welcometext=$(ynh_app_setting_get --app=$app --key=welcometext) -registerName=$(ynh_app_setting_get --app=$app --key=registerName) +registername=$(ynh_app_setting_get --app=$app --key=registername) port=$(ynh_app_setting_get --app=$app --key=port) final_path=$(ynh_app_setting_get --app=$app --key=final_path) instance_id=$(ynh_app_setting_get --app=$app --key=instance_id) @@ -55,9 +55,9 @@ if [ -z "$server_password" ]; then | grep "welcometext=" \ | sed "s/welcometext=//") - registerName=$(cat "$old_mumble_conf" \ + registername=$(cat "$old_mumble_conf" \ | grep "registerName=" \ - | sed "s/registerName=//") + | sed "s/registername=//") # we don't know what the previous password was, let's regenerate it su_passwd=$(ynh_string_random) @@ -69,7 +69,7 @@ if [ -z "$server_password" ]; then ynh_app_setting_set --app=$app --key=server_password --value=$server_password ynh_app_setting_set --app=$app --key=welcometext --value=$welcometext - ynh_app_setting_set --app=$app --key=registerName --value=$registerName + ynh_app_setting_set --app=$app --key=registerName --value=$registername ynh_app_setting_set --app=$app --key=su_passwd --value=$su_passwd ynh_app_setting_set --app=$app --key=domain --value=$domain From 3e5a5fa48b8e3bb44e1b4edf13366dec1dbad2f1 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Apr 2021 19:11:25 +0200 Subject: [PATCH 05/27] Fix --- scripts/install | 2 +- scripts/upgrade | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index b2c343e..a0d6ab4 100644 --- a/scripts/install +++ b/scripts/install @@ -151,7 +151,7 @@ Port : $port Password to join server: $server_password SuperUser Password : $su_passwd Welcome text : $welcometext -Root channel (your mumble server name): $registerName +Root channel (your mumble server name): $registername Final path (where to find your files) : $final_path Mumble configuration file : $mumble_conf diff --git a/scripts/upgrade b/scripts/upgrade index 67de972..e9c999f 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -198,7 +198,7 @@ Port : $port Password to join server: $server_password SuperUser Password : $su_passwd Welcome text : $welcometext -Root channel (your mumble server name): $registerName +Root channel (your mumble server name): $registername Final path (where to find your files) : $final_path Mumble configuration file : $mumble_conf From 562f49ae0a44f8b52d03d39ee4913d9aebe49232 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Apr 2021 19:16:12 +0200 Subject: [PATCH 06/27] Fix --- scripts/install | 2 +- scripts/upgrade | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index a0d6ab4..3f7c8b9 100644 --- a/scripts/install +++ b/scripts/install @@ -74,7 +74,7 @@ ynh_exec_warn_less yunohost firewall allow Both $port ynh_script_progression --message="Installing dependencies..." --weight=4 # Install Mumble Debian package via apt -ynh_install_app_dependencies $pkg_dependencies +ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies #================================================= # SPECIFIC SETUP diff --git a/scripts/upgrade b/scripts/upgrade index e9c999f..e30e721 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -120,7 +120,7 @@ ynh_abort_if_errors ynh_script_progression --message="Upgrading dependencies..." --weight=6 # Install Mumble Debian package via apt -ynh_install_app_dependencies $pkg_dependencies +ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies #================================================= # SPECIFIC UPGRADE From 2c99d32d63fcb247e19542af75c1b61cfb89c503 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Apr 2021 19:24:28 +0200 Subject: [PATCH 07/27] Update check_process --- check_process | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/check_process b/check_process index c9ec543..732c103 100644 --- a/check_process +++ b/check_process @@ -12,6 +12,7 @@ setup_private=0 setup_public=0 upgrade=1 + upgrade=1 from_commit=d9ece341d532bd5eac9af9ce191da7b62d1e8bb1 backup_restore=1 multi_instance=1 wrong_user=0 @@ -21,5 +22,5 @@ Email= Notification=none ;;; Upgrade options - ; commit=CommitHash - name=Name and date of the commit. + ; commit=d9ece341d532bd5eac9af9ce191da7b62d1e8bb1 + name=Merge pull request #40 from YunoHost-Apps/testing From 89ccef579c755bfb62e4a24245addc8fdc1e1d8e Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 24 Apr 2021 23:57:50 +0200 Subject: [PATCH 08/27] Fix links --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6d480c1..2914f42 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ *[Lire ce readme en français.](./README_fr.md)* > *This package allows you to install Mumble server 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.* +If you don't have YunoHost, please consult [the guide](https://yunohost.org/install) to learn how to install it.* ## Overview Mumble is a free, open source, low latency, high quality voice chat application. Mumble was the first VoIP application to establish true low latency voice communication over a decade ago. But low latency and gaming are not the only use cases it shines in. diff --git a/README_fr.md b/README_fr.md index 95535a8..126c1dc 100644 --- a/README_fr.md +++ b/README_fr.md @@ -6,7 +6,7 @@ *[Read this readme in english.](./README.md)* > *Ce package vous permet d'installer Mumble server 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.* +Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/install) pour apprendre comment l'installer.* ## Vue d'ensemble Mumble est une application de chat vocal gratuite, open source, à faible latence et de haute qualité. Mumble a été la première application VoIP à établir une véritable communication vocale à faible latence il y a plus de dix ans. Mais la faible latence et le jeu ne sont pas les seuls cas d'utilisation dans lesquels il brille. From c45e9319e27dee070656119903d0b8371587e0e8 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 15 May 2021 10:34:37 +0200 Subject: [PATCH 09/27] Add templates --- .github/ISSUE_TEMPLATE.md | 55 ++++++++++++++++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 16 ++++++++++ check_process | 2 +- manifest.json | 2 +- 4 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..2729a6b --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,55 @@ +--- +name: Bug report +about: When creating a bug report, please use the following template to provide all the relevant information and help debugging efficiently. + +--- + +**How to post a meaningful bug report** +1. *Read this whole template first.* +2. *Determine if you are on the right place:* + - *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!* + - *Otherwise, the issue may be due to the app itself. Refer to its documentation or repository for help.* + - *When in doubt, post here and we will figure it out together.* +3. *Delete the italic comments as you write over them below, and remove this guide.* +--- + +### Describe the bug + +*A clear and concise description of what the bug is.* + +### Context + +- Hardware: *VPS bought online / Old laptop or computer / Raspberry Pi at home / Internet Cube with VPN / Other ARM board / ...* +- YunoHost version: x.x.x +- I have access to my server: *Through SSH | through the webadmin | direct access via keyboard / screen | ...* +- Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: *no / yes* + - If yes, please explain: +- Using, or trying to install package version/branch: +- If upgrading, current package version: *can be found in the admin, or with `yunohost app info $app_id`* + +### Steps to reproduce + +- *If you performed a command from the CLI, the command itself is enough. For example:* + ```sh + sudo yunohost app install the_app + ``` +- *If you used the webadmin, please perform the equivalent command from the CLI first.* +- *If the error occurs in your browser, explain what you did:* + 1. *Go to '...'* + 2. *Click on '...'* + 3. *Scroll down to '...'* + 4. *See error* + +### Expected behavior + +*A clear and concise description of what you expected to happen. You can remove this section if the command above is enough to understand your intent.* + +### Logs + +*When an operation fails, YunoHost provides a simple way to share the logs.* +- *In the webadmin, the error message contains a link to the relevant log page. On that page, you will be able to 'Share with Yunopaste'. If you missed it, the logs of previous operations are also available under Tools > Logs.* +- *In command line, the command to share the logs is displayed at the end of the operation and looks like `yunohost log display [log name] --share`. If you missed it, you can find the log ID of a previous operation using `yunohost log list`.* + +*After sharing the log, please copypaste directly the link provided by YunoHost (to help readability, no need to copypaste the entire content of the log here, just the link is enough...)* + +*If applicable and useful, add screenshots to help explain your problem.* diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..ef70e18 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ +## Problem + +- *Description of why you made this PR* + +## Solution + +- *And how do you fix that problem* + +## PR Status + +- [ ] Code finished and ready to be reviewed/tested +- [ ] The fix/enhancement were manually tested (if applicable) + +## Automatic tests + +Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ *after creating the PR*, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization) diff --git a/check_process b/check_process index 732c103..648b133 100644 --- a/check_process +++ b/check_process @@ -1,7 +1,7 @@ ;; Test complet auto_remove=1 ; Manifest - domain="domain.tld" (DOMAIN) + domain="domain.tld" welcometext="Welcome to my Mumble server" registername="Root" ; Checks diff --git a/manifest.json b/manifest.json index b804b8e..d59f3cd 100644 --- a/manifest.json +++ b/manifest.json @@ -18,7 +18,7 @@ "email": "jean-baptiste@holcroft.fr" }], "requirements": { - "yunohost": ">= 4.1.7" + "yunohost": ">= 4.2.4" }, "multi_instance": true, "services": [ From a31bdfa6d1213a6905f156346c8744a6f1a4a14f Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 4 Jun 2021 18:19:45 +0200 Subject: [PATCH 10/27] Add templates --- check_process | 3 --- doc/DISCLAIMER.md | 5 +++++ doc/DISCLAIMER_fr.md | 5 +++++ doc/screenshots/connected.png | Bin 0 -> 27650 bytes manifest.json | 6 ++++++ 5 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 doc/DISCLAIMER.md create mode 100644 doc/DISCLAIMER_fr.md create mode 100644 doc/screenshots/connected.png diff --git a/check_process b/check_process index 648b133..74ecf86 100644 --- a/check_process +++ b/check_process @@ -15,9 +15,6 @@ upgrade=1 from_commit=d9ece341d532bd5eac9af9ce191da7b62d1e8bb1 backup_restore=1 multi_instance=1 - wrong_user=0 - wrong_path=0 - port_already_use=0 ;;; Options Email= Notification=none diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md new file mode 100644 index 0000000..74f5325 --- /dev/null +++ b/doc/DISCLAIMER.md @@ -0,0 +1,5 @@ +#### Setup + +This package installs the Debian package and configures it with given settings. Password and other usefull information will be sent to you after installation. + +- [Add the admin](http://wiki.mumble.info/wiki/Murmurguide#Connecting_to_Murmur_Server) diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md new file mode 100644 index 0000000..1e82870 --- /dev/null +++ b/doc/DISCLAIMER_fr.md @@ -0,0 +1,5 @@ +## Configuration + +mumbleserver_ynh installe le paquet Debian et le configure avec les paramètres donnés. Le mot de passe et d'autres informations utiles sont envoyés après l'installation. + +- [Ajouter l'administrateur](http://wiki.mumble.info/wiki/Murmurguide#Connecting_to_Murmur_Server) diff --git a/doc/screenshots/connected.png b/doc/screenshots/connected.png new file mode 100644 index 0000000000000000000000000000000000000000..dcc9c78ad46eeee4cfae1b7a64c3b52a4952a1a2 GIT binary patch literal 27650 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 Date: Fri, 4 Jun 2021 16:19:52 +0000 Subject: [PATCH 11/27] Auto-update README --- README.md | 64 ++++++++++++++++++++-------------------------------- README_fr.md | 62 ++++++++++++++++++-------------------------------- 2 files changed, 47 insertions(+), 79 deletions(-) diff --git a/README.md b/README.md index 2914f42..24e1749 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,31 @@ -# Mumble server for YunoHost + + +# Mumble Server for YunoHost [![Integration level](https://dash.yunohost.org/integration/mumbleserver.svg)](https://dash.yunohost.org/appci/app/mumbleserver) ![](https://ci-apps.yunohost.org/ci/badges/mumbleserver.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/mumbleserver.maintain.svg) -[![Install with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=mumbleserver) +[![Install Mumble Server with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=mumbleserver) *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install Mumble server 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.* +> *This package allows you to install Mumble Server 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.* ## Overview -Mumble is a free, open source, low latency, high quality voice chat application. Mumble was the first VoIP application to establish true low latency voice communication over a decade ago. But low latency and gaming are not the only use cases it shines in. -**Shipped version:** 1.3.0 (source package provided by Debian) +Low-latency, high quality voice chat software (VoIP). + +**Shipped version:** 1.3.0~ynh2 + + ## Screenshots -![](https://www.mumble.info/client-screenshots/connected.png) +![](./doc/screenshots/connected.png) + +## Disclaimers / important information #### Setup @@ -23,39 +33,13 @@ This package installs the Debian package and configures it with given settings. - [Add the admin](http://wiki.mumble.info/wiki/Murmurguide#Connecting_to_Murmur_Server) -## Documentation +## Documentation and resources - * Official documentation: https://wiki.mumble.info/wiki/Main_Page - * YunoHost documentation: If specific documentation is needed, feel free to contribute. - -## YunoHost specific features - -#### Multi-user support - - * Are LDAP and HTTP auth supported? **No** - * Can the app be used by multiple users? - -#### Supported architectures - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/mumbleserver.svg)](https://ci-apps.yunohost.org/ci/apps/mumbleserver/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/mumbleserver.svg)](https://ci-apps-arm.yunohost.org/ci/apps/mumbleserver/) - -## Limitations - -* Any known limitations. - -## Additional information - -* Other info you would like to add about this app. - -## Links - - * Report a bug about this package: https://github.com/YunoHost-Apps/mumbleserver_ynh - * Mumble website: https://mumble.info - * Report a bug about Mumble itself: https://github.com/mumble-voip/mumble - * YunoHost website: https://yunohost.org - - --- +* Official app website: https://mumble.info +* Official admin documentation: https://wiki.mumble.info/wiki/Main_Page +* Upstream app code repository: https://github.com/mumble-voip/mumble +* YunoHost documentation for this app: https://yunohost.org/app_mumbleserver +* Report a bug: https://github.com/YunoHost-Apps/mumbleserver_ynh/issues ## Developer info @@ -67,3 +51,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/mumbleserver_ynh/tree or sudo yunohost app upgrade mumbleserver -u https://github.com/YunoHost-Apps/mumbleserver_ynh/tree/testing --debug ``` + +**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/README_fr.md b/README_fr.md index 126c1dc..df3422d 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,21 +1,27 @@ -# Mumble server pour YunoHost +# Mumble Server pour YunoHost [![Niveau d'intégration](https://dash.yunohost.org/integration/mumbleserver.svg)](https://dash.yunohost.org/appci/app/mumbleserver) ![](https://ci-apps.yunohost.org/ci/badges/mumbleserver.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/mumbleserver.maintain.svg) -[![Installer avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=mumbleserver) +[![Installer Mumble Server avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=mumbleserver) -*[Read this readme in english.](./README.md)* +*[Read this readme in english.](./README.md)* +*[Lire ce readme en français.](./README_fr.md)* -> *Ce package vous permet d'installer Mumble server 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.* +> *Ce package vous permet d'installer Mumble Server 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 -Mumble est une application de chat vocal gratuite, open source, à faible latence et de haute qualité. Mumble a été la première application VoIP à établir une véritable communication vocale à faible latence il y a plus de dix ans. Mais la faible latence et le jeu ne sont pas les seuls cas d'utilisation dans lesquels il brille. -**Version incluse :** 1.3.0 (paquet source fourni par Debian) +Logiciel libre de voix sur IP (VoIP). + +**Version incluse :** 1.3.0~ynh2 + + ## Captures d'écran -![](https://www.mumble.info/client-screenshots/connected.png) +![](./doc/screenshots/connected.png) + +## Avertissements / informations importantes ## Configuration @@ -23,39 +29,13 @@ mumbleserver_ynh installe le paquet Debian et le configure avec les paramètres - [Ajouter l'administrateur](http://wiki.mumble.info/wiki/Murmurguide#Connecting_to_Murmur_Server) -## Documentation +## Documentations et ressources - * Documentation officielle : https://wiki.mumble.info/wiki/Main_Page - * 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 ? **Non** -* L'application peut-elle être utilisée par plusieurs utilisateurs ? - -#### Architectures supportées - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/mumbleserver.svg)](https://ci-apps.yunohost.org/ci/apps/mumbleserver/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/mumbleserver.svg)](https://ci-apps-arm.yunohost.org/ci/apps/mumbleserver/) - -## Limitations - -* Limitations connues. - -## Informations additionnelles - -* Autres informations que vous souhaitez ajouter sur cette application. - -## Liens - - * Signaler un bug : https://github.com/YunoHost-Apps/mumbleserver_ynh - * Site de l'application : https://mumble.info - * Dépôt de l'application principale : https://github.com/mumble-voip/mumble - * Site web YunoHost : https://yunohost.org - - --- +* Site officiel de l'app : https://mumble.info +* Documentation officielle de l'admin : https://wiki.mumble.info/wiki/Main_Page +* Dépôt de code officiel de l'app : https://github.com/mumble-voip/mumble +* Documentation YunoHost pour cette app : https://yunohost.org/app_mumbleserver +* Signaler un bug : https://github.com/YunoHost-Apps/mumbleserver_ynh/issues ## Informations pour les développeurs @@ -67,3 +47,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/mumbleserver_ynh/tree ou sudo yunohost app upgrade mumbleserver -u https://github.com/YunoHost-Apps/mumbleserver_ynh/tree/testing --debug ``` + +**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file From 4c12349e43efcd781da49b842f538d92c2293ff1 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 5 Jun 2021 20:15:30 +0200 Subject: [PATCH 12/27] Update upgrade --- scripts/upgrade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index e30e721..8006646 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -69,7 +69,7 @@ if [ -z "$server_password" ]; then ynh_app_setting_set --app=$app --key=server_password --value=$server_password ynh_app_setting_set --app=$app --key=welcometext --value=$welcometext - ynh_app_setting_set --app=$app --key=registerName --value=$registername + ynh_app_setting_set --app=$app --key=registername --value=$registername ynh_app_setting_set --app=$app --key=su_passwd --value=$su_passwd ynh_app_setting_set --app=$app --key=domain --value=$domain From 95af38024050f2288988176c72f16288e6c308ce Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 5 Jun 2021 20:25:20 +0200 Subject: [PATCH 13/27] Fix --- manifest.json | 4 ++-- scripts/install | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/manifest.json b/manifest.json index 70a4cf4..bf260d4 100644 --- a/manifest.json +++ b/manifest.json @@ -3,8 +3,8 @@ "id": "mumbleserver", "packaging_format": 1, "description": { - "en": "Low-latency, high quality voice chat software (VoIP).", - "fr": "Logiciel libre de voix sur IP (VoIP)." + "en": "Low-latency, high quality voice chat software (VoIP)", + "fr": "Logiciel libre de voix sur IP (VoIP)" }, "version": "1.3.0~ynh2", "url": "https://mumble.info", diff --git a/scripts/install b/scripts/install index 3f7c8b9..b82b390 100644 --- a/scripts/install +++ b/scripts/install @@ -51,7 +51,7 @@ ynh_app_setting_set --app=$app --key=no_sso --value="true" ynh_app_setting_set --app=$app --key=server_password --value="$server_password" ynh_app_setting_set --app=$app --key=su_passwd --value="$su_passwd" ynh_app_setting_set --app=$app --key=welcometext --value="$welcometext" -ynh_app_setting_set --app=$app --key=registerName --value="$registername" +ynh_app_setting_set --app=$app --key=registername --value="$registername" ynh_app_setting_set --app=$app --key=instance_id --value="$instance_id" #================================================= From 2dc5bb95ac62c6a8f3e425389bf5e94d443521c5 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Sat, 5 Jun 2021 18:25:28 +0000 Subject: [PATCH 14/27] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 24e1749..6a9e06e 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in ## Overview -Low-latency, high quality voice chat software (VoIP). +Low-latency, high quality voice chat software (VoIP) **Shipped version:** 1.3.0~ynh2 diff --git a/README_fr.md b/README_fr.md index df3422d..98b9da0 100644 --- a/README_fr.md +++ b/README_fr.md @@ -11,7 +11,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour ## Vue d'ensemble -Logiciel libre de voix sur IP (VoIP). +Logiciel libre de voix sur IP (VoIP) **Version incluse :** 1.3.0~ynh2 From c6083c1110ea4f861bf098b1c824800c1ccddc38 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 5 Jun 2021 20:27:21 +0200 Subject: [PATCH 15/27] Update install --- scripts/install | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index b82b390..b1e9368 100644 --- a/scripts/install +++ b/scripts/install @@ -107,9 +107,10 @@ chmod -R 770 "$final_path" chown -R :mumble-server "$final_path" #================================================= -# Add user to ssl-cert so it can read certificates +# ADD USER TO SSL-CERT #================================================= +# Add user to ssl-cert so it can read certificates usermod --append --groups ssl-cert mumble-server #================================================= From 59df9bd44c64696ffd4866f77329857deb8271ab Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 5 Jun 2021 20:33:10 +0200 Subject: [PATCH 16/27] fix log path --- scripts/install | 4 ++-- scripts/restore | 4 ++-- scripts/upgrade | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/install b/scripts/install index b1e9368..35bc3a1 100644 --- a/scripts/install +++ b/scripts/install @@ -134,14 +134,14 @@ systemctl disable mumble-server --quiet ynh_script_progression --message="Integrating service in YunoHost..." # Add Mumble as a YunoHost service -yunohost service add $app --description="Mumble server" --log="/var/log/$app/$app.log" --needs_exposed_ports $port +yunohost service add $app --description="Mumble server" --log="/var/log/mumble-server/$app.log" --needs_exposed_ports="$port" #================================================= # START SYSTEMD SERVICE #================================================= ynh_script_progression --message="Starting a systemd service..." --weight=3 -ynh_systemd_action --service_name=$app --action=restart #--log_path="/var/log/$app/$app.log" +ynh_systemd_action --service_name=$app --action=restart --log_path="/var/log/mumble-server/$app.log" #================================================= # SEND README TO ADMIN diff --git a/scripts/restore b/scripts/restore index 6aeb760..957e2c8 100644 --- a/scripts/restore +++ b/scripts/restore @@ -79,7 +79,7 @@ systemctl disable mumble-server --quiet ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 # Add Mumble as a YunoHost service -yunohost service add $app --description="Mumble server" --log="/var/log/$app/$app.log" --needs_exposed_ports $port +yunohost service add $app --description="Mumble server" --log="/var/log/mumble-server/$app.log" --needs_exposed_ports="$port" #================================================= # RESTORE SYSTEMD @@ -94,7 +94,7 @@ systemctl enable $app.service --quiet #================================================= ynh_script_progression --message="Starting a systemd service..." --weight=3 -ynh_systemd_action --service_name=$app --action=restart #--log_path="/var/log/$app/$app.log" +ynh_systemd_action --service_name=$app --action=restart --log_path="/var/log/mumble-server/$app.log" #================================================= # END OF SCRIPT diff --git a/scripts/upgrade b/scripts/upgrade index 8006646..c1c607c 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -178,14 +178,14 @@ systemctl disable mumble-server --quiet #================================================= # Add Mumble as a YunoHost service -yunohost service add $app --description="Mumble server" --log="/var/log/$app/$app.log" --needs_exposed_ports $port +yunohost service add $app --description="Mumble server" --log="/var/log/mumble-server/$app.log" --needs_exposed_ports="$port" #================================================= # START SYSTEMD SERVICE #================================================= ynh_script_progression --message="Starting a systemd service..." --weight=3 -ynh_systemd_action --service_name=$app --action=restart #--log_path="/var/log/$app/$app.log" +ynh_systemd_action --service_name=$app --action=restart --log_path="/var/log/mumble-server/$app.log" #================================================= # SEND README TO ADMIN From 0212ea3ad55a790a5b71bdcde43dab64c15f5687 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 5 Jun 2021 22:48:14 +0200 Subject: [PATCH 17/27] Add screenshot --- doc/screenshots/Mumble.png | Bin 0 -> 118962 bytes doc/screenshots/connected.png | Bin 27650 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/screenshots/Mumble.png delete mode 100644 doc/screenshots/connected.png diff --git a/doc/screenshots/Mumble.png b/doc/screenshots/Mumble.png new file mode 100644 index 0000000000000000000000000000000000000000..2c0b254e0d54afadf3dd8d4442f1043e9c45086d GIT binary patch literal 118962 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

|%l4wWJAVI!<+nWzAS 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 Date: Sat, 5 Jun 2021 20:48:22 +0000 Subject: [PATCH 18/27] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6a9e06e..04bcd44 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Low-latency, high quality voice chat software (VoIP) ## Screenshots -![](./doc/screenshots/connected.png) +![](./doc/screenshots/Mumble.png) ## Disclaimers / important information diff --git a/README_fr.md b/README_fr.md index 98b9da0..5025643 100644 --- a/README_fr.md +++ b/README_fr.md @@ -19,7 +19,7 @@ Logiciel libre de voix sur IP (VoIP) ## Captures d'écran -![](./doc/screenshots/connected.png) +![](./doc/screenshots/Mumble.png) ## Avertissements / informations importantes From f1df98e5871be6cb6476cbe28a37534ff3d26df9 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 6 Jun 2021 10:43:59 +0200 Subject: [PATCH 19/27] fix --- scripts/install | 2 +- scripts/upgrade | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index 35bc3a1..5c59b94 100644 --- a/scripts/install +++ b/scripts/install @@ -152,7 +152,7 @@ Port : $port Password to join server: $server_password SuperUser Password : $su_passwd Welcome text : $welcometext -Root channel (your mumble server name): $registername +Root channel (your Mumble server name): $registername Final path (where to find your files) : $final_path Mumble configuration file : $mumble_conf diff --git a/scripts/upgrade b/scripts/upgrade index c1c607c..2f97377 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -198,7 +198,7 @@ Port : $port Password to join server: $server_password SuperUser Password : $su_passwd Welcome text : $welcometext -Root channel (your mumble server name): $registername +Root channel (your Mumble server name): $registername Final path (where to find your files) : $final_path Mumble configuration file : $mumble_conf From a533c861c350c2d725ab19b86aad2a7b336d1fed Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 6 Jun 2021 16:22:26 +0200 Subject: [PATCH 20/27] Update mumble-server.ini --- conf/mumble-server.ini | 360 ++++++++++++++++++++++++++--------------- 1 file changed, 228 insertions(+), 132 deletions(-) diff --git a/conf/mumble-server.ini b/conf/mumble-server.ini index 8778834..921fd80 100644 --- a/conf/mumble-server.ini +++ b/conf/mumble-server.ini @@ -1,181 +1,277 @@ -# Murmur configuration file. -# -# General notes: -# * Settings in this file are default settings and many of them can be overridden -# with virtual server specific configuration via the Ice or DBus interface. -# * Due to the way this configuration file is read some rules have to be -# followed when specifying variable values (as in variable = value): -# * Make sure to quote the value when using commas in strings or passwords. -# NOT variable = super,secret BUT variable = "super,secret" -# * Make sure to escape special characters like '\' or '"' correctly -# NOT variable = """ BUT variable = "\"" -# NOT regex = \w* BUT regex = \\w* +; Murmur configuration file. +; +; General notes: +; * Settings in this file are default settings and many of them can be overridden +; with virtual server specific configuration via the Ice or DBus interface. +; * Due to the way this configuration file is read some rules have to be +; followed when specifying variable values (as in variable = value): +; * Make sure to quote the value when using commas in strings or passwords. +; NOT variable = super,secret BUT variable = "super,secret" +; * Make sure to escape special characters like '\' or '"' correctly +; NOT variable = """ BUT variable = "\"" +; NOT regex = \w* BUT regex = \\w* -# Path to database. If blank, will search for -# murmur.sqlite in default locations or create it if not found. +; Path to database. If blank, will search for +; murmur.sqlite in default locations or create it if not found. database=__FINALPATH__/mumble-server.sqlite -# If you wish to use something other than SQLite, you'll need to set the name -# of the database above, and also uncomment the below. -# Sticking with SQLite is strongly recommended, as it's the most well tested -# and by far the fastest solution. -# -#dbDriver=QMYSQL -#dbUsername= -#dbPassword= -#dbHost= -#dbPort= -#dbPrefix=murmur_ -#dbOpts= +; Murmur defaults to using SQLite with its default rollback journal. +; In some situations, using SQLite's write-ahead log (WAL) can be +; advantageous. +; If you encounter slowdowns when moving between channels and similar +; operations, enabling the SQLite write-ahead log might help. +; +; To use SQLite's write-ahead log, set sqlite_wal to one of the following +; values: +; +; 0 - Use SQLite's default rollback journal. +; 1 - Use write-ahead log with synchronous=NORMAL. +; If Murmur crashes, the database will be in a consistent state, but +; the most recent changes might be lost if the operating system did +; not write them to disk yet. This option can improve Murmur's +; interactivity on busy servers, or servers with slow storage. +; 2 - Use write-ahead log with synchronous=FULL. +; All database writes are synchronized to disk when they are made. +; If Murmur crashes, the database will be include all completed writes. +;sqlite_wal=0 -# Murmur defaults to not using D-Bus. If you wish to use dbus, which is one of the -# RPC methods available in Murmur, please specify so here. -# +; If you wish to use something other than SQLite, you'll need to set the name +; of the database above, and also uncomment the below. +; Sticking with SQLite is strongly recommended, as it's the most well tested +; and by far the fastest solution. +; +;dbDriver=QMYSQL +;dbUsername= +;dbPassword= +;dbHost= +;dbPort= +;dbPrefix=murmur_ +;dbOpts= + +; Murmur defaults to not using D-Bus. If you wish to use dbus, which is one of the +; RPC methods available in Murmur, please specify so here. +; dbus=system -# Alternate D-Bus service name. Only use if you are running distinct -# murmurd processes connected to the same D-Bus daemon. -#dbusservice=net.sourceforge.mumble.murmur +; Alternate D-Bus service name. Only use if you are running distinct +; murmurd processes connected to the same D-Bus daemon. +;dbusservice=net.sourceforge.mumble.murmur -# If you want to use ZeroC Ice to communicate with Murmur, you need -# to specify the endpoint to use. Since there is no authentication -# with ICE, you should only use it if you trust all the users who have -# shell access to your machine. -# Please see the ICE documentation on how to specify endpoints. +; If you want to use ZeroC Ice to communicate with Murmur, you need +; to specify the endpoint to use. Since there is no authentication +; with ICE, you should only use it if you trust all the users who have +; shell access to your machine. +; Please see the ICE documentation on how to specify endpoints. ice="tcp -h 127.0.0.1 -p 6502" -# Ice primarily uses local sockets. This means anyone who has a -# user account on your machine can connect to the Ice services. -# You can set a plaintext "secret" on the Ice connection, and -# any script attempting to access must then have this secret -# (as context with name "secret"). -# Access is split in read (look only) and write (modify) -# operations. Write access always includes read access, -# unless read is explicitly denied (see note below). -# -# Note that if this is uncommented and with empty content, -# access will be denied. +; Ice primarily uses local sockets. This means anyone who has a +; user account on your machine can connect to the Ice services. +; You can set a plaintext "secret" on the Ice connection, and +; any script attempting to access must then have this secret +; (as context with name "secret"). +; Access is split in read (look only) and write (modify) +; operations. Write access always includes read access, +; unless read is explicitly denied (see note below). +; +; Note that if this is uncommented and with empty content, +; access will be denied. -#icesecretread= +;icesecretread= icesecretwrite= -# How many login attempts do we tolerate from one IP -# inside a given timeframe before we ban the connection? -# Note that this is global (shared between all virtual servers), and that -# it counts both successfull and unsuccessfull connection attempts. -# Set either Attempts or Timeframe to 0 to disable. -#autobanAttempts = 10 -#autobanTimeframe = 120 -#autobanTime = 300 +; If you want to expose Murmur's experimental gRPC API, you +; need to specify an address to bind on. +; Note: not all builds of Murmur support gRPC. If gRPC is not +; available, Murmur will warn you in its log output. +;grpc="127.0.0.1:50051" +; Specifying both a certificate and key file below will cause gRPC to use +; secured, TLS connections. +;grpccert="" +;grpckey="" -# Specifies the file Murmur should log to. By default, Murmur -# logs to the file 'murmur.log'. If you leave this field blank -# on Unix-like systems, Murmur will force itself into foreground -# mode which logs to the console. +; How many login attempts do we tolerate from one IP +; inside a given timeframe before we ban the connection? +; Note that this is global (shared between all virtual servers), and that +; it counts both successfull and unsuccessfull connection attempts. +; Set either Attempts or Timeframe to 0 to disable. +;autobanAttempts = 10 +;autobanTimeframe = 120 +;autobanTime = 300 + +; Specifies the file Murmur should log to. By default, Murmur +; logs to the file 'murmur.log'. If you leave this field blank +; on Unix-like systems, Murmur will force itself into foreground +; mode which logs to the console. logfile=/var/log/mumble-server/__APP__.log -# If set, Murmur will write its process ID to this file -# when running in daemon mode (when the -fg flag is not -# specified on the command line). Only available on -# Unix-like systems. +; If set, Murmur will write its process ID to this file +; when running in daemon mode (when the -fg flag is not +; specified on the command line). Only available on +; Unix-like systems. pidfile=/var/run/mumble-server/__APP__.pid -# The below will be used as defaults for new configured servers. -# If you're just running one server (the default), it's easier to -# configure it here than through D-Bus or Ice. -# -# Welcome message sent to clients when they connect. +; The below will be used as defaults for new configured servers. +; If you're just running one server (the default), it's easier to +; configure it here than through D-Bus or Ice. +; +; Welcome message sent to clients when they connect. +; If the welcome message is set to an empty string, +; no welcome message will be sent to clients. welcometext="__WELCOMETEXT__" -# Port to bind TCP and UDP sockets to. +; Port to bind TCP and UDP sockets to. port=__PORT__ -# Specific IP or hostname to bind to. -# If this is left blank (default), Murmur will bind to all available addresses. -#host= +; Specific IP or hostname to bind to. +; If this is left blank (default), Murmur will bind to all available addresses. +;host= -# Password to join server. +; Password to join server. serverpassword=__SERVER_PASSWORD__ -# Maximum bandwidth (in bits per second) clients are allowed -# to send speech at. +; Maximum bandwidth (in bits per second) clients are allowed +; to send speech at. bandwidth=72000 -# Maximum number of concurrent clients allowed. +; Maximum number of concurrent clients allowed. users=100 -# Amount of users with Opus support needed to force Opus usage, in percent. -# 0 = Always enable Opus, 100 = enable Opus if it's supported by all clients. -#opusthreshold=100 +; Per-user rate limiting +; +; These two settings allow to configure the per-user rate limiter for some +; command messages sent from the client to the server. The messageburst setting +; specifies an amount of messages which are allowed in short bursts. The +; messagelimit setting specifies the number of messages per second allowed over +; a longer period. If a user hits the rate limit, his packages are then ignored +; for some time. Both of these settings have a minimum of 1 as setting either to +; 0 could render the server unusable. +messageburst=5 +messagelimit=1 -# Maximum depth of channel nesting. Note that some databases like MySQL using -# InnoDB will fail when operating on deeply nested channels. -#channelnestinglimit=10 +; Respond to UDP ping packets. +; +; Setting to true exposes the current user count, the maximum user count, and +; the server's maximum bandwidth per client to unauthenticated users. In the +; Mumble client, this information is shown in the Connect dialog. +allowping=true -# Regular expression used to validate channel names. -# (Note that you have to escape backslashes with \ ) -#channelname=[ \\-=\\w\\#\\[\\]\\{\\}\\(\\)\\@\\|]+ +; Amount of users with Opus support needed to force Opus usage, in percent. +; 0 = Always enable Opus, 100 = enable Opus if it's supported by all clients. +;opusthreshold=100 -# Regular expression used to validate user names. -# (Note that you have to escape backslashes with \ ) -#username=[-=\\w\\[\\]\\{\\}\\(\\)\\@\\|\\.]+ +; Maximum depth of channel nesting. Note that some databases like MySQL using +; InnoDB will fail when operating on deeply nested channels. +;channelnestinglimit=10 -# Maximum length of text messages in characters. 0 for no limit. -#textmessagelength=5000 +; Maximum number of channels per server. 0 for unlimited. Note that an +; excessive number of channels will impact server performance +;channelcountlimit=1000 -# Maximum length of text messages in characters, with image data. 0 for no limit. -#imagemessagelength=131072 +; Regular expression used to validate channel names. +; (Note that you have to escape backslashes with \ ) +;channelname=[ \\-=\\w\\#\\[\\]\\{\\}\\(\\)\\@\\|]+ -# Allow clients to use HTML in messages, user comments and channel descriptions? -#allowhtml=true +; Regular expression used to validate user names. +; (Note that you have to escape backslashes with \ ) +;username=[-=\\w\\[\\]\\{\\}\\(\\)\\@\\|\\.]+ -# Murmur retains the per-server log entries in an internal database which -# allows it to be accessed over D-Bus/ICE. -# How many days should such entries be kept? -# Set to 0 to keep forever, or -1 to disable logging to the DB. -#logdays=31 +; Maximum length of text messages in characters. 0 for no limit. +;textmessagelength=5000 -# To enable public server registration, the serverpassword must be blank, and -# this must all be filled out. -# The password here is used to create a registry for the server name; subsequent -# updates will need the same password. Don't lose your password. -# The URL is your own website, and only set the registerHostname for static IP -# addresses. -# Only uncomment the 'registerName' parameter if you wish to give your "Root" channel a custom name. -# +; Maximum length of text messages in characters, with image data. 0 for no limit. +;imagemessagelength=131072 + +; Allow clients to use HTML in messages, user comments and channel descriptions? +;allowhtml=true + +; Murmur retains the per-server log entries in an internal database which +; allows it to be accessed over D-Bus/ICE. +; How many days should such entries be kept? +; Set to 0 to keep forever, or -1 to disable logging to the DB. +;logdays=31 + +; To enable public server registration, the serverpassword must be blank, and +; this must all be filled out. +; The password here is used to create a registry for the server name; subsequent +; updates will need the same password. Don't lose your password. +; The URL is your own website, and only set the registerHostname for static IP +; addresses. +; Only uncomment the 'registerName' parameter if you wish to give your "Root" channel a custom name. +; registerName=__REGISTERNAME__ -#registerPassword=secret -#registerUrl=http://mumble.sourceforge.net/ -#registerHostname= +;registerPassword=secret +;registerUrl=http://www.mumble.info/ +;registerHostname= -# If this option is enabled, the server will announce its presence via the -# bonjour service discovery protocol. To change the name announced by bonjour -# adjust the registerName variable. -# See http://developer.apple.com/networking/bonjour/index.html for more information -# about bonjour. -#bonjour=True +; If this option is enabled, the server will announce its presence via the +; bonjour service discovery protocol. To change the name announced by bonjour +; adjust the registerName variable. +; See http://developer.apple.com/networking/bonjour/index.html for more information +; about bonjour. +;bonjour=True -# If you have a proper SSL certificate, you can provide the filenames here. -# Otherwise, Murmur will create it's own certificate automatically. +; If you have a proper SSL certificate, you can provide the filenames here. +; Otherwise, Murmur will create its own certificate automatically. sslCert=/etc/yunohost/certs/__DOMAIN__/crt.pem sslKey=/etc/yunohost/certs/__DOMAIN__/key.pem -# If Murmur is started as root, which user should it switch to? -# This option is ignored if Murmur isn't started with root privileges. +; The sslDHParams option allows you to specify a PEM-encoded file with +; Diffie-Hellman parameters, which will be used as the default Diffie- +; Hellman parameters for all virtual servers. +; +; Instead of pointing sslDHParams to a file, you can also use the option +; to specify a named set of Diffie-Hellman parameters for Murmur to use. +; Murmur comes bundled with the Diffie-Hellman parameters from RFC 7919. +; These parameters are available by using the following names: +; +; @ffdhe2048, @ffdhe3072, @ffdhe4096, @ffdhe6144, @ffdhe8192 +; +; By default, Murmur uses @ffdhe2048. +;sslDHParams=@ffdhe2048 + +; The sslCiphers option chooses the cipher suites to make available for use +; in SSL/TLS. This option is server-wide, and cannot be set on a +; per-virtual-server basis. +; +; This option is specified using OpenSSL cipher list notation (see +; https://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT). +; +; It is recommended that you try your cipher string using 'openssl ciphers ' +; before setting it here, to get a feel for which cipher suites you will get. +; +; After setting this option, it is recommend that you inspect your Murmur log +; to ensure that Murmur is using the cipher suites that you expected it to. +; +; Note: Changing this option may impact the backwards compatibility of your +; Murmur server, and can remove the ability for older Mumble clients to be able +; to connect to it. +;sslCiphers=EECDH+AESGCM:EDH+aRSA+AESGCM:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:AES256-SHA:AES128-SHA + +; If Murmur is started as root, which user should it switch to? +; This option is ignored if Murmur isn't started with root privileges. uname=mumble-server -# If this options is enabled, only clients which have a certificate are allowed -# to connect. -#certrequired=False +; If this options is enabled, only clients which have a certificate are allowed +; to connect. +;certrequired=False -# If enabled, clients are sent information about the servers version and operating -# system. -#sendversion=True +; If enabled, clients are sent information about the servers version and operating +; system. +;sendversion=True -# You can configure any of the configuration options for Ice here. We recommend -# leave the defaults as they are. -# Please note that this section has to be last in the configuration file. -# +; This sets password hash storage to legacy mode (1.2.4 and before) +; (Note that setting this to true is insecure and should not be used unless absolutely necessary) +;legacyPasswordHash=false + +; By default a strong amount of PBKDF2 iterations are chosen automatically. If >0 this setting +; overrides the automatic benchmark and forces a specific number of iterations. +; (Note that you should only change this value if you know what you are doing) +;kdfIterations=-1 + +; You can configure any of the configuration options for Ice here. We recommend +; leave the defaults as they are. +; Please note that this section has to be last in the configuration file. +; [Ice] Ice.Warn.UnknownProperties=1 Ice.MessageSizeMax=65536 From c6b10e831f0d1bb4b58e761f8595ef2985d715e3 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 6 Jun 2021 16:29:06 +0200 Subject: [PATCH 21/27] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 5c59b94..5ee1ff9 100644 --- a/scripts/install +++ b/scripts/install @@ -119,7 +119,7 @@ usermod --append --groups ssl-cert mumble-server # || true temporarily to ignore a bug in murmurd 1.3.0 # https://github.com/mumble-voip/mumble/issues/3911 -murmurd -ini "$mumble_conf" -supw "$su_passwd" "$instance_id" || true +murmurd -ini "$mumble_conf" -supw "$su_passwd" "$instance_id" || true 2>&1 #================================================= # Disable default server installed by Debian's package From e5ddf82a54fb293d914aad0b2bb33136b555af0c Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 6 Jun 2021 16:31:32 +0200 Subject: [PATCH 22/27] fix --- conf/systemd.service | 3 +-- scripts/install | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/conf/systemd.service b/conf/systemd.service index ecce853..777bd6c 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -7,8 +7,7 @@ After=network.target User=mumble-server Group=mumble-server Type=forking -# https://www.freedesktop.org/software/systemd/man/systemd.exec.html#RuntimeDirectory= -RuntimeDirectory=mumble-server +#RuntimeDirectory=mumble-server ExecStart=/usr/sbin/murmurd -ini __FINALPATH__/mumble-server.ini PIDFile=/var/run/mumble-server/__APP__.pid ExecReload=/bin/kill -s HUP $MAINPID diff --git a/scripts/install b/scripts/install index 5ee1ff9..96f85d8 100644 --- a/scripts/install +++ b/scripts/install @@ -119,7 +119,7 @@ usermod --append --groups ssl-cert mumble-server # || true temporarily to ignore a bug in murmurd 1.3.0 # https://github.com/mumble-voip/mumble/issues/3911 -murmurd -ini "$mumble_conf" -supw "$su_passwd" "$instance_id" || true 2>&1 +ynh_exec_warn_less murmurd -ini "$mumble_conf" -supw "$su_passwd" "$instance_id" || true #================================================= # Disable default server installed by Debian's package From 5f642084e17d2923fc1829f137f7d63e149b34df Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 6 Jun 2021 18:17:33 +0200 Subject: [PATCH 23/27] Update upgrade --- scripts/upgrade | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/upgrade b/scripts/upgrade index 2f97377..0f38b35 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -99,6 +99,13 @@ if [ -z "$instance_id" ]; then ynh_app_setting_set "$app" instance_id "$instance_id" fi +if [ -z "$registername" ]; +then + registername=$(ynh_app_setting_get "$app" registerName) + ynh_app_setting_set "$app" registername "$registername" + ynh_app_setting_delete "$app" registerName +fi + #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= From f5a8322330b00b752a2abf7ab5f6ddeaea97e63b Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 16 Jul 2021 11:06:30 +0200 Subject: [PATCH 24/27] Update systemd.service --- conf/systemd.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/systemd.service b/conf/systemd.service index 777bd6c..8079600 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -7,7 +7,7 @@ After=network.target User=mumble-server Group=mumble-server Type=forking -#RuntimeDirectory=mumble-server +RuntimeDirectory=mumble-server ExecStart=/usr/sbin/murmurd -ini __FINALPATH__/mumble-server.ini PIDFile=/var/run/mumble-server/__APP__.pid ExecReload=/bin/kill -s HUP $MAINPID From 353546d47097fc7f05d7d0abdf81f6d31dc93bdd Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 16 Jul 2021 11:12:07 +0200 Subject: [PATCH 25/27] Update remove --- scripts/remove | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/remove b/scripts/remove index 5ea2a88..f150822 100644 --- a/scripts/remove +++ b/scripts/remove @@ -73,7 +73,7 @@ fi # REMOVE OTHER FILES #================================================= -ynh_secure_remove "/var/log/mumble-server/$app.log" +ynh_secure_remove --file="/var/log/mumble-server/$app.log" #================================================= # END OF SCRIPT From 004391fc47b771792de83dee1f37e9a6bada226c Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 16 Jul 2021 11:26:27 +0200 Subject: [PATCH 26/27] Update upgrade --- scripts/upgrade | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index 0f38b35..50b29cc 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -99,11 +99,10 @@ if [ -z "$instance_id" ]; then ynh_app_setting_set "$app" instance_id "$instance_id" fi -if [ -z "$registername" ]; -then - registername=$(ynh_app_setting_get "$app" registerName) - ynh_app_setting_set "$app" registername "$registername" - ynh_app_setting_delete "$app" registerName +if [ -z "$registername" ]; then + registername=$(ynh_app_setting_get "$app" registerName) + ynh_app_setting_set "$app" registername "$registername" + ynh_app_setting_delete "$app" registerName fi #================================================= From 4108f0cc21fe28c2218db9f2bbfab4721b35e506 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 4 Aug 2021 19:26:51 +0200 Subject: [PATCH 27/27] Update upgrade --- scripts/upgrade | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/upgrade b/scripts/upgrade index 50b29cc..ab975cc 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -133,6 +133,7 @@ ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies #================================================= # mumble server conf.ini #================================================= +ynh_script_progression --message="Updating a configuration file..." --weight=1 mkdir -p $final_path @@ -182,6 +183,7 @@ systemctl disable mumble-server --quiet #================================================= # ADVERTISE SERVICE IN ADMIN PANEL #================================================= +ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 # Add Mumble as a YunoHost service yunohost service add $app --description="Mumble server" --log="/var/log/mumble-server/$app.log" --needs_exposed_ports="$port"