mirror of
https://github.com/YunoHost-Apps/jitsi_ynh.git
synced 2024-09-03 19:35:57 +02:00
Merge pull request #79 from YunoHost-Apps/upgrade
Upgrade to 1.0.6155~ynh1
This commit is contained in:
commit
625b07a1d9
17 changed files with 363 additions and 163 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,2 +0,0 @@
|
||||||
*~
|
|
||||||
*.sw[op]
|
|
21
README.md
21
README.md
|
@ -5,7 +5,7 @@ It shall NOT be edited by hand.
|
||||||
|
|
||||||
# Jitsi Meet for YunoHost
|
# Jitsi Meet for YunoHost
|
||||||
|
|
||||||
[![Integration level](https://dash.yunohost.org/integration/jitsi.svg)](https://dash.yunohost.org/appci/app/jitsi) ![](https://ci-apps.yunohost.org/ci/badges/jitsi.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/jitsi.maintain.svg)
|
[![Integration level](https://dash.yunohost.org/integration/jitsi.svg)](https://dash.yunohost.org/appci/app/jitsi) ![Working status](https://ci-apps.yunohost.org/ci/badges/jitsi.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/jitsi.maintain.svg)
|
||||||
[![Install Jitsi Meet with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=jitsi)
|
[![Install Jitsi Meet with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=jitsi)
|
||||||
|
|
||||||
*[Lire ce readme en français.](./README_fr.md)*
|
*[Lire ce readme en français.](./README_fr.md)*
|
||||||
|
@ -18,13 +18,13 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in
|
||||||
Jitsi Meet is a libre software (Apache) WebRTC JavaScript app that uses Jitsi Videobridge to provide high quality, secure, and scalable video conferences.
|
Jitsi Meet is a libre software (Apache) WebRTC JavaScript app that uses Jitsi Videobridge to provide high quality, secure, and scalable video conferences.
|
||||||
|
|
||||||
|
|
||||||
**Shipped version:** 1.0.5913~ynh3
|
**Shipped version:** 1.0.6155~ynh1
|
||||||
|
|
||||||
**Demo:** https://meet.jit.si/
|
**Demo:** https://meet.jit.si/
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
![](./doc/screenshots/screenshot.png)
|
![Screenshot of Jitsi Meet](./doc/screenshots/screenshot.png)
|
||||||
|
|
||||||
## Disclaimers / important information
|
## Disclaimers / important information
|
||||||
|
|
||||||
|
@ -38,21 +38,22 @@ Jitsi Meet is a libre software (Apache) WebRTC JavaScript app that uses Jitsi Vi
|
||||||
|
|
||||||
## Documentation and resources
|
## Documentation and resources
|
||||||
|
|
||||||
* Official app website: https://jitsi.org/
|
* Official app website: <https://jitsi.org/>
|
||||||
* Official user documentation: https://jitsi.org/user-faq/
|
* Official user documentation: <https://jitsi.org/user-faq/>
|
||||||
* Upstream app code repository: https://github.com/jitsi/jitsi-meet
|
* Upstream app code repository: <https://github.com/jitsi/jitsi-meet>
|
||||||
* YunoHost documentation for this app: https://yunohost.org/app_jitsi
|
* YunoHost documentation for this app: <https://yunohost.org/app_jitsi>
|
||||||
* Report a bug: https://github.com/YunoHost-Apps/jitsi_ynh/issues
|
* Report a bug: <https://github.com/YunoHost-Apps/jitsi_ynh/issues>
|
||||||
|
|
||||||
## Developer info
|
## Developer info
|
||||||
|
|
||||||
Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/jitsi_ynh/tree/testing).
|
Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/jitsi_ynh/tree/testing).
|
||||||
|
|
||||||
To try the testing branch, please proceed like that.
|
To try the testing branch, please proceed like that.
|
||||||
```
|
|
||||||
|
``` bash
|
||||||
sudo yunohost app install https://github.com/YunoHost-Apps/jitsi_ynh/tree/testing --debug
|
sudo yunohost app install https://github.com/YunoHost-Apps/jitsi_ynh/tree/testing --debug
|
||||||
or
|
or
|
||||||
sudo yunohost app upgrade jitsi -u https://github.com/YunoHost-Apps/jitsi_ynh/tree/testing --debug
|
sudo yunohost app upgrade jitsi -u https://github.com/YunoHost-Apps/jitsi_ynh/tree/testing --debug
|
||||||
```
|
```
|
||||||
|
|
||||||
**More info regarding app packaging:** https://yunohost.org/packaging_apps
|
**More info regarding app packaging:** <https://yunohost.org/packaging_apps>
|
||||||
|
|
27
README_fr.md
27
README_fr.md
|
@ -1,10 +1,14 @@
|
||||||
|
<!--
|
||||||
|
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.
|
||||||
|
-->
|
||||||
|
|
||||||
# Jitsi Meet pour YunoHost
|
# Jitsi Meet pour YunoHost
|
||||||
|
|
||||||
[![Niveau d'intégration](https://dash.yunohost.org/integration/jitsi.svg)](https://dash.yunohost.org/appci/app/jitsi) ![](https://ci-apps.yunohost.org/ci/badges/jitsi.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/jitsi.maintain.svg)
|
[![Niveau d'intégration](https://dash.yunohost.org/integration/jitsi.svg)](https://dash.yunohost.org/appci/app/jitsi) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/jitsi.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/jitsi.maintain.svg)
|
||||||
[![Installer Jitsi Meet avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=jitsi)
|
[![Installer Jitsi Meet avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=jitsi)
|
||||||
|
|
||||||
*[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 Jitsi Meet rapidement et simplement sur un serveur YunoHost.
|
> *Ce package vous permet d'installer Jitsi Meet 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.*
|
Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.*
|
||||||
|
@ -14,13 +18,13 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour
|
||||||
Jitsi Meet est un logiciel libre (Apache) dont Jitsi Videobridge, avec WebRTC Javascript, propose des vidéos-conférences de haute qualité, sécurisées et évolutives.
|
Jitsi Meet est un logiciel libre (Apache) dont Jitsi Videobridge, avec WebRTC Javascript, propose des vidéos-conférences de haute qualité, sécurisées et évolutives.
|
||||||
|
|
||||||
|
|
||||||
**Version incluse :** 1.0.5913~ynh3
|
**Version incluse :** 1.0.6155~ynh1
|
||||||
|
|
||||||
**Démo :** https://meet.jit.si/
|
**Démo :** https://meet.jit.si/
|
||||||
|
|
||||||
## Captures d'écran
|
## Captures d'écran
|
||||||
|
|
||||||
![](./doc/screenshots/screenshot.png)
|
![Capture d'écran de Jitsi Meet](./doc/screenshots/screenshot.png)
|
||||||
|
|
||||||
## Avertissements / informations importantes
|
## Avertissements / informations importantes
|
||||||
|
|
||||||
|
@ -34,21 +38,22 @@ Jitsi Meet est un logiciel libre (Apache) dont Jitsi Videobridge, avec WebRTC Ja
|
||||||
|
|
||||||
## Documentations et ressources
|
## Documentations et ressources
|
||||||
|
|
||||||
* Site officiel de l'app : https://jitsi.org/
|
* Site officiel de l'app : <https://jitsi.org/>
|
||||||
* Documentation officielle utilisateur : https://jitsi.org/user-faq/
|
* Documentation officielle utilisateur : <https://jitsi.org/user-faq/>
|
||||||
* Dépôt de code officiel de l'app : https://github.com/jitsi/jitsi-meet
|
* Dépôt de code officiel de l'app : <https://github.com/jitsi/jitsi-meet>
|
||||||
* Documentation YunoHost pour cette app : https://yunohost.org/app_jitsi
|
* Documentation YunoHost pour cette app : <https://yunohost.org/app_jitsi>
|
||||||
* Signaler un bug : https://github.com/YunoHost-Apps/jitsi_ynh/issues
|
* Signaler un bug : <https://github.com/YunoHost-Apps/jitsi_ynh/issues>
|
||||||
|
|
||||||
## Informations pour les développeurs
|
## Informations pour les développeurs
|
||||||
|
|
||||||
Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/jitsi_ynh/tree/testing).
|
Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/jitsi_ynh/tree/testing).
|
||||||
|
|
||||||
Pour essayer la branche testing, procédez comme suit.
|
Pour essayer la branche testing, procédez comme suit.
|
||||||
```
|
|
||||||
|
``` bash
|
||||||
sudo yunohost app install https://github.com/YunoHost-Apps/jitsi_ynh/tree/testing --debug
|
sudo yunohost app install https://github.com/YunoHost-Apps/jitsi_ynh/tree/testing --debug
|
||||||
ou
|
ou
|
||||||
sudo yunohost app upgrade jitsi -u https://github.com/YunoHost-Apps/jitsi_ynh/tree/testing --debug
|
sudo yunohost app upgrade jitsi -u https://github.com/YunoHost-Apps/jitsi_ynh/tree/testing --debug
|
||||||
```
|
```
|
||||||
|
|
||||||
**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps
|
**Plus d'infos sur le packaging d'applications :** <https://yunohost.org/packaging_apps>
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
upgrade=1 from_commit=ba635a58f8184b5dd4a6682b8da96909d3d31060
|
upgrade=1 from_commit=ba635a58f8184b5dd4a6682b8da96909d3d31060
|
||||||
# 1.0.5913~ynh1
|
# 1.0.5913~ynh1
|
||||||
upgrade=1 from_commit=12d4758ea7582c9d15d0bd80e2eb5f03ccac8484
|
upgrade=1 from_commit=12d4758ea7582c9d15d0bd80e2eb5f03ccac8484
|
||||||
|
# 1.0.5913~ynh3
|
||||||
|
upgrade=1 from_commit=afbc84d313452267cd97b9df44801d0ae085b1f2
|
||||||
backup_restore=1
|
backup_restore=1
|
||||||
multi_instance=0
|
multi_instance=0
|
||||||
port_already_use=0
|
port_already_use=0
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
SOURCE_URL=https://download.jitsi.org/stable/jicofo_1.0-862-1_all.deb
|
SOURCE_URL=https://download.jitsi.org/stable/jicofo_1.0-877-1_all.deb
|
||||||
SOURCE_SUM=410777ca731c3b12578dcccbdee3dc0789fec2d828de95502952d6cdf0343887
|
SOURCE_SUM=a761d32a01240a8e665bea454ac6c082a78d0d3aeb60db707f38035ea1363f35
|
||||||
SOURCE_SUM_PRG=sha256sum
|
SOURCE_SUM_PRG=sha256sum
|
||||||
SOURCE_FORMAT=deb
|
SOURCE_FORMAT=deb
|
||||||
SOURCE_IN_SUBDIR=true
|
SOURCE_IN_SUBDIR=true
|
||||||
|
|
|
@ -68,6 +68,11 @@ var config = {
|
||||||
// or disabled for the screenshare.
|
// or disabled for the screenshare.
|
||||||
// capScreenshareBitrate: 1 // 0 to disable - deprecated.
|
// capScreenshareBitrate: 1 // 0 to disable - deprecated.
|
||||||
|
|
||||||
|
// Whether to use fake constraints (height: 99999, width: 99999) when calling getDisplayMedia on
|
||||||
|
// Chromium based browsers. This is intended as a workaround for
|
||||||
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=1056311
|
||||||
|
// setScreenSharingResolutionConstraints: true
|
||||||
|
|
||||||
// Enable callstats only for a percentage of users.
|
// Enable callstats only for a percentage of users.
|
||||||
// This takes a value between 0 and 100 which determines the probability for
|
// This takes a value between 0 and 100 which determines the probability for
|
||||||
// the callstats to be enabled.
|
// the callstats to be enabled.
|
||||||
|
@ -78,6 +83,10 @@ var config = {
|
||||||
flags: {
|
flags: {
|
||||||
// Enables source names in the signaling.
|
// Enables source names in the signaling.
|
||||||
// sourceNameSignaling: false,
|
// sourceNameSignaling: false,
|
||||||
|
|
||||||
|
// Enables sending multiple video streams, i.e., camera and desktop tracks can be shared in the conference
|
||||||
|
// separately as two different streams instead of one composite stream.
|
||||||
|
// sendMultipleVideoStreams: false
|
||||||
},
|
},
|
||||||
|
|
||||||
// Disables moderator indicators.
|
// Disables moderator indicators.
|
||||||
|
@ -280,6 +289,9 @@ var config = {
|
||||||
// Whether to enable live streaming or not.
|
// Whether to enable live streaming or not.
|
||||||
// liveStreamingEnabled: false,
|
// liveStreamingEnabled: false,
|
||||||
|
|
||||||
|
// Whether to enable local recording or not.
|
||||||
|
// enableLocalRecording: false,
|
||||||
|
|
||||||
// Transcription (in interface_config,
|
// Transcription (in interface_config,
|
||||||
// subtitles and buttons can be configured)
|
// subtitles and buttons can be configured)
|
||||||
// transcribingEnabled: false,
|
// transcribingEnabled: false,
|
||||||
|
@ -473,6 +485,10 @@ var config = {
|
||||||
// If Lobby is enabled starts knocking automatically.
|
// If Lobby is enabled starts knocking automatically.
|
||||||
// autoKnockLobby: false,
|
// autoKnockLobby: false,
|
||||||
|
|
||||||
|
// Enable lobby chat.
|
||||||
|
// enableLobbyChat: true,
|
||||||
|
|
||||||
|
// DEPRECATED! Use `breakoutRooms.hideAddRoomButton` instead.
|
||||||
// Hides add breakout room button
|
// Hides add breakout room button
|
||||||
// hideAddRoomButton: false,
|
// hideAddRoomButton: false,
|
||||||
|
|
||||||
|
@ -511,7 +527,7 @@ var config = {
|
||||||
// Hides the dominant speaker name badge that hovers above the toolbox
|
// Hides the dominant speaker name badge that hovers above the toolbox
|
||||||
// hideDominantSpeakerBadge: false,
|
// hideDominantSpeakerBadge: false,
|
||||||
|
|
||||||
// Default language for the user interface.
|
// Default language for the user interface. Cannot be overwritten.
|
||||||
// defaultLanguage: 'en',
|
// defaultLanguage: 'en',
|
||||||
|
|
||||||
// Disables profile and the edit of all fields from the profile settings (display name and email)
|
// Disables profile and the edit of all fields from the profile settings (display name and email)
|
||||||
|
@ -540,6 +556,10 @@ var config = {
|
||||||
// // When 'true', it shows an intermediate page before joining, where the user can configure their devices.
|
// // When 'true', it shows an intermediate page before joining, where the user can configure their devices.
|
||||||
// // This replaces `prejoinPageEnabled`.
|
// // This replaces `prejoinPageEnabled`.
|
||||||
// enabled: true,
|
// enabled: true,
|
||||||
|
// // Hides the participant name editing field in the prejoin screen.
|
||||||
|
// // If requireDisplayName is also set as true, a name should still be provided through
|
||||||
|
// // either the jwt or the userInfo from the iframe api init object in order for this to have an effect.
|
||||||
|
// hideDisplayName: false,
|
||||||
// // List of buttons to hide from the extra join options dropdown.
|
// // List of buttons to hide from the extra join options dropdown.
|
||||||
// hideExtraJoinButtons: ['no-audio', 'by-phone']
|
// hideExtraJoinButtons: ['no-audio', 'by-phone']
|
||||||
// },
|
// },
|
||||||
|
@ -567,8 +587,17 @@ var config = {
|
||||||
// Array with avatar URL prefixes that need to use CORS.
|
// Array with avatar URL prefixes that need to use CORS.
|
||||||
// corsAvatarURLs: [ 'https://www.gravatar.com/avatar/' ],
|
// corsAvatarURLs: [ 'https://www.gravatar.com/avatar/' ],
|
||||||
|
|
||||||
// Base URL for a Gravatar-compatible service. Defaults to libravatar.
|
// Base URL for a Gravatar-compatible service. Defaults to Gravatar.
|
||||||
// gravatarBaseURL: 'https://seccdn.libravatar.org/avatar/',
|
// DEPRECATED! Use `gravatar.baseUrl` instead.
|
||||||
|
// gravatarBaseURL: 'https://www.gravatar.com/avatar/',
|
||||||
|
|
||||||
|
// Setup for Gravatar-compatible services.
|
||||||
|
// gravatar: {
|
||||||
|
// // Defaults to Gravatar.
|
||||||
|
// baseUrl: 'https://www.gravatar.com/avatar/',
|
||||||
|
// // True if Gravatar should be disabled.
|
||||||
|
// disabled: false
|
||||||
|
// },
|
||||||
|
|
||||||
// App name to be displayed in the invitation email subject, as an alternative to
|
// App name to be displayed in the invitation email subject, as an alternative to
|
||||||
// interfaceConfig.APP_NAME.
|
// interfaceConfig.APP_NAME.
|
||||||
|
@ -590,6 +619,7 @@ var config = {
|
||||||
// 'chat',
|
// 'chat',
|
||||||
// 'closedcaptions',
|
// 'closedcaptions',
|
||||||
// 'desktop',
|
// 'desktop',
|
||||||
|
// 'dock-iframe'
|
||||||
// 'download',
|
// 'download',
|
||||||
// 'embedmeeting',
|
// 'embedmeeting',
|
||||||
// 'etherpad',
|
// 'etherpad',
|
||||||
|
@ -598,11 +628,11 @@ var config = {
|
||||||
// 'fullscreen',
|
// 'fullscreen',
|
||||||
// 'hangup',
|
// 'hangup',
|
||||||
// 'help',
|
// 'help',
|
||||||
|
// 'highlight',
|
||||||
// 'invite',
|
// 'invite',
|
||||||
|
// 'linktosalesforce',
|
||||||
// 'livestreaming',
|
// 'livestreaming',
|
||||||
// 'microphone',
|
// 'microphone',
|
||||||
// 'mute-everyone',
|
|
||||||
// 'mute-video-everyone',
|
|
||||||
// 'participants-pane',
|
// 'participants-pane',
|
||||||
// 'profile',
|
// 'profile',
|
||||||
// 'raisehand',
|
// 'raisehand',
|
||||||
|
@ -616,6 +646,7 @@ var config = {
|
||||||
// 'stats',
|
// 'stats',
|
||||||
// 'tileview',
|
// 'tileview',
|
||||||
// 'toggle-camera',
|
// 'toggle-camera',
|
||||||
|
// 'undock-iframe',
|
||||||
// 'videoquality',
|
// 'videoquality',
|
||||||
// '__end'
|
// '__end'
|
||||||
// ],
|
// ],
|
||||||
|
@ -630,7 +661,9 @@ var config = {
|
||||||
// timeout: 4000,
|
// timeout: 4000,
|
||||||
// // Moved from interfaceConfig.TOOLBAR_ALWAYS_VISIBLE
|
// // Moved from interfaceConfig.TOOLBAR_ALWAYS_VISIBLE
|
||||||
// // Whether toolbar should be always visible or should hide after x miliseconds.
|
// // Whether toolbar should be always visible or should hide after x miliseconds.
|
||||||
// alwaysVisible: false
|
// alwaysVisible: false,
|
||||||
|
// // Indicates whether the toolbar should still autohide when chat is open
|
||||||
|
// autoHideWhileChatIsOpen: false
|
||||||
// },
|
// },
|
||||||
|
|
||||||
// Toolbar buttons which have their click/tap event exposed through the API on
|
// Toolbar buttons which have their click/tap event exposed through the API on
|
||||||
|
@ -739,8 +772,25 @@ var config = {
|
||||||
// Enables sending participants' emails (if available) to callstats and other analytics
|
// Enables sending participants' emails (if available) to callstats and other analytics
|
||||||
// enableEmailInStats: false,
|
// enableEmailInStats: false,
|
||||||
|
|
||||||
// Enables detecting faces of participants and get their expression and send it to other participants
|
// faceLandmarks: {
|
||||||
// enableFacialRecognition: true,
|
// // Enables sharing your face coordinates. Used for centering faces within a video.
|
||||||
|
// enableFaceCentering: false,
|
||||||
|
|
||||||
|
// // Enables detecting face expressions and sharing data with other participants
|
||||||
|
// enableFaceExpressionsDetection: false,
|
||||||
|
|
||||||
|
// // Enables displaying face expressions in speaker stats
|
||||||
|
// enableDisplayFaceExpressions: false,
|
||||||
|
|
||||||
|
// // Minimum required face movement percentage threshold for sending new face centering coordinates data.
|
||||||
|
// faceCenteringThreshold: 10,
|
||||||
|
|
||||||
|
// // Milliseconds for processing a new image capture in order to detect face coordinates if they exist.
|
||||||
|
// captureInterval: 1000,
|
||||||
|
|
||||||
|
// // Maximum number of faces that can be detected from a video track.
|
||||||
|
// maxFacesDetected: 4
|
||||||
|
// },
|
||||||
|
|
||||||
// Controls the percentage of automatic feedback shown to participants when callstats is enabled.
|
// Controls the percentage of automatic feedback shown to participants when callstats is enabled.
|
||||||
// The default value is 100%. If set to 0, no automatic feedback will be requested
|
// The default value is 100%. If set to 0, no automatic feedback will be requested
|
||||||
|
@ -903,23 +953,6 @@ var config = {
|
||||||
// ]
|
// ]
|
||||||
// },
|
// },
|
||||||
|
|
||||||
// Local Recording
|
|
||||||
//
|
|
||||||
|
|
||||||
// localRecording: {
|
|
||||||
// Enables local recording.
|
|
||||||
// Additionally, 'localrecording' (all lowercase) needs to be added to
|
|
||||||
// the `toolbarButtons`-array for the Local Recording button to show up
|
|
||||||
// on the toolbar.
|
|
||||||
//
|
|
||||||
// enabled: true,
|
|
||||||
//
|
|
||||||
|
|
||||||
// The recording format, can be one of 'ogg', 'flac' or 'wav'.
|
|
||||||
// format: 'flac'
|
|
||||||
//
|
|
||||||
|
|
||||||
// },
|
|
||||||
// e2ee: {
|
// e2ee: {
|
||||||
// labels,
|
// labels,
|
||||||
// externallyManagedKey: false
|
// externallyManagedKey: false
|
||||||
|
@ -927,14 +960,18 @@ var config = {
|
||||||
|
|
||||||
// Options related to end-to-end (participant to participant) ping.
|
// Options related to end-to-end (participant to participant) ping.
|
||||||
// e2eping: {
|
// e2eping: {
|
||||||
// // The interval in milliseconds at which pings will be sent.
|
// // Whether ene-to-end pings should be enabled.
|
||||||
// // Defaults to 10000, set to <= 0 to disable.
|
// enabled: false,
|
||||||
// pingInterval: 10000,
|
|
||||||
//
|
//
|
||||||
// // The interval in milliseconds at which analytics events
|
// // The number of responses to wait for.
|
||||||
// // with the measured RTT will be sent. Defaults to 60000, set
|
// numRequests: 5,
|
||||||
// // to <= 0 to disable.
|
//
|
||||||
// analyticsInterval: 60000,
|
// // The max conference size in which e2e pings will be sent.
|
||||||
|
// maxConferenceSize: 200,
|
||||||
|
//
|
||||||
|
// // The maximum number of e2e ping messages per second for the whole conference to aim for.
|
||||||
|
// // This is used to contol the pacing of messages in order to reduce the load on the backend.
|
||||||
|
// maxMessagesPerSecond: 250
|
||||||
// },
|
// },
|
||||||
|
|
||||||
// If set, will attempt to use the provided video input device label when
|
// If set, will attempt to use the provided video input device label when
|
||||||
|
@ -961,7 +998,8 @@ var config = {
|
||||||
// Disables all invite functions from the app (share, invite, dial out...etc)
|
// Disables all invite functions from the app (share, invite, dial out...etc)
|
||||||
// disableInviteFunctions: true,
|
// disableInviteFunctions: true,
|
||||||
|
|
||||||
// Disables storing the room name to the recents list
|
// Disables storing the room name to the recents list. When in an iframe this is ignored and
|
||||||
|
// the room is never stored in the recents list.
|
||||||
// doNotStoreRoom: true,
|
// doNotStoreRoom: true,
|
||||||
|
|
||||||
// Deployment specific URLs.
|
// Deployment specific URLs.
|
||||||
|
@ -976,12 +1014,25 @@ var config = {
|
||||||
|
|
||||||
// Options related to the remote participant menu.
|
// Options related to the remote participant menu.
|
||||||
// remoteVideoMenu: {
|
// remoteVideoMenu: {
|
||||||
|
// // Whether the remote video context menu to be rendered or not.
|
||||||
|
// disabled: true,
|
||||||
// // If set to true the 'Kick out' button will be disabled.
|
// // If set to true the 'Kick out' button will be disabled.
|
||||||
// disableKick: true,
|
// disableKick: true,
|
||||||
// // If set to true the 'Grant moderator' button will be disabled.
|
// // If set to true the 'Grant moderator' button will be disabled.
|
||||||
// disableGrantModerator: true
|
// disableGrantModerator: true,
|
||||||
|
// // If set to true the 'Send private message' button will be disabled.
|
||||||
|
// disablePrivateChat: true
|
||||||
// },
|
// },
|
||||||
|
|
||||||
|
// Endpoint that enables support for salesforce integration with in-meeting resource linking
|
||||||
|
// This is required for:
|
||||||
|
// listing the most recent records - salesforceUrl/records/recents
|
||||||
|
// searching records - salesforceUrl/records?text=${text}
|
||||||
|
// retrieving record details - salesforceUrl/records/${id}?type=${type}
|
||||||
|
// and linking the meeting - salesforceUrl/sessions/${sessionId}/records/${id}
|
||||||
|
//
|
||||||
|
// salesforceUrl: 'https://api.example.com/',
|
||||||
|
|
||||||
// If set to true all muting operations of remote participants will be disabled.
|
// If set to true all muting operations of remote participants will be disabled.
|
||||||
// disableRemoteMute: true,
|
// disableRemoteMute: true,
|
||||||
|
|
||||||
|
@ -1045,6 +1096,26 @@ var config = {
|
||||||
*/
|
*/
|
||||||
// dynamicBrandingUrl: '',
|
// dynamicBrandingUrl: '',
|
||||||
|
|
||||||
|
// Options related to the participants pane.
|
||||||
|
// participantsPane: {
|
||||||
|
// // Hides the moderator settings tab.
|
||||||
|
// hideModeratorSettingsTab: false,
|
||||||
|
// // Hides the more actions button.
|
||||||
|
// hideMoreActionsButton: false,
|
||||||
|
// // Hides the mute all button.
|
||||||
|
// hideMuteAllButton: false
|
||||||
|
// },
|
||||||
|
|
||||||
|
// Options related to the breakout rooms feature.
|
||||||
|
// breakoutRooms: {
|
||||||
|
// // Hides the add breakout room button. This replaces `hideAddRoomButton`.
|
||||||
|
// hideAddRoomButton: false,
|
||||||
|
// // Hides the auto assign participants button.
|
||||||
|
// hideAutoAssignButton: false,
|
||||||
|
// // Hides the join breakout room button.
|
||||||
|
// hideJoinRoomButton: false
|
||||||
|
// },
|
||||||
|
|
||||||
// When true the user cannot add more images to be used as virtual background.
|
// When true the user cannot add more images to be used as virtual background.
|
||||||
// Only the default ones from will be available.
|
// Only the default ones from will be available.
|
||||||
// disableAddingBackgroundImages: false,
|
// disableAddingBackgroundImages: false,
|
||||||
|
@ -1071,7 +1142,7 @@ var config = {
|
||||||
// If a label's id is not in any of the 2 arrays, it will not be visible at all on the header.
|
// If a label's id is not in any of the 2 arrays, it will not be visible at all on the header.
|
||||||
// conferenceInfo: {
|
// conferenceInfo: {
|
||||||
// // those labels will not be hidden in tandem with the toolbox.
|
// // those labels will not be hidden in tandem with the toolbox.
|
||||||
// alwaysVisible: ['recording', 'local-recording', 'raised-hands-count'],
|
// alwaysVisible: ['recording', 'raised-hands-count'],
|
||||||
// // those labels will be auto-hidden in tandem with the toolbox buttons.
|
// // those labels will be auto-hidden in tandem with the toolbox buttons.
|
||||||
// autoHide: [
|
// autoHide: [
|
||||||
// 'subject',
|
// 'subject',
|
||||||
|
@ -1080,7 +1151,8 @@ var config = {
|
||||||
// 'e2ee',
|
// 'e2ee',
|
||||||
// 'transcribing',
|
// 'transcribing',
|
||||||
// 'video-quality',
|
// 'video-quality',
|
||||||
// 'insecure-room'
|
// 'insecure-room',
|
||||||
|
// 'highlight-moment'
|
||||||
// ]
|
// ]
|
||||||
// },
|
// },
|
||||||
|
|
||||||
|
@ -1114,14 +1186,24 @@ var config = {
|
||||||
// will open an etherpad document.
|
// will open an etherpad document.
|
||||||
// etherpad_base: 'https://your-etherpad-installati.on/p/',
|
// etherpad_base: 'https://your-etherpad-installati.on/p/',
|
||||||
|
|
||||||
|
// To enable information about dial-in access to meetings you need to provide
|
||||||
|
// dialInNumbersUrl and dialInConfCodeUrl.
|
||||||
|
// dialInNumbersUrl returns a json array of numbers that can be used for dial-in.
|
||||||
|
// {"countryCode":"US","tollFree":false,"formattedNumber":"+1 123-456-7890"}
|
||||||
|
// dialInConfCodeUrl is the conference mapper converting a meeting id to a PIN used for dial-in
|
||||||
|
// or the other way around (more info in resources/cloud-api.swagger)
|
||||||
|
//
|
||||||
|
// For JaaS customers the default values are:
|
||||||
|
// dialInNumbersUrl: 'https://conference-mapper.jitsi.net/v1/access/dids',
|
||||||
|
// dialInConfCodeUrl: 'https://conference-mapper.jitsi.net/v1/access',
|
||||||
|
//
|
||||||
|
|
||||||
// List of undocumented settings used in jitsi-meet
|
// List of undocumented settings used in jitsi-meet
|
||||||
/**
|
/**
|
||||||
_immediateReloadThreshold
|
_immediateReloadThreshold
|
||||||
debug
|
debug
|
||||||
debugAudioLevels
|
debugAudioLevels
|
||||||
deploymentInfo
|
deploymentInfo
|
||||||
dialInConfCodeUrl
|
|
||||||
dialInNumbersUrl
|
|
||||||
dialOutAuthUrl
|
dialOutAuthUrl
|
||||||
dialOutCodesUrl
|
dialOutCodesUrl
|
||||||
disableRemoteControl
|
disableRemoteControl
|
||||||
|
@ -1164,6 +1246,7 @@ var config = {
|
||||||
forceJVB121Ratio
|
forceJVB121Ratio
|
||||||
forceTurnRelay
|
forceTurnRelay
|
||||||
hiddenDomain
|
hiddenDomain
|
||||||
|
hiddenFromRecorderFeatureEnabled
|
||||||
ignoreStartMuted
|
ignoreStartMuted
|
||||||
websocketKeepAlive
|
websocketKeepAlive
|
||||||
websocketKeepAliveUrl
|
websocketKeepAliveUrl
|
||||||
|
@ -1205,7 +1288,6 @@ var config = {
|
||||||
// 'liveStreaming.unavailableTitle', // shown when livestreaming service is not reachable
|
// 'liveStreaming.unavailableTitle', // shown when livestreaming service is not reachable
|
||||||
// 'lobby.joinRejectedMessage', // shown when while in a lobby, user's request to join is rejected
|
// 'lobby.joinRejectedMessage', // shown when while in a lobby, user's request to join is rejected
|
||||||
// 'lobby.notificationTitle', // shown when lobby is toggled and when join requests are allowed / denied
|
// 'lobby.notificationTitle', // shown when lobby is toggled and when join requests are allowed / denied
|
||||||
// 'localRecording.localRecording', // shown when a local recording is started
|
|
||||||
// 'notify.chatMessages', // shown when receiving chat messages while the chat window is closed
|
// 'notify.chatMessages', // shown when receiving chat messages while the chat window is closed
|
||||||
// 'notify.disconnected', // shown when a participant has left
|
// 'notify.disconnected', // shown when a participant has left
|
||||||
// 'notify.connectedOneMember', // show when a participant joined
|
// 'notify.connectedOneMember', // show when a participant joined
|
||||||
|
@ -1219,6 +1301,7 @@ var config = {
|
||||||
// 'notify.invitedThreePlusMembers', // shown when 3+ participants have been invited
|
// 'notify.invitedThreePlusMembers', // shown when 3+ participants have been invited
|
||||||
// 'notify.invitedTwoMembers', // shown when 2 participants have been invited
|
// 'notify.invitedTwoMembers', // shown when 2 participants have been invited
|
||||||
// 'notify.kickParticipant', // shown when a participant is kicked
|
// 'notify.kickParticipant', // shown when a participant is kicked
|
||||||
|
// 'notify.linkToSalesforce', // shown when joining a meeting with salesforce integration
|
||||||
// 'notify.moderationStartedTitle', // shown when AV moderation is activated
|
// 'notify.moderationStartedTitle', // shown when AV moderation is activated
|
||||||
// 'notify.moderationStoppedTitle', // shown when AV moderation is deactivated
|
// 'notify.moderationStoppedTitle', // shown when AV moderation is deactivated
|
||||||
// 'notify.moderationInEffectTitle', // shown when user attempts to unmute audio during AV moderation
|
// 'notify.moderationInEffectTitle', // shown when user attempts to unmute audio during AV moderation
|
||||||
|
@ -1228,11 +1311,13 @@ var config = {
|
||||||
// 'notify.mutedTitle', // shown when user has been muted upon joining,
|
// 'notify.mutedTitle', // shown when user has been muted upon joining,
|
||||||
// 'notify.newDeviceAudioTitle', // prompts the user to use a newly detected audio device
|
// 'notify.newDeviceAudioTitle', // prompts the user to use a newly detected audio device
|
||||||
// 'notify.newDeviceCameraTitle', // prompts the user to use a newly detected camera
|
// 'notify.newDeviceCameraTitle', // prompts the user to use a newly detected camera
|
||||||
|
// 'notify.participantWantsToJoin', // shown when lobby is enabled and participant requests to join meeting
|
||||||
// 'notify.passwordRemovedRemotely', // shown when a password has been removed remotely
|
// 'notify.passwordRemovedRemotely', // shown when a password has been removed remotely
|
||||||
// 'notify.passwordSetRemotely', // shown when a password has been set remotely
|
// 'notify.passwordSetRemotely', // shown when a password has been set remotely
|
||||||
// 'notify.raisedHand', // shown when a partcipant used raise hand,
|
// 'notify.raisedHand', // shown when a partcipant used raise hand,
|
||||||
// 'notify.startSilentTitle', // shown when user joined with no audio
|
// 'notify.startSilentTitle', // shown when user joined with no audio
|
||||||
// 'notify.unmute', // shown to moderator when user raises hand during AV moderation
|
// 'notify.unmute', // shown to moderator when user raises hand during AV moderation
|
||||||
|
// 'notify.hostAskedUnmute', // shown to participant when host asks them to unmute
|
||||||
// 'prejoin.errorDialOut',
|
// 'prejoin.errorDialOut',
|
||||||
// 'prejoin.errorDialOutDisconnected',
|
// 'prejoin.errorDialOutDisconnected',
|
||||||
// 'prejoin.errorDialOutFailed',
|
// 'prejoin.errorDialOutFailed',
|
||||||
|
@ -1248,12 +1333,47 @@ var config = {
|
||||||
// 'transcribing.failedToStart' // shown when transcribing fails to start
|
// 'transcribing.failedToStart' // shown when transcribing fails to start
|
||||||
// ],
|
// ],
|
||||||
|
|
||||||
|
// List of notifications to be disabled. Works in tandem with the above setting.
|
||||||
|
// disabledNotifications: [],
|
||||||
|
|
||||||
// Prevent the filmstrip from autohiding when screen width is under a certain threshold
|
// Prevent the filmstrip from autohiding when screen width is under a certain threshold
|
||||||
// disableFilmstripAutohiding: false,
|
// disableFilmstripAutohiding: false,
|
||||||
|
|
||||||
|
// filmstrip: {
|
||||||
|
// // Disables user resizable filmstrip. Also, allows configuration of the filmstrip
|
||||||
|
// // (width, tiles aspect ratios) through the interfaceConfig options.
|
||||||
|
// disableResizable: false,
|
||||||
|
|
||||||
|
// // Disables the stage filmstrip
|
||||||
|
// // (displaying multiple participants on stage besides the vertical filmstrip)
|
||||||
|
// disableStageFilmstrip: false
|
||||||
|
// },
|
||||||
|
|
||||||
|
// Tile view related config options.
|
||||||
|
// tileView: {
|
||||||
|
// // The optimal number of tiles that are going to be shown in tile view. Depending on the screen size it may
|
||||||
|
// // not be possible to show the exact number of participants specified here.
|
||||||
|
// numberOfVisibleTiles: 25
|
||||||
|
// },
|
||||||
|
|
||||||
// Specifies whether the chat emoticons are disabled or not
|
// Specifies whether the chat emoticons are disabled or not
|
||||||
// disableChatSmileys: false,
|
// disableChatSmileys: false,
|
||||||
|
|
||||||
|
// Settings for the GIPHY integration.
|
||||||
|
// giphy: {
|
||||||
|
// // Whether the feature is enabled or not.
|
||||||
|
// enabled: false,
|
||||||
|
// // SDK API Key from Giphy.
|
||||||
|
// sdkKey: '',
|
||||||
|
// // Display mode can be one of:
|
||||||
|
// // - tile: show the GIF on the tile of the participant that sent it.
|
||||||
|
// // - chat: show the GIF as a message in chat
|
||||||
|
// // - all: all of the above. This is the default option
|
||||||
|
// displayMode: 'all',
|
||||||
|
// // How long the GIF should be displayed on the tile (in miliseconds).
|
||||||
|
// tileTime: 5000
|
||||||
|
// },
|
||||||
|
|
||||||
// Allow all above example options to include a trailing comma and
|
// Allow all above example options to include a trailing comma and
|
||||||
// prevent fear when commenting out the last value.
|
// prevent fear when commenting out the last value.
|
||||||
makeJsonParserHappy: 'even if last key had a trailing comma'
|
makeJsonParserHappy: 'even if last key had a trailing comma'
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
SOURCE_URL=https://download.jitsi.org/stable/jitsi-meet-prosody_1.0.5913-1_all.deb
|
SOURCE_URL=https://download.jitsi.org/stable/jitsi-meet-prosody_1.0.6155-1_all.deb
|
||||||
SOURCE_SUM=6ed4f76bbe9dfe4d4e6508d48e8337c2867dce8ec3de50b3b03fc60bfae8aaa4
|
SOURCE_SUM=2503d45b9cb92d46c43c211ca3d9c3904fd9045062ac121237b0ed7695e5c727
|
||||||
SOURCE_SUM_PRG=sha256sum
|
SOURCE_SUM_PRG=sha256sum
|
||||||
SOURCE_FORMAT=deb
|
SOURCE_FORMAT=deb
|
||||||
SOURCE_IN_SUBDIR=true
|
SOURCE_IN_SUBDIR=true
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
SOURCE_URL=https://download.jitsi.org/stable/jitsi-meet-web_1.0.5913-1_all.deb
|
SOURCE_URL=https://download.jitsi.org/stable/jitsi-meet-web_1.0.6155-1_all.deb
|
||||||
SOURCE_SUM=0d6b8ba2b56556b2816fd98f02401ff2a9a84ade594cc517827484c6fb994798
|
SOURCE_SUM=3ef7e8be35efc76db7bc4f577de136f48cae0900cf2646418909449d721fcace
|
||||||
SOURCE_SUM_PRG=sha256sum
|
SOURCE_SUM_PRG=sha256sum
|
||||||
SOURCE_FORMAT=deb
|
SOURCE_FORMAT=deb
|
||||||
SOURCE_IN_SUBDIR=true
|
SOURCE_IN_SUBDIR=true
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
SOURCE_URL=https://download.jitsi.org/stable/jitsi-videobridge2_2.1-634-gff8609ad-1_all.deb
|
SOURCE_URL=https://download.jitsi.org/stable/jitsi-videobridge2_2.1-681-g3544ed05-1_all.deb
|
||||||
SOURCE_SUM=ccfb5a023ba258b3f8bb5b816f62e269484ef09afe9f5de752b3156b0529c481
|
SOURCE_SUM=f3a973b7d4a767a969a3bcfa3d0bd531945d349d3378350ff76c2b6e747415b1
|
||||||
SOURCE_SUM_PRG=sha256sum
|
SOURCE_SUM_PRG=sha256sum
|
||||||
SOURCE_FORMAT=deb
|
SOURCE_FORMAT=deb
|
||||||
SOURCE_IN_SUBDIR=true
|
SOURCE_IN_SUBDIR=true
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
"en": "Video conferencing web application",
|
"en": "Video conferencing web application",
|
||||||
"fr": "Application web de conférence vidéo"
|
"fr": "Application web de conférence vidéo"
|
||||||
},
|
},
|
||||||
"version": "1.0.5913~ynh3",
|
"version": "1.0.6155~ynh1",
|
||||||
"url": "https://jitsi.org/Projects/JitMeet",
|
"url": "https://jitsi.org/Projects/JitMeet",
|
||||||
"upstream": {
|
"upstream": {
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
# dependencies used by the app
|
# dependencies used by the app
|
||||||
pkg_dependencies="openjdk-8-jre-headless|openjdk-11-jre-headless debconf|debconf-2.0 procps uuid-runtime lua-ldap"
|
pkg_dependencies="openjdk-8-jre-headless|openjdk-11-jre-headless debconf|debconf-2.0 procps uuid-runtime lua-ldap"
|
||||||
|
|
||||||
|
ynh_app_dependencies="prosody"
|
||||||
|
|
||||||
if [ $YNH_ARCH == "armhf" ]
|
if [ $YNH_ARCH == "armhf" ]
|
||||||
then
|
then
|
||||||
pkg_dependencies_arm="automake autoconf build-essential libtool git maven m4"
|
pkg_dependencies_arm="automake autoconf build-essential libtool git maven m4"
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
# IMPORT GENERIC HELPERS
|
# IMPORT GENERIC HELPERS
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
#Keep this path for calling _common.sh inside the execution's context of backup and restore scripts
|
# Keep this path for calling _common.sh inside the execution's context of backup and restore scripts
|
||||||
source ../settings/scripts/_common.sh
|
source ../settings/scripts/_common.sh
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ source /usr/share/yunohost/helpers
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
ynh_clean_setup () {
|
ynh_clean_setup () {
|
||||||
ynh_clean_check_starting
|
true
|
||||||
}
|
}
|
||||||
# Exit if an error occurs during the execution of the script
|
# Exit if an error occurs during the execution of the script
|
||||||
ynh_abort_if_errors
|
ynh_abort_if_errors
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
source _common.sh
|
source _common.sh
|
||||||
|
source ynh_apps
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -98,25 +99,15 @@ ynh_app_setting_set --app=$app --key=port_component --value=$port_component
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Installing dependencies..."
|
ynh_script_progression --message="Installing dependencies..."
|
||||||
|
|
||||||
|
ynh_install_apps --apps="$ynh_app_dependencies"
|
||||||
ynh_install_app_dependencies $pkg_dependencies
|
ynh_install_app_dependencies $pkg_dependencies
|
||||||
|
|
||||||
if [ $YNH_ARCH == "armhf" ]
|
if [ $YNH_ARCH == "armhf" ]
|
||||||
then
|
then
|
||||||
ynh_script_progression --message="Installing specific arm dependencies..."
|
ynh_script_progression --message="Installing specific arm dependencies..."
|
||||||
ynh_install_extra_app_dependencies --repo="deb http://security.debian.org/debian-security stretch/updates main" --package="$pkg_extra_depedencies_arm" --key="https://ftp-master.debian.org/keys/archive-key-9-security.asc"
|
ynh_install_extra_app_dependencies --repo="deb http://security.debian.org/debian-security stretch/updates main" --package="$pkg_extra_depedencies_arm" --key="https://ftp-master.debian.org/keys/archive-key-9-security.asc"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
if ! yunohost app list | grep -q "prosody"
|
|
||||||
then
|
|
||||||
yunohost tools update
|
|
||||||
yunohost app install prosody
|
|
||||||
else
|
|
||||||
yunohost tools update
|
|
||||||
yunohost app upgrade prosody
|
|
||||||
fi
|
|
||||||
|
|
||||||
ynh_app_setting_set --app=$app --key=require_prosody --value="1"
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CREATE DEDICATED USER
|
# CREATE DEDICATED USER
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -263,6 +254,14 @@ mkdir -p "/var/log/$app"
|
||||||
chown -R $app: /var/log/$app
|
chown -R $app: /var/log/$app
|
||||||
chmod -R 770 /var/log/$app
|
chmod -R 770 /var/log/$app
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# SECURE FILES AND DIRECTORIES
|
||||||
|
#=================================================
|
||||||
|
ynh_script_progression --message="Securing files and directories..."
|
||||||
|
|
||||||
|
# Set permissions to app files
|
||||||
|
chown -R $app: /etc/$app
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SETUP SYSTEMD
|
# SETUP SYSTEMD
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -274,14 +273,6 @@ ynh_add_systemd_config --service=$app-jicofo --template="jitsi-jicofo.service"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# GENERIC FINALIZATION
|
# GENERIC FINALIZATION
|
||||||
#=================================================
|
|
||||||
# SECURE FILES AND DIRECTORIES
|
|
||||||
#=================================================
|
|
||||||
ynh_script_progression --message="Securing files and directories..."
|
|
||||||
|
|
||||||
# Set permissions to app files
|
|
||||||
chown -R $app: /etc/$app
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SETUP LOGROTATE
|
# SETUP LOGROTATE
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
source _common.sh
|
source _common.sh
|
||||||
|
source ynh_apps
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -52,6 +53,14 @@ ynh_script_progression --message="Stopping and removing the systemd service..."
|
||||||
ynh_remove_systemd_config --service=$app-videobridge
|
ynh_remove_systemd_config --service=$app-videobridge
|
||||||
ynh_remove_systemd_config --service=$app-jicofo
|
ynh_remove_systemd_config --service=$app-jicofo
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# REMOVE LOGROTATE CONFIGURATION
|
||||||
|
#=================================================
|
||||||
|
ynh_script_progression --message="Removing logrotate configuration..."
|
||||||
|
|
||||||
|
# Remove the app-specific logrotate config
|
||||||
|
ynh_remove_logrotate
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# RECONFIGURE PROSODY
|
# RECONFIGURE PROSODY
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -79,14 +88,6 @@ update-ca-certificates -f
|
||||||
|
|
||||||
ynh_systemd_action --service_name=prosody --action=restart
|
ynh_systemd_action --service_name=prosody --action=restart
|
||||||
|
|
||||||
#=================================================
|
|
||||||
# REMOVE LOGROTATE CONFIGURATION
|
|
||||||
#=================================================
|
|
||||||
ynh_script_progression --message="Removing logrotate configuration..."
|
|
||||||
|
|
||||||
# Remove the app-specific logrotate config
|
|
||||||
ynh_remove_logrotate
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# REMOVE APP MAIN DIR
|
# REMOVE APP MAIN DIR
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -115,27 +116,7 @@ ynh_remove_app_dependencies
|
||||||
ynh_app_setting_delete --app=$app --key=require_prosody
|
ynh_app_setting_delete --app=$app --key=require_prosody
|
||||||
gpasswd --delete prosody $app
|
gpasswd --delete prosody $app
|
||||||
|
|
||||||
# List apps requiring Prosody
|
ynh_remove_apps
|
||||||
installed_apps=$(yunohost app list | grep -oP 'id: \K.*$')
|
|
||||||
required_by=""
|
|
||||||
installed_app_required_by=""
|
|
||||||
for installed_app in $installed_apps
|
|
||||||
do
|
|
||||||
installed_app_required_by=$(ynh_app_setting_get --app=$installed_app --key="require_prosody")
|
|
||||||
if [[ $installed_app_required_by ]]
|
|
||||||
then
|
|
||||||
required_by="${installed_app_required_by}"
|
|
||||||
fi
|
|
||||||
installed_app_required_by=""
|
|
||||||
done
|
|
||||||
|
|
||||||
# If Prosody is no more required
|
|
||||||
if [[ ! $required_by ]]
|
|
||||||
then
|
|
||||||
# Remove Prosody
|
|
||||||
ynh_print_info --message="Removing of Prosody"
|
|
||||||
yunohost app remove prosody --purge
|
|
||||||
fi
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CLOSE A PORT
|
# CLOSE A PORT
|
||||||
|
|
|
@ -6,8 +6,9 @@
|
||||||
# IMPORT GENERIC HELPERS
|
# IMPORT GENERIC HELPERS
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
#Keep this path for calling _common.sh inside the execution's context of backup and restore scripts
|
# Keep this path for calling _common.sh inside the execution's context of backup and restore scripts
|
||||||
source ../settings/scripts/_common.sh
|
source ../settings/scripts/_common.sh
|
||||||
|
source ../settings/scripts/ynh_apps
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -52,13 +53,6 @@ test ! -d $final_path \
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# STANDARD RESTORATION STEPS
|
# STANDARD RESTORATION STEPS
|
||||||
#=================================================
|
|
||||||
# RESTORE THE NGINX CONFIGURATION
|
|
||||||
#=================================================
|
|
||||||
ynh_script_progression --message="Restoring the NGINX web server configuration..."
|
|
||||||
|
|
||||||
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# RECREATE THE DEDICATED USER
|
# RECREATE THE DEDICATED USER
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -87,20 +81,24 @@ chown -R $app:$app "$final_path"
|
||||||
ynh_script_progression --message="Reinstalling dependencies..."
|
ynh_script_progression --message="Reinstalling dependencies..."
|
||||||
|
|
||||||
# Define and install dependencies
|
# Define and install dependencies
|
||||||
|
ynh_install_apps --apps="$ynh_app_dependencies"
|
||||||
ynh_install_app_dependencies $pkg_dependencies
|
ynh_install_app_dependencies $pkg_dependencies
|
||||||
|
|
||||||
if ! yunohost app list | grep -q "prosody"
|
if [ $YNH_ARCH == "armhf" ]
|
||||||
then
|
then
|
||||||
yunohost tools update
|
ynh_script_progression --message="Installing specific arm dependencies..."
|
||||||
yunohost app install prosody
|
ynh_install_extra_app_dependencies --repo="deb http://security.debian.org/debian-security stretch/updates main" --package="$pkg_extra_depedencies_arm" --key="https://ftp-master.debian.org/keys/archive-key-9-security.asc"
|
||||||
else
|
|
||||||
yunohost tools update
|
|
||||||
yunohost app upgrade prosody
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ynh_app_setting_set --app=$app --key=require_prosody --value="1"
|
|
||||||
gpasswd --add prosody $app
|
gpasswd --add prosody $app
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# RESTORE THE NGINX CONFIGURATION
|
||||||
|
#=================================================
|
||||||
|
ynh_script_progression --message="Restoring the NGINX web server configuration..."
|
||||||
|
|
||||||
|
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CONFIGURE FIREWALL
|
# CONFIGURE FIREWALL
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
source _common.sh
|
source _common.sh
|
||||||
|
source ynh_apps
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -130,19 +131,12 @@ chmod 750 "$final_path"
|
||||||
chmod -R o-rwx "$final_path"
|
chmod -R o-rwx "$final_path"
|
||||||
chown -R $app:$app "$final_path"
|
chown -R $app:$app "$final_path"
|
||||||
|
|
||||||
#=================================================
|
|
||||||
# NGINX CONFIGURATION
|
|
||||||
#=================================================
|
|
||||||
ynh_script_progression --message="Upgrading NGINX web server configuration..."
|
|
||||||
|
|
||||||
# Create a dedicated NGINX config
|
|
||||||
ynh_add_nginx_config
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# UPGRADE DEPENDENCIES
|
# UPGRADE DEPENDENCIES
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Upgrading dependencies..."
|
ynh_script_progression --message="Upgrading dependencies..."
|
||||||
|
|
||||||
|
ynh_install_apps --apps="$ynh_app_dependencies"
|
||||||
ynh_install_app_dependencies $pkg_dependencies
|
ynh_install_app_dependencies $pkg_dependencies
|
||||||
|
|
||||||
if [ $YNH_ARCH == "armhf" ]
|
if [ $YNH_ARCH == "armhf" ]
|
||||||
|
@ -151,18 +145,16 @@ then
|
||||||
ynh_install_extra_app_dependencies --repo="deb http://security.debian.org/debian-security stretch/updates main" --package="$pkg_extra_depedencies_arm" --key="https://ftp-master.debian.org/keys/archive-key-9-security.asc"
|
ynh_install_extra_app_dependencies --repo="deb http://security.debian.org/debian-security stretch/updates main" --package="$pkg_extra_depedencies_arm" --key="https://ftp-master.debian.org/keys/archive-key-9-security.asc"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! yunohost app list | grep -q "prosody"
|
|
||||||
then
|
|
||||||
yunohost tools update
|
|
||||||
yunohost app install prosody
|
|
||||||
else
|
|
||||||
yunohost tools update
|
|
||||||
yunohost app upgrade prosody
|
|
||||||
fi
|
|
||||||
|
|
||||||
ynh_app_setting_set --app=$app --key=require_prosody --value="1"
|
|
||||||
gpasswd --add prosody $app
|
gpasswd --add prosody $app
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# NGINX CONFIGURATION
|
||||||
|
#=================================================
|
||||||
|
ynh_script_progression --message="Upgrading NGINX web server configuration..."
|
||||||
|
|
||||||
|
# Create a dedicated NGINX config
|
||||||
|
ynh_add_nginx_config
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SPECIFIC UPGRADE
|
# SPECIFIC UPGRADE
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -252,6 +244,14 @@ mkdir -p "/var/log/$app"
|
||||||
chown -R $app: /var/log/$app
|
chown -R $app: /var/log/$app
|
||||||
chmod -R 770 /var/log/$app
|
chmod -R 770 /var/log/$app
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# SECURE FILES AND DIRECTORIES
|
||||||
|
#=================================================
|
||||||
|
ynh_script_progression --message="Securing files and directories..."
|
||||||
|
|
||||||
|
# Set permissions on app files
|
||||||
|
chown -R $app: /etc/$app
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SETUP SYSTEMD
|
# SETUP SYSTEMD
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -263,14 +263,6 @@ ynh_add_systemd_config --service=$app-jicofo --template="jitsi-jicofo.service"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# GENERIC FINALIZATION
|
# GENERIC FINALIZATION
|
||||||
#=================================================
|
|
||||||
# SECURE FILES AND DIRECTORIES
|
|
||||||
#=================================================
|
|
||||||
ynh_script_progression --message="Securing files and directories..."
|
|
||||||
|
|
||||||
# Set permissions on app files
|
|
||||||
chown -R $app: /etc/$app
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SETUP LOGROTATE
|
# SETUP LOGROTATE
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
110
scripts/ynh_apps
Normal file
110
scripts/ynh_apps
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Install others YunoHost apps
|
||||||
|
#
|
||||||
|
# usage: ynh_install_apps --apps="appfoo?domain=domain.foo&path=/foo appbar?domain=domain.bar&path=/bar&admin=USER&language=fr&is_public=1&pass?word=pass&port=666"
|
||||||
|
# | arg: -a, --apps= - apps to install
|
||||||
|
#
|
||||||
|
# Requires YunoHost version *.*.* or higher.
|
||||||
|
ynh_install_apps() {
|
||||||
|
# Declare an array to define the options of this helper.
|
||||||
|
local legacy_args=a
|
||||||
|
local -A args_array=([a]=apps=)
|
||||||
|
local apps
|
||||||
|
# Manage arguments with getopts
|
||||||
|
ynh_handle_getopts_args "$@"
|
||||||
|
|
||||||
|
# Split the list of apps in an array
|
||||||
|
local apps_list=($(echo $apps | tr " " "\n"))
|
||||||
|
local apps_dependencies=""
|
||||||
|
|
||||||
|
# For each app
|
||||||
|
for one_app_and_its_args in "${apps_list[@]}"
|
||||||
|
do
|
||||||
|
# Retrieve the name of the app (part before ?)
|
||||||
|
local one_app=$(cut -d "?" -f1 <<< "$one_app_and_its_args")
|
||||||
|
[ -z "$one_app" ] && ynh_die --message="You didn't provided a YunoHost app to install"
|
||||||
|
|
||||||
|
yunohost tools update apps
|
||||||
|
|
||||||
|
# Installing or upgrading the app depending if it's installed or not
|
||||||
|
if ! yunohost app list --output-as json --quiet | jq -e --arg id $one_app '.apps[] | select(.id == $id)' >/dev/null
|
||||||
|
then
|
||||||
|
# Retrieve the arguments of the app (part after ?)
|
||||||
|
local one_argument=$(cut -d "?" -f2- <<< "$one_app_and_its_args")
|
||||||
|
[ ! -z "$one_argument" ] && one_argument="--args $one_argument"
|
||||||
|
|
||||||
|
# Install the app with its arguments
|
||||||
|
yunohost app install $one_app $one_argument
|
||||||
|
else
|
||||||
|
# Upgrade the app
|
||||||
|
yunohost app upgrade $one_app
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -z "$apps_dependencies" ]
|
||||||
|
then
|
||||||
|
apps_dependencies="$apps_dependencies, $one_app"
|
||||||
|
else
|
||||||
|
apps_dependencies="$one_app"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
ynh_app_setting_set --app=$app --key=apps_dependencies --value="$apps_dependencies"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Remove other YunoHost apps
|
||||||
|
#
|
||||||
|
# Other YunoHost apps will be removed only if no other apps need them.
|
||||||
|
#
|
||||||
|
# usage: ynh_remove_apps
|
||||||
|
#
|
||||||
|
# Requires YunoHost version *.*.* or higher.
|
||||||
|
ynh_remove_apps() {
|
||||||
|
# Retrieve the apps dependencies of the app
|
||||||
|
local apps_dependencies=$(ynh_app_setting_get --app=$app --key=apps_dependencies)
|
||||||
|
ynh_app_setting_delete --app=$app --key=apps_dependencies
|
||||||
|
|
||||||
|
if [ ! -z "$apps_dependencies" ]
|
||||||
|
then
|
||||||
|
# Split the list of apps dependencies in an array
|
||||||
|
local apps_dependencies_list=($(echo $apps_dependencies | tr ", " "\n"))
|
||||||
|
|
||||||
|
# For each apps dependencies
|
||||||
|
for one_app in "${apps_dependencies_list[@]}"
|
||||||
|
do
|
||||||
|
# Retrieve the list of installed apps
|
||||||
|
local installed_apps_list=$(yunohost app list --output-as json --quiet | jq -r .apps[].id)
|
||||||
|
local required_by=""
|
||||||
|
local installed_app_required_by=""
|
||||||
|
|
||||||
|
# For each other installed app
|
||||||
|
for one_installed_app in $installed_apps_list
|
||||||
|
do
|
||||||
|
# Retrieve the other apps dependencies
|
||||||
|
one_installed_apps_dependencies=$(ynh_app_setting_get --app=$one_installed_app --key=apps_dependencies)
|
||||||
|
if [ ! -z "$one_installed_apps_dependencies" ]
|
||||||
|
then
|
||||||
|
one_installed_apps_dependencies_list=($(echo $one_installed_apps_dependencies | tr ", " "\n"))
|
||||||
|
|
||||||
|
# For each dependency of the other apps
|
||||||
|
for one_installed_app_dependency in "${one_installed_apps_dependencies_list[@]}"
|
||||||
|
do
|
||||||
|
if [[ $one_installed_app_dependency == $one_app ]]; then
|
||||||
|
required_by="$required_by $one_installed_app"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# If $one_app is no more required
|
||||||
|
if [[ -z "$required_by" ]]
|
||||||
|
then
|
||||||
|
# Remove $one_app
|
||||||
|
ynh_print_info --message="Removing of $one_app"
|
||||||
|
yunohost app remove $one_app --purge
|
||||||
|
else
|
||||||
|
ynh_print_info --message="$one_app was not removed because it's still required by${required_by}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
Loading…
Reference in a new issue