1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/mumbleserver_ynh.git synced 2024-09-03 19:46:03 +02:00

Merge pull request #42 from YunoHost-Apps/testing

Testing
This commit is contained in:
Éric Gaspar 2021-08-09 19:15:17 +02:00 committed by GitHub
commit fc6ca3fa6a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 408 additions and 276 deletions

55
.github/ISSUE_TEMPLATE.md vendored Normal file
View file

@ -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.*

16
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View file

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

View file

@ -1,21 +1,31 @@
# Mumble server for YunoHost <!--
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator
It shall NOT be edited by hand.
-->
# 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) [![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)* *[Lire ce readme en français.](./README_fr.md)*
> *This package allows you to install Mumble server quickly and simply on a YunoHost server. > *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 ## 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 ## Screenshots
![](https://www.mumble.info/client-screenshots/connected.png) ![](./doc/screenshots/Mumble.png)
## Disclaimers / important information
#### Setup #### 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) - [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 * Official app website: https://mumble.info
* YunoHost documentation: If specific documentation is needed, feel free to contribute. * Official admin documentation: https://wiki.mumble.info/wiki/Main_Page
* Upstream app code repository: https://github.com/mumble-voip/mumble
## YunoHost specific features * YunoHost documentation for this app: https://yunohost.org/app_mumbleserver
* Report a bug: https://github.com/YunoHost-Apps/mumbleserver_ynh/issues
#### 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%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/)
## 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
---
## Developer info ## Developer info
@ -67,3 +51,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/mumbleserver_ynh/tree
or or
sudo yunohost app upgrade mumbleserver -u https://github.com/YunoHost-Apps/mumbleserver_ynh/tree/testing --debug 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

View file

@ -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) [![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. > *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, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.*
## Vue d'ensemble ## 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 ## Captures d'écran
![](https://www.mumble.info/client-screenshots/connected.png) ![](./doc/screenshots/Mumble.png)
## Avertissements / informations importantes
## Configuration ## 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) - [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 * Site officiel de l'app : https://mumble.info
* Documentation YunoHost : Si une documentation spécifique est nécessaire, n'hésitez pas à contribuer. * 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
## Caractéristiques spécifiques YunoHost * Documentation YunoHost pour cette app : https://yunohost.org/app_mumbleserver
* Signaler un bug : https://github.com/YunoHost-Apps/mumbleserver_ynh/issues
#### 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%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/)
## 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
---
## Informations pour les développeurs ## Informations pour les développeurs
@ -67,3 +47,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/mumbleserver_ynh/tree
ou ou
sudo yunohost app upgrade mumbleserver -u https://github.com/YunoHost-Apps/mumbleserver_ynh/tree/testing --debug 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

View file

@ -1,7 +1,7 @@
;; Test complet ;; Test complet
auto_remove=1 auto_remove=1
; Manifest ; Manifest
domain="domain.tld" (DOMAIN) domain="domain.tld"
welcometext="Welcome to my Mumble server" welcometext="Welcome to my Mumble server"
registername="Root" registername="Root"
; Checks ; Checks
@ -12,14 +12,12 @@
setup_private=0 setup_private=0
setup_public=0 setup_public=0
upgrade=1 upgrade=1
upgrade=1 from_commit=d9ece341d532bd5eac9af9ce191da7b62d1e8bb1
backup_restore=1 backup_restore=1
multi_instance=1 multi_instance=1
wrong_user=0
wrong_path=0
port_already_use=0
;;; Options ;;; Options
Email= Email=
Notification=none Notification=none
;;; Upgrade options ;;; Upgrade options
; commit=CommitHash ; commit=d9ece341d532bd5eac9af9ce191da7b62d1e8bb1
name=Name and date of the commit. name=Merge pull request #40 from YunoHost-Apps/testing

View file

@ -1,181 +1,277 @@
# Murmur configuration file. ; Murmur configuration file.
# ;
# General notes: ; General notes:
# * Settings in this file are default settings and many of them can be overridden ; * 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. ; 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 ; * Due to the way this configuration file is read some rules have to be
# followed when specifying variable values (as in variable = value): ; followed when specifying variable values (as in variable = value):
# * Make sure to quote the value when using commas in strings or passwords. ; * Make sure to quote the value when using commas in strings or passwords.
# NOT variable = super,secret BUT variable = "super,secret" ; NOT variable = super,secret BUT variable = "super,secret"
# * Make sure to escape special characters like '\' or '"' correctly ; * Make sure to escape special characters like '\' or '"' correctly
# NOT variable = """ BUT variable = "\"" ; NOT variable = """ BUT variable = "\""
# NOT regex = \w* BUT regex = \\w* ; NOT regex = \w* BUT regex = \\w*
# Path to database. If blank, will search for ; Path to database. If blank, will search for
# murmur.sqlite in default locations or create it if not found. ; murmur.sqlite in default locations or create it if not found.
database=__FINALPATH__/mumble-server.sqlite database=__FINALPATH__/mumble-server.sqlite
# If you wish to use something other than SQLite, you'll need to set the name ; Murmur defaults to using SQLite with its default rollback journal.
# of the database above, and also uncomment the below. ; In some situations, using SQLite's write-ahead log (WAL) can be
# Sticking with SQLite is strongly recommended, as it's the most well tested ; advantageous.
# and by far the fastest solution. ; If you encounter slowdowns when moving between channels and similar
# ; operations, enabling the SQLite write-ahead log might help.
#dbDriver=QMYSQL ;
#dbUsername= ; To use SQLite's write-ahead log, set sqlite_wal to one of the following
#dbPassword= ; values:
#dbHost= ;
#dbPort= ; 0 - Use SQLite's default rollback journal.
#dbPrefix=murmur_ ; 1 - Use write-ahead log with synchronous=NORMAL.
#dbOpts= ; 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 ; If you wish to use something other than SQLite, you'll need to set the name
# RPC methods available in Murmur, please specify so here. ; 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 dbus=system
# Alternate D-Bus service name. Only use if you are running distinct ; Alternate D-Bus service name. Only use if you are running distinct
# murmurd processes connected to the same D-Bus daemon. ; murmurd processes connected to the same D-Bus daemon.
#dbusservice=net.sourceforge.mumble.murmur ;dbusservice=net.sourceforge.mumble.murmur
# If you want to use ZeroC Ice to communicate with Murmur, you need ; If you want to use ZeroC Ice to communicate with Murmur, you need
# to specify the endpoint to use. Since there is no authentication ; 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 ; with ICE, you should only use it if you trust all the users who have
# shell access to your machine. ; shell access to your machine.
# Please see the ICE documentation on how to specify endpoints. ; Please see the ICE documentation on how to specify endpoints.
ice="tcp -h 127.0.0.1 -p 6502" ice="tcp -h 127.0.0.1 -p 6502"
# Ice primarily uses local sockets. This means anyone who has a ; Ice primarily uses local sockets. This means anyone who has a
# user account on your machine can connect to the Ice services. ; user account on your machine can connect to the Ice services.
# You can set a plaintext "secret" on the Ice connection, and ; You can set a plaintext "secret" on the Ice connection, and
# any script attempting to access must then have this secret ; any script attempting to access must then have this secret
# (as context with name "secret"). ; (as context with name "secret").
# Access is split in read (look only) and write (modify) ; Access is split in read (look only) and write (modify)
# operations. Write access always includes read access, ; operations. Write access always includes read access,
# unless read is explicitly denied (see note below). ; unless read is explicitly denied (see note below).
# ;
# Note that if this is uncommented and with empty content, ; Note that if this is uncommented and with empty content,
# access will be denied. ; access will be denied.
#icesecretread= ;icesecretread=
icesecretwrite= icesecretwrite=
# How many login attempts do we tolerate from one IP ; If you want to expose Murmur's experimental gRPC API, you
# inside a given timeframe before we ban the connection? ; need to specify an address to bind on.
# Note that this is global (shared between all virtual servers), and that ; Note: not all builds of Murmur support gRPC. If gRPC is not
# it counts both successfull and unsuccessfull connection attempts. ; available, Murmur will warn you in its log output.
# Set either Attempts or Timeframe to 0 to disable. ;grpc="127.0.0.1:50051"
#autobanAttempts = 10 ; Specifying both a certificate and key file below will cause gRPC to use
#autobanTimeframe = 120 ; secured, TLS connections.
#autobanTime = 300 ;grpccert=""
;grpckey=""
# Specifies the file Murmur should log to. By default, Murmur ; How many login attempts do we tolerate from one IP
# logs to the file 'murmur.log'. If you leave this field blank ; inside a given timeframe before we ban the connection?
# on Unix-like systems, Murmur will force itself into foreground ; Note that this is global (shared between all virtual servers), and that
# mode which logs to the console. ; 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 logfile=/var/log/mumble-server/__APP__.log
# If set, Murmur will write its process ID to this file ; If set, Murmur will write its process ID to this file
# when running in daemon mode (when the -fg flag is not ; when running in daemon mode (when the -fg flag is not
# specified on the command line). Only available on ; specified on the command line). Only available on
# Unix-like systems. ; Unix-like systems.
pidfile=/var/run/mumble-server/__APP__.pid pidfile=/var/run/mumble-server/__APP__.pid
# The below will be used as defaults for new configured servers. ; The below will be used as defaults for new configured servers.
# If you're just running one server (the default), it's easier to ; If you're just running one server (the default), it's easier to
# configure it here than through D-Bus or Ice. ; configure it here than through D-Bus or Ice.
# ;
# Welcome message sent to clients when they connect. ; Welcome message sent to clients when they connect.
welcometext="__WELCOME__" ; 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__ port=__PORT__
# Specific IP or hostname to bind to. ; Specific IP or hostname to bind to.
# If this is left blank (default), Murmur will bind to all available addresses. ; If this is left blank (default), Murmur will bind to all available addresses.
#host= ;host=
# Password to join server. ; Password to join server.
serverpassword=__SRV_PWD__ serverpassword=__SERVER_PASSWORD__
# Maximum bandwidth (in bits per second) clients are allowed ; Maximum bandwidth (in bits per second) clients are allowed
# to send speech at. ; to send speech at.
bandwidth=72000 bandwidth=72000
# Maximum number of concurrent clients allowed. ; Maximum number of concurrent clients allowed.
users=100 users=100
# Amount of users with Opus support needed to force Opus usage, in percent. ; Per-user rate limiting
# 0 = Always enable Opus, 100 = enable Opus if it's supported by all clients. ;
#opusthreshold=100 ; 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 ; Respond to UDP ping packets.
# InnoDB will fail when operating on deeply nested channels. ;
#channelnestinglimit=10 ; 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. ; Amount of users with Opus support needed to force Opus usage, in percent.
# (Note that you have to escape backslashes with \ ) ; 0 = Always enable Opus, 100 = enable Opus if it's supported by all clients.
#channelname=[ \\-=\\w\\#\\[\\]\\{\\}\\(\\)\\@\\|]+ ;opusthreshold=100
# Regular expression used to validate user names. ; Maximum depth of channel nesting. Note that some databases like MySQL using
# (Note that you have to escape backslashes with \ ) ; InnoDB will fail when operating on deeply nested channels.
#username=[-=\\w\\[\\]\\{\\}\\(\\)\\@\\|\\.]+ ;channelnestinglimit=10
# Maximum length of text messages in characters. 0 for no limit. ; Maximum number of channels per server. 0 for unlimited. Note that an
#textmessagelength=5000 ; excessive number of channels will impact server performance
;channelcountlimit=1000
# Maximum length of text messages in characters, with image data. 0 for no limit. ; Regular expression used to validate channel names.
#imagemessagelength=131072 ; (Note that you have to escape backslashes with \ )
;channelname=[ \\-=\\w\\#\\[\\]\\{\\}\\(\\)\\@\\|]+
# Allow clients to use HTML in messages, user comments and channel descriptions? ; Regular expression used to validate user names.
#allowhtml=true ; (Note that you have to escape backslashes with \ )
;username=[-=\\w\\[\\]\\{\\}\\(\\)\\@\\|\\.]+
# Murmur retains the per-server log entries in an internal database which ; Maximum length of text messages in characters. 0 for no limit.
# allows it to be accessed over D-Bus/ICE. ;textmessagelength=5000
# 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 ; Maximum length of text messages in characters, with image data. 0 for no limit.
# this must all be filled out. ;imagemessagelength=131072
# 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=__REGISTER__
#registerPassword=secret
#registerUrl=http://mumble.sourceforge.net/
#registerHostname=
# If this option is enabled, the server will announce its presence via the ; Allow clients to use HTML in messages, user comments and channel descriptions?
# bonjour service discovery protocol. To change the name announced by bonjour ;allowhtml=true
# 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. ; Murmur retains the per-server log entries in an internal database which
# Otherwise, Murmur will create it's own certificate automatically. ; 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://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 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 sslCert=/etc/yunohost/certs/__DOMAIN__/crt.pem
sslKey=/etc/yunohost/certs/__DOMAIN__/key.pem sslKey=/etc/yunohost/certs/__DOMAIN__/key.pem
# If Murmur is started as root, which user should it switch to? ; The sslDHParams option allows you to specify a PEM-encoded file with
# This option is ignored if Murmur isn't started with root privileges. ; 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 <string>'
; 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 uname=mumble-server
# If this options is enabled, only clients which have a certificate are allowed ; If this options is enabled, only clients which have a certificate are allowed
# to connect. ; to connect.
#certrequired=False ;certrequired=False
# If enabled, clients are sent information about the servers version and operating ; If enabled, clients are sent information about the servers version and operating
# system. ; system.
#sendversion=True ;sendversion=True
# You can configure any of the configuration options for Ice here. We recommend ; This sets password hash storage to legacy mode (1.2.4 and before)
# leave the defaults as they are. ; (Note that setting this to true is insecure and should not be used unless absolutely necessary)
# Please note that this section has to be last in the configuration file. ;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]
Ice.Warn.UnknownProperties=1 Ice.Warn.UnknownProperties=1
Ice.MessageSizeMax=65536 Ice.MessageSizeMax=65536

View file

@ -7,7 +7,6 @@ After=network.target
User=mumble-server User=mumble-server
Group=mumble-server Group=mumble-server
Type=forking 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 ExecStart=/usr/sbin/murmurd -ini __FINALPATH__/mumble-server.ini
PIDFile=/var/run/mumble-server/__APP__.pid PIDFile=/var/run/mumble-server/__APP__.pid

5
doc/DISCLAIMER.md Normal file
View file

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

5
doc/DISCLAIMER_fr.md Normal file
View file

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

BIN
doc/screenshots/Mumble.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

View file

@ -3,11 +3,17 @@
"id": "mumbleserver", "id": "mumbleserver",
"packaging_format": 1, "packaging_format": 1,
"description": { "description": {
"en": "Low-latency, high quality voice chat software (VoIP).", "en": "Low-latency, high quality voice chat software (VoIP)",
"fr": "Logiciel libre de voix sur IP (VoIP)." "fr": "Logiciel libre de voix sur IP (VoIP)"
}, },
"version": "1.3.0~ynh1", "version": "1.3.0~ynh2",
"url": "https://mumble.info", "url": "https://mumble.info",
"upstream": {
"license": "BSD-3-Clause",
"website": "https://mumble.info",
"admindoc": "https://wiki.mumble.info/wiki/Main_Page",
"code": "https://github.com/mumble-voip/mumble"
},
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"maintainer": { "maintainer": {
"name": "", "name": "",
@ -18,7 +24,7 @@
"email": "jean-baptiste@holcroft.fr" "email": "jean-baptiste@holcroft.fr"
}], }],
"requirements": { "requirements": {
"yunohost": ">= 3.8.1" "yunohost": ">= 4.2.4"
}, },
"multi_instance": true, "multi_instance": true,
"services": [ "services": [
@ -28,10 +34,6 @@
{ {
"name": "domain", "name": "domain",
"type": "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" "example": "domain.org"
}, },
{ {

View file

@ -26,7 +26,7 @@ ynh_abort_if_errors
domain=$YNH_APP_ARG_DOMAIN domain=$YNH_APP_ARG_DOMAIN
app=$YNH_APP_INSTANCE_NAME app=$YNH_APP_INSTANCE_NAME
welcometext=$YNH_APP_ARG_WELCOMETEXT welcometext=$YNH_APP_ARG_WELCOMETEXT
registerName=$YNH_APP_ARG_REGISTERNAME registername=$YNH_APP_ARG_REGISTERNAME
instance_id=$YNH_APP_INSTANCE_NUMBER instance_id=$YNH_APP_INSTANCE_NUMBER
server_password=$(ynh_string_random) 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=server_password --value="$server_password"
ynh_app_setting_set --app=$app --key=su_passwd --value="$su_passwd" 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=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" ynh_app_setting_set --app=$app --key=instance_id --value="$instance_id"
#================================================= #=================================================
@ -59,13 +59,14 @@ ynh_app_setting_set --app=$app --key=instance_id --value="$instance_id"
#================================================= #=================================================
# FIND AND OPEN A PORT # 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 ynh_app_setting_set --app=$app --key=port --value=$port
# Open port in firewall # Open the port
yunohost firewall allow Both "$port" ynh_script_progression --message="Configuring firewall..." --weight=1
ynh_exec_warn_less yunohost firewall allow Both $port
#================================================= #=================================================
# INSTALL DEPENDENCIES # INSTALL DEPENDENCIES
@ -73,7 +74,7 @@ yunohost firewall allow Both "$port"
ynh_script_progression --message="Installing dependencies..." --weight=4 ynh_script_progression --message="Installing dependencies..." --weight=4
# Install Mumble Debian package via apt # Install Mumble Debian package via apt
ynh_install_app_dependencies $pkg_dependencies ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies
#================================================= #=================================================
# SPECIFIC SETUP # SPECIFIC SETUP
@ -87,17 +88,7 @@ ynh_app_setting_set --app=$app --key=final_path --value=$final_path
# Configuring with given settings # Configuring with given settings
mumble_conf="$final_path/mumble-server.ini" mumble_conf="$final_path/mumble-server.ini"
cp ../conf/mumble-server.ini "$mumble_conf" ynh_add_config --template="../conf/mumble-server.ini" --destination="$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"
#================================================= #=================================================
# SETUP SYSTEMD # SETUP SYSTEMD
@ -116,9 +107,10 @@ chmod -R 770 "$final_path"
chown -R :mumble-server "$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 usermod --append --groups ssl-cert mumble-server
#================================================= #=================================================
@ -127,7 +119,7 @@ usermod --append --groups ssl-cert mumble-server
# || true temporarily to ignore a bug in murmurd 1.3.0 # || true temporarily to ignore a bug in murmurd 1.3.0
# https://github.com/mumble-voip/mumble/issues/3911 # https://github.com/mumble-voip/mumble/issues/3911
murmurd -ini "$mumble_conf" -supw "$su_passwd" "$instance_id" || true ynh_exec_warn_less murmurd -ini "$mumble_conf" -supw "$su_passwd" "$instance_id" || true
#================================================= #=================================================
# Disable default server installed by Debian's package # Disable default server installed by Debian's package
@ -142,14 +134,14 @@ systemctl disable mumble-server --quiet
ynh_script_progression --message="Integrating service in YunoHost..." ynh_script_progression --message="Integrating service in YunoHost..."
# Add Mumble as a YunoHost service # 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 # START SYSTEMD SERVICE
#================================================= #=================================================
ynh_script_progression --message="Starting a systemd service..." --weight=3 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 # SEND README TO ADMIN
@ -160,7 +152,7 @@ Port : $port
Password to join server: $server_password Password to join server: $server_password
SuperUser Password : $su_passwd SuperUser Password : $su_passwd
Welcome text : $welcometext 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 Final path (where to find your files) : $final_path
Mumble configuration file : $mumble_conf Mumble configuration file : $mumble_conf

View file

@ -26,7 +26,7 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path)
# REMOVE SERVICE FROM ADMIN PANEL # 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 if ynh_exec_warn_less yunohost service status $app >/dev/null
then then
ynh_script_progression --message="Removing $app service integration..." --weight=1 ynh_script_progression --message="Removing $app service integration..." --weight=1
@ -73,7 +73,7 @@ fi
# REMOVE OTHER FILES # 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 # END OF SCRIPT

View file

@ -79,7 +79,7 @@ systemctl disable mumble-server --quiet
ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 ynh_script_progression --message="Integrating service in YunoHost..." --weight=1
# Add Mumble as a YunoHost service # 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 # RESTORE SYSTEMD
@ -94,7 +94,7 @@ systemctl enable $app.service --quiet
#================================================= #=================================================
ynh_script_progression --message="Starting a systemd service..." --weight=3 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 # END OF SCRIPT

View file

@ -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) server_password=$(ynh_app_setting_get --app=$app --key=server_password)
su_passwd=$(ynh_app_setting_get --app=$app --key=su_passwd) su_passwd=$(ynh_app_setting_get --app=$app --key=su_passwd)
welcometext=$(ynh_app_setting_get --app=$app --key=welcometext) 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) port=$(ynh_app_setting_get --app=$app --key=port)
final_path=$(ynh_app_setting_get --app=$app --key=final_path) final_path=$(ynh_app_setting_get --app=$app --key=final_path)
instance_id=$(ynh_app_setting_get --app=$app --key=instance_id) instance_id=$(ynh_app_setting_get --app=$app --key=instance_id)
@ -55,9 +55,9 @@ if [ -z "$server_password" ]; then
| grep "welcometext=" \ | grep "welcometext=" \
| sed "s/welcometext=//") | sed "s/welcometext=//")
registerName=$(cat "$old_mumble_conf" \ registername=$(cat "$old_mumble_conf" \
| grep "registerName=" \ | grep "registerName=" \
| sed "s/registerName=//") | sed "s/registername=//")
# we don't know what the previous password was, let's regenerate it # we don't know what the previous password was, let's regenerate it
su_passwd=$(ynh_string_random) 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=server_password --value=$server_password
ynh_app_setting_set --app=$app --key=welcometext --value=$welcometext 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=su_passwd --value=$su_passwd
ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=domain --value=$domain
@ -99,6 +99,12 @@ if [ -z "$instance_id" ]; then
ynh_app_setting_set "$app" instance_id "$instance_id" ynh_app_setting_set "$app" instance_id "$instance_id"
fi 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 # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
#================================================= #=================================================
@ -120,32 +126,21 @@ ynh_abort_if_errors
ynh_script_progression --message="Upgrading dependencies..." --weight=6 ynh_script_progression --message="Upgrading dependencies..." --weight=6
# Install Mumble Debian package via apt # Install Mumble Debian package via apt
ynh_install_app_dependencies $pkg_dependencies ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies
#================================================= #=================================================
# SPECIFIC UPGRADE # SPECIFIC UPGRADE
#================================================= #=================================================
# mumble server conf.ini # mumble server conf.ini
#================================================= #=================================================
ynh_script_progression --message="Updating a configuration file..." --weight=1
mkdir -p $final_path mkdir -p $final_path
# Configuring with given settings # Configuring with given settings
mumble_conf="$final_path/mumble-server.ini" mumble_conf="$final_path/mumble-server.ini"
ynh_backup_if_checksum_is_different "$mumble_conf" ynh_add_config --template="../conf/mumble-server.ini" --destination="$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"
#================================================= #=================================================
# SETUP SYSTEMD # SETUP SYSTEMD
@ -188,16 +183,17 @@ systemctl disable mumble-server --quiet
#================================================= #=================================================
# ADVERTISE SERVICE IN ADMIN PANEL # ADVERTISE SERVICE IN ADMIN PANEL
#================================================= #=================================================
ynh_script_progression --message="Integrating service in YunoHost..." --weight=1
# Add Mumble as a YunoHost service # 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 # START SYSTEMD SERVICE
#================================================= #=================================================
ynh_script_progression --message="Starting a systemd service..." --weight=3 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 # SEND README TO ADMIN
@ -210,7 +206,7 @@ Port : $port
Password to join server: $server_password Password to join server: $server_password
SuperUser Password : $su_passwd SuperUser Password : $su_passwd
Welcome text : $welcometext 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 Final path (where to find your files) : $final_path
Mumble configuration file : $mumble_conf Mumble configuration file : $mumble_conf