mirror of
https://github.com/YunoHost-Apps/jitsi_ynh.git
synced 2024-09-03 19:35:57 +02:00
more jitsi ready
This commit is contained in:
parent
7cb7583ee4
commit
c9e4ed4a4b
16 changed files with 325 additions and 272 deletions
36
conf/jitsi-jicofo-logging.properties
Normal file
36
conf/jitsi-jicofo-logging.properties
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
|
||||||
|
handlers= java.util.logging.ConsoleHandler
|
||||||
|
#handlers= java.util.logging.ConsoleHandler, com.agafua.syslog.SyslogHandler
|
||||||
|
|
||||||
|
java.util.logging.ConsoleHandler.level = ALL
|
||||||
|
java.util.logging.ConsoleHandler.formatter = net.java.sip.communicator.util.ScLogFormatter
|
||||||
|
|
||||||
|
net.java.sip.communicator.util.ScLogFormatter.programname=Jicofo
|
||||||
|
|
||||||
|
.level=INFO
|
||||||
|
net.sf.level=SEVERE
|
||||||
|
net.java.sip.communicator.plugin.reconnectplugin.level=FINE
|
||||||
|
org.ice4j.level=SEVERE
|
||||||
|
org.jitsi.impl.neomedia.level=SEVERE
|
||||||
|
|
||||||
|
# Do not worry about missing strings
|
||||||
|
net.java.sip.communicator.service.resources.AbstractResourcesService.level=SEVERE
|
||||||
|
|
||||||
|
#net.java.sip.communicator.service.protocol.level=ALL
|
||||||
|
|
||||||
|
# Enable debug packets logging
|
||||||
|
#org.jitsi.impl.protocol.xmpp.level=FINE
|
||||||
|
|
||||||
|
# Syslog(uncomment handler to use)
|
||||||
|
com.agafua.syslog.SyslogHandler.transport = udp
|
||||||
|
com.agafua.syslog.SyslogHandler.facility = local0
|
||||||
|
com.agafua.syslog.SyslogHandler.port = 514
|
||||||
|
com.agafua.syslog.SyslogHandler.hostname = localhost
|
||||||
|
com.agafua.syslog.SyslogHandler.formatter = net.java.sip.communicator.util.ScLogFormatter
|
||||||
|
com.agafua.syslog.SyslogHandler.escapeNewlines = false
|
||||||
|
|
||||||
|
# to disable double timestamps in syslog uncomment next line
|
||||||
|
#net.java.sip.communicator.util.ScLogFormatter.disableTimestamp=true
|
||||||
|
|
||||||
|
# uncomment to see how Jicofo talks to the JVB
|
||||||
|
#org.jitsi.impl.protocol.xmpp.colibri.level=ALL
|
1
conf/jitsi-jicofo-sip-communicator.properties
Normal file
1
conf/jitsi-jicofo-sip-communicator.properties
Normal file
|
@ -0,0 +1 @@
|
||||||
|
org.jitsi.jicofo.BRIDGE_MUC=JvbBrewery@internal.auth.__DOMAIN__
|
27
conf/jitsi-jicofo.config
Normal file
27
conf/jitsi-jicofo.config
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
# Jitsi Conference Focus settings
|
||||||
|
# sets the host name of the XMPP server
|
||||||
|
JICOFO_HOST=localhost
|
||||||
|
|
||||||
|
# sets the XMPP domain (default: none)
|
||||||
|
JICOFO_HOSTNAME=__DOMAIN__
|
||||||
|
|
||||||
|
# sets the secret used to authenticate as an XMPP component
|
||||||
|
JICOFO_SECRET=__FOCUS_SECRET__
|
||||||
|
|
||||||
|
# sets the port to use for the XMPP component connection
|
||||||
|
JICOFO_PORT=__PORT_COMPONENT__
|
||||||
|
|
||||||
|
# sets the XMPP domain name to use for XMPP user logins
|
||||||
|
JICOFO_AUTH_DOMAIN=auth.__DOMAIN__
|
||||||
|
|
||||||
|
# sets the username to use for XMPP user logins
|
||||||
|
JICOFO_AUTH_USER=__FOCUS_USER__
|
||||||
|
|
||||||
|
# sets the password to use for XMPP user logins
|
||||||
|
JICOFO_AUTH_PASSWORD=__FOCUS_PASSWORD__
|
||||||
|
|
||||||
|
# extra options to pass to the jicofo daemon
|
||||||
|
JICOFO_OPTS=""
|
||||||
|
|
||||||
|
# adds java system props that are passed to jicofo (default are for home and logging config file)
|
||||||
|
JAVA_SYS_PROPS="-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/__APP__ -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=jicofo -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi -Djava.util.logging.config.file=/etc/__APP__/jicofo/logging.properties"
|
|
@ -6,8 +6,9 @@ After=network.target
|
||||||
Type=simple
|
Type=simple
|
||||||
User=__APP__
|
User=__APP__
|
||||||
Group=__APP__
|
Group=__APP__
|
||||||
|
EnvironmentFile=/etc/__APP__/jicofo/config
|
||||||
WorkingDirectory=__FINALPATH__/jicofo/
|
WorkingDirectory=__FINALPATH__/jicofo/
|
||||||
ExecStart=__FINALPATH__/jicofo/jicofo.sh --host=localhost --domain=__DOMAIN__ --port=__PORT_COMPONENT__ --secret=__FOCUS_SECRET__ --user_domain=auth.__DOMAIN__ --user_name=__FOCUS_USER__ --user_password=__FOCUS_PASSWORD__ & >> /var/log/__APP__/__APP__-jitsi-jicofo.log 2>&1
|
ExecStart=/bin/bash -c "exec __FINALPATH__/jicofo/jicofo.sh --host=$JICOFO_HOST --domain=$JICOFO_HOSTNAME --port=$JICOFO_PORT --secret=$JICOFO_SECRET --user_name=$JICOFO_AUTH_USER --user_domain=$JICOFO_AUTH_DOMAIN --user_password=$JICOFO_AUTH_PASSWORD $JICOFO_OPTS"
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|
39
conf/jitsi-videobridge-logging.properties
Normal file
39
conf/jitsi-videobridge-logging.properties
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
handlers= java.util.logging.ConsoleHandler
|
||||||
|
#handlers= java.util.logging.ConsoleHandler, com.agafua.syslog.SyslogHandler
|
||||||
|
|
||||||
|
java.util.logging.ConsoleHandler.level = ALL
|
||||||
|
java.util.logging.ConsoleHandler.formatter = org.jitsi.utils.logging2.JitsiLogFormatter
|
||||||
|
|
||||||
|
net.java.sip.communicator.util.ScLogFormatter.programname=JVB
|
||||||
|
|
||||||
|
.level=INFO
|
||||||
|
|
||||||
|
org.jitsi.videobridge.xmpp.ComponentImpl.level=FINE
|
||||||
|
|
||||||
|
# All of the INFO level logs from MediaStreamImpl are unnecessary in the context of jitsi-videobridge.
|
||||||
|
org.jitsi.impl.neomedia.MediaStreamImpl.level=WARNING
|
||||||
|
|
||||||
|
# Syslog(uncomment handler to use)
|
||||||
|
com.agafua.syslog.SyslogHandler.transport = udp
|
||||||
|
com.agafua.syslog.SyslogHandler.facility = local0
|
||||||
|
com.agafua.syslog.SyslogHandler.port = 514
|
||||||
|
com.agafua.syslog.SyslogHandler.hostname = localhost
|
||||||
|
com.agafua.syslog.SyslogHandler.formatter = org.jitsi.utils.logging2.JitsiLogFormatter
|
||||||
|
com.agafua.syslog.SyslogHandler.escapeNewlines = false
|
||||||
|
|
||||||
|
# to disable double timestamps in syslog uncomment next line
|
||||||
|
#net.java.sip.communicator.util.ScLogFormatter.disableTimestamp=true
|
||||||
|
|
||||||
|
# time series logging
|
||||||
|
java.util.logging.SimpleFormatter.format= %5$s%n
|
||||||
|
java.util.logging.FileHandler.level = ALL
|
||||||
|
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
|
||||||
|
java.util.logging.FileHandler.pattern = /tmp/jvb-series.log
|
||||||
|
java.util.logging.FileHandler.limit = 200000000
|
||||||
|
java.util.logging.FileHandler.count = 1
|
||||||
|
java.util.logging.FileHandler.append = false
|
||||||
|
|
||||||
|
timeseries.level=OFF
|
||||||
|
timeseries.org.jitsi.videobridge.cc.vp8.level=ALL
|
||||||
|
timeseries.useParentHandlers = false
|
||||||
|
timeseries.handlers = java.util.logging.FileHandler
|
|
@ -1,10 +1,3 @@
|
||||||
org.jitsi.impl.neomedia.transform.srtp.SRTPCryptoContext.checkReplay=false
|
|
||||||
org.jitsi.videobridge.TCP_HARVESTER_PORT=__PORT__
|
|
||||||
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=__PRIVATE_IPV4__
|
|
||||||
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=__PUBLIC_IPV4__
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
org.ice4j.ice.harvest.DISABLE_AWS_HARVESTER=true
|
org.ice4j.ice.harvest.DISABLE_AWS_HARVESTER=true
|
||||||
org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES=meet-jit-si-turnrelay.jitsi.net:443
|
org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES=meet-jit-si-turnrelay.jitsi.net:443
|
||||||
org.jitsi.videobridge.ENABLE_STATISTICS=true
|
org.jitsi.videobridge.ENABLE_STATISTICS=true
|
||||||
|
@ -15,3 +8,7 @@ org.jitsi.videobridge.xmpp.user.shard.USERNAME=__JVB_USER__
|
||||||
org.jitsi.videobridge.xmpp.user.shard.PASSWORD=__JVB_PASSWORD__
|
org.jitsi.videobridge.xmpp.user.shard.PASSWORD=__JVB_PASSWORD__
|
||||||
org.jitsi.videobridge.xmpp.user.shard.MUC_JIDS=JvbBrewery@internal.auth.__DOMAIN__
|
org.jitsi.videobridge.xmpp.user.shard.MUC_JIDS=JvbBrewery@internal.auth.__DOMAIN__
|
||||||
org.jitsi.videobridge.xmpp.user.shard.MUC_NICKNAME=__MUC_NICKNAME__
|
org.jitsi.videobridge.xmpp.user.shard.MUC_NICKNAME=__MUC_NICKNAME__
|
||||||
|
org.jitsi.impl.neomedia.transform.srtp.SRTPCryptoContext.checkReplay=false
|
||||||
|
org.jitsi.videobridge.TCP_HARVESTER_PORT=__PORT__
|
||||||
|
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=__PRIVATE_IPV4__
|
||||||
|
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=__PUBLIC_IPV4__
|
20
conf/jitsi-videobridge.config
Normal file
20
conf/jitsi-videobridge.config
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# Jitsi Videobridge settings
|
||||||
|
|
||||||
|
# sets the XMPP domain (default: none)
|
||||||
|
JVB_HOSTNAME=__DOMAIN__
|
||||||
|
|
||||||
|
# sets the hostname of the XMPP server (default: domain if set, localhost otherwise)
|
||||||
|
JVB_HOST=
|
||||||
|
|
||||||
|
# sets the port of the XMPP server (default: 5275)
|
||||||
|
JVB_PORT=__PORT_COMPONENT__
|
||||||
|
|
||||||
|
# sets the shared secret used to authenticate to the XMPP server
|
||||||
|
JVB_SECRET=__VIDEOBRIDGE_SECRET__
|
||||||
|
|
||||||
|
# extra options to pass to the JVB daemon
|
||||||
|
JVB_OPTS="--apis=,"
|
||||||
|
|
||||||
|
|
||||||
|
# adds java system props that are passed to jvb (default are for home and logging config file)
|
||||||
|
JAVA_SYS_PROPS="-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/__APP__ -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=videobridge -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi -Djava.util.logging.config.file=/etc/__APP__/videobridge/logging.properties"
|
|
@ -6,8 +6,22 @@ After=network.target
|
||||||
Type=simple
|
Type=simple
|
||||||
User=__APP__
|
User=__APP__
|
||||||
Group=__APP__
|
Group=__APP__
|
||||||
|
SuccessExitStatus=143
|
||||||
|
# allow bind to 80 and 443
|
||||||
|
AmbientCapabilities=CAP_NET_BIND_SERVICE
|
||||||
|
EnvironmentFile=/etc/__APP__/videobridge/config
|
||||||
|
Environment=LOGFILE=/var/log/jitsi/jvb.log
|
||||||
|
RuntimeDirectory=jitsi-videobridge
|
||||||
|
RuntimeDirectoryMode=0750
|
||||||
|
PIDFile=/var/run/jitsi-videobridge/jitsi-videobridge.pid
|
||||||
|
# more threads for this process
|
||||||
|
TasksMax=65000
|
||||||
|
# allow more open files for this process
|
||||||
|
LimitNPROC=65000
|
||||||
|
LimitNOFILE=65000
|
||||||
WorkingDirectory=__FINALPATH__/jitsi-videobridge/
|
WorkingDirectory=__FINALPATH__/jitsi-videobridge/
|
||||||
ExecStart=__FINALPATH__/jitsi-videobridge/jvb.sh --host=localhost --domain=__DOMAIN__ --port=__PORT_COMPONENT__ --secret=__VIDEOBRIDGE_SECRET__ </dev/null >> /var/log/jvb.log 2>&1
|
ExecStart=/bin/bash -c "exec __FINALPATH__/jitsi-videobridge/jvb.sh --host=$${JVB_HOST:-localhost} --domain=${JVB_HOSTNAME} --port=${JVB_PORT} --secret=${JVB_SECRET} ${JVB_OPTS}"
|
||||||
|
ExecStartPost=/bin/bash -c "echo $MAINPID > /var/run/jitsi-videobridge/jitsi-videobridge.pid"
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|
|
@ -1,29 +1,11 @@
|
||||||
-- Prosody XMPP Server Configuration
|
|
||||||
--
|
|
||||||
-- Information on configuring Prosody can be found on our
|
|
||||||
-- website at http://prosody.im/doc/configure
|
|
||||||
--
|
|
||||||
-- Tip: You can check that the syntax of this file is correct
|
|
||||||
-- when you have finished by running: prosodyctl check config
|
|
||||||
-- If there are any errors, it will let you know what and where
|
|
||||||
-- they are, otherwise it will keep quiet.
|
|
||||||
--
|
|
||||||
-- Good luck, and happy Jabbering!
|
|
||||||
|
|
||||||
|
|
||||||
---------- Server-wide settings ----------
|
|
||||||
-- Settings in this section apply to the whole server and are the default settings
|
|
||||||
-- for any virtual hosts
|
|
||||||
|
|
||||||
-- This is a (by default, empty) list of accounts that are admins
|
|
||||||
-- for the server. Note that you must create the accounts separately
|
|
||||||
-- (see http://prosody.im/doc/creating_accounts for info)
|
|
||||||
-- Example: admins = { "user1@example.com", "user2@example.net" }
|
|
||||||
daemonize = true
|
|
||||||
component_ports = { __PORT_COMPONENT__ }
|
component_ports = { __PORT_COMPONENT__ }
|
||||||
plugin_paths = { "__FINAL_PATH__/jitsi-meet-prosody/" }
|
plugin_paths = { "__FINAL_PATH__/jitsi-meet-prosody/" }
|
||||||
|
|
||||||
|
-- domain mapper options, must at least have domain base set to use the mapper
|
||||||
muc_mapper_domain_base = "__DOMAIN__";
|
muc_mapper_domain_base = "__DOMAIN__";
|
||||||
|
|
||||||
turncredentials_secret = "__TURN_SECRET__";
|
turncredentials_secret = "__TURN_SECRET__";
|
||||||
|
|
||||||
turncredentials = {
|
turncredentials = {
|
||||||
{ type = "stun", host = "__DOMAIN__", port = "443" },
|
{ type = "stun", host = "__DOMAIN__", port = "443" },
|
||||||
{ type = "turn", host = "__DOMAIN__", port = "443", transport = "udp" },
|
{ type = "turn", host = "__DOMAIN__", port = "443", transport = "udp" },
|
||||||
|
@ -32,143 +14,14 @@ turncredentials = {
|
||||||
|
|
||||||
cross_domain_bosh = false;
|
cross_domain_bosh = false;
|
||||||
consider_bosh_secure = true;
|
consider_bosh_secure = true;
|
||||||
--component_interface = "192.168.0.10"
|
|
||||||
|
|
||||||
-- Enable use of libevent for better performance under high load
|
|
||||||
-- For more information see: http://prosody.im/doc/libevent
|
|
||||||
--use_libevent = true
|
|
||||||
|
|
||||||
-- This is the list of modules Prosody will load on startup.
|
|
||||||
-- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too.
|
|
||||||
-- Documentation on modules can be found at: http://prosody.im/doc/modules
|
|
||||||
modules_enabled = {
|
|
||||||
|
|
||||||
-- Generally required
|
|
||||||
"roster"; -- Allow users to have a roster. Recommended ;)
|
|
||||||
"saslauth"; -- Authentication for clients and servers. Recommended if you want to log in.
|
|
||||||
"tls"; -- Add support for secure TLS on c2s/s2s connections
|
|
||||||
"dialback"; -- s2s dialback support
|
|
||||||
"disco"; -- Service discovery
|
|
||||||
"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
|
|
||||||
|
|
||||||
-- Not essential, but recommended
|
|
||||||
"private"; -- Private XML storage (for room bookmarks, etc.)
|
|
||||||
"vcard"; -- Allow users to set vCards
|
|
||||||
|
|
||||||
-- These are commented by default as they have a performance impact
|
|
||||||
--"privacy"; -- Support privacy lists
|
|
||||||
"compression"; -- Stream compression (requires the lua-zlib package installed)
|
|
||||||
|
|
||||||
-- Nice to have
|
|
||||||
"version"; -- Replies to server version requests
|
|
||||||
"uptime"; -- Report how long server has been running
|
|
||||||
"time"; -- Let others know the time here on this server
|
|
||||||
"ping"; -- Replies to XMPP pings with pongs
|
|
||||||
"pep"; -- Enables users to publish their mood, activity, playing music and more
|
|
||||||
"register"; -- Allow users to register on this server using a client and change passwords
|
|
||||||
|
|
||||||
-- Admin interfaces
|
|
||||||
"admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands
|
|
||||||
--"admin_telnet"; -- Opens telnet console interface on localhost port 5582
|
|
||||||
|
|
||||||
-- HTTP modules
|
|
||||||
--"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
|
|
||||||
--"http_files"; -- Serve static files from a directory over HTTP
|
|
||||||
|
|
||||||
-- Other specific functionality
|
|
||||||
"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
|
|
||||||
--"groups"; -- Shared roster support
|
|
||||||
--"announce"; -- Send announcement to all online users
|
|
||||||
--"welcome"; -- Welcome users who register accounts
|
|
||||||
--"watchregistrations"; -- Alert admins of registrations
|
|
||||||
--"motd"; -- Send a message to users when they log in
|
|
||||||
--"legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
|
|
||||||
}
|
|
||||||
|
|
||||||
-- These modules are auto-loaded, but should you want
|
|
||||||
-- to disable them then uncomment them here:
|
|
||||||
modules_disabled = {
|
|
||||||
-- "offline"; -- Store offline messages
|
|
||||||
-- "c2s"; -- Handle client connections
|
|
||||||
-- "s2s"; -- Handle server-to-server connections
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Disable account creation by default, for security
|
|
||||||
-- For more information see http://prosody.im/doc/creating_accounts
|
|
||||||
allow_registration = false
|
|
||||||
|
|
||||||
-- These are the SSL/TLS-related settings. If you don't want
|
|
||||||
-- to use SSL/TLS, you may comment or remove this
|
|
||||||
-- ssl = {
|
|
||||||
-- key = "/etc/prosody/certs/localhost.key";
|
|
||||||
-- certificate = "/etc/prosody/certs/localhost.crt";
|
|
||||||
--}
|
|
||||||
|
|
||||||
-- Force clients to use encrypted connections? This option will
|
|
||||||
-- prevent clients from authenticating unless they are using encryption.
|
|
||||||
|
|
||||||
-- c2s_require_encryption = true
|
|
||||||
|
|
||||||
-- Force certificate authentication for server-to-server connections?
|
|
||||||
-- This provides ideal security, but requires servers you communicate
|
|
||||||
-- with to support encryption AND present valid, trusted certificates.
|
|
||||||
-- NOTE: Your version of LuaSec must support certificate verification!
|
|
||||||
-- For more information see http://prosody.im/doc/s2s#security
|
|
||||||
|
|
||||||
-- s2s_secure_auth = false
|
|
||||||
|
|
||||||
-- Many servers don't support encryption or have invalid or self-signed
|
|
||||||
-- certificates. You can list domains here that will not be required to
|
|
||||||
-- authenticate using certificates. They will be authenticated using DNS.
|
|
||||||
|
|
||||||
--s2s_insecure_domains = { "gmail.com" }
|
|
||||||
|
|
||||||
-- Even if you leave s2s_secure_auth disabled, you can still require valid
|
|
||||||
-- certificates for some domains by specifying a list here.
|
|
||||||
|
|
||||||
--s2s_secure_domains = { "jabber.org" }
|
|
||||||
|
|
||||||
-- Required for init scripts and prosodyctl
|
|
||||||
-- pidfile = "/var/run/prosody/prosody.pid"
|
|
||||||
|
|
||||||
-- Select the authentication backend to use. The 'internal' providers
|
|
||||||
-- use Prosody's configured data storage to store the authentication data.
|
|
||||||
-- To allow Prosody to offer secure authentication mechanisms to clients, the
|
|
||||||
-- default provider stores passwords in plaintext. If you do not trust your
|
|
||||||
-- server please see http://prosody.im/doc/modules/mod_auth_internal_hashed
|
|
||||||
-- for information about using the hashed backend.
|
|
||||||
|
|
||||||
-- authentication = "internal_plain"
|
|
||||||
|
|
||||||
-- Select the storage backend to use. By default Prosody uses flat files
|
|
||||||
-- in its configured data directory, but it also supports more backends
|
|
||||||
-- through modules. An "sql" backend is included by default, but requires
|
|
||||||
-- additional dependencies. See http://prosody.im/doc/storage for more info.
|
|
||||||
|
|
||||||
--storage = "sql" -- Default is "internal"
|
|
||||||
|
|
||||||
-- For the "sql" backend, you can uncomment *one* of the below to configure:
|
|
||||||
--sql = { driver = "SQLite3", database = "prosody.sqlite" } -- Default. 'database' is the filename.
|
|
||||||
--sql = { driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" }
|
|
||||||
--sql = { driver = "PostgreSQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" }
|
|
||||||
|
|
||||||
-- Logging configuration
|
|
||||||
-- For advanced logging see http://prosody.im/doc/logging
|
|
||||||
-- log = {
|
|
||||||
-- info = "/var/log/prosody/prosody.log"; -- Change 'info' to 'debug' for verbose logging
|
|
||||||
-- error = "/var/log/prosody/prosody.err";
|
|
||||||
-- "*syslog";
|
|
||||||
-- }
|
|
||||||
|
|
||||||
----------- Virtual hosts -----------
|
|
||||||
-- You need to add a VirtualHost entry for each domain you wish Prosody to serve.
|
|
||||||
-- Settings under each VirtualHost entry apply *only* to that host.
|
|
||||||
|
|
||||||
--VirtualHost "localhost"
|
|
||||||
|
|
||||||
VirtualHost "__DOMAIN__"
|
VirtualHost "__DOMAIN__"
|
||||||
-- enabled = false -- Remove this line to enable this host
|
-- enabled = false -- Remove this line to enable this host
|
||||||
authentication = "anonymous"
|
authentication = "anonymous"
|
||||||
|
-- Properties below are modified by jitsi-meet-tokens package config
|
||||||
|
-- and authentication above is switched to "token"
|
||||||
|
--app_id="example_app_id"
|
||||||
|
--app_secret="example_app_secret"
|
||||||
-- Assign this host a certificate for TLS, otherwise it would use the one
|
-- Assign this host a certificate for TLS, otherwise it would use the one
|
||||||
-- set in the global section (if any).
|
-- set in the global section (if any).
|
||||||
-- Note that old-style SSL on port 5223 only supports one certificate, and will always
|
-- Note that old-style SSL on port 5223 only supports one certificate, and will always
|
||||||
|
@ -190,6 +43,18 @@ VirtualHost "__DOMAIN__"
|
||||||
}
|
}
|
||||||
c2s_require_encryption = false
|
c2s_require_encryption = false
|
||||||
|
|
||||||
|
Component "conference.__DOMAIN__" "muc"
|
||||||
|
storage = "null"
|
||||||
|
modules_enabled = {
|
||||||
|
"muc_meeting_id";
|
||||||
|
-- "muc_domain_mapper";
|
||||||
|
-- "token_verification";
|
||||||
|
}
|
||||||
|
admins = { "__FOCUS_USER__@auth.__DOMAIN__" }
|
||||||
|
muc_room_locking = false
|
||||||
|
muc_room_default_public_jids = true
|
||||||
|
|
||||||
|
-- internal muc component
|
||||||
Component "internal.auth.__DOMAIN__" "muc"
|
Component "internal.auth.__DOMAIN__" "muc"
|
||||||
storage = "null"
|
storage = "null"
|
||||||
modules_enabled = {
|
modules_enabled = {
|
||||||
|
@ -213,40 +78,6 @@ VirtualHost "auth.__DOMAIN__"
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
------ Components ------
|
|
||||||
-- You can specify components to add hosts that provide special services,
|
|
||||||
-- like multi-user conferences, and transports.
|
|
||||||
-- For more information on components, see http://prosody.im/doc/components
|
|
||||||
|
|
||||||
---Set up a MUC (multi-user chat) room server on conference.example.com:
|
|
||||||
--Component "conference.example.com" "muc"
|
|
||||||
|
|
||||||
-- Set up a SOCKS5 bytestream proxy for server-proxied file transfers:
|
|
||||||
--Component "proxy.example.com" "proxy65"
|
|
||||||
|
|
||||||
---Set up an external component (default component port is 5347)
|
|
||||||
--
|
|
||||||
-- External components allow adding various services, such as gateways/
|
|
||||||
-- transports to other networks like ICQ, MSN and Yahoo. For more info
|
|
||||||
-- see: http://prosody.im/doc/components#adding_an_external_component
|
|
||||||
--
|
|
||||||
--Component "gateway.example.com"
|
|
||||||
-- component_secret = "password"
|
|
||||||
|
|
||||||
Component "conference.__DOMAIN__" "muc"
|
|
||||||
storage = "null"
|
|
||||||
modules_enabled = {
|
|
||||||
-- "muc_meeting_id";
|
|
||||||
-- "muc_domain_mapper";
|
|
||||||
-- "token_verification";
|
|
||||||
}
|
|
||||||
admins = { "__FOCUS_USER__@auth.__DOMAIN__" }
|
|
||||||
-- muc_room_locking = false
|
|
||||||
-- muc_room_default_public_jids = true
|
|
||||||
|
|
||||||
Component "jitsi-videobridge.__DOMAIN__"
|
|
||||||
component_secret = "__VIDEOBRIDGE_SECRET__"
|
|
||||||
|
|
||||||
Component "focus.__DOMAIN__"
|
Component "focus.__DOMAIN__"
|
||||||
component_secret = "__FOCUS_SECRET__"
|
component_secret = "__FOCUS_SECRET__"
|
||||||
|
|
||||||
|
@ -255,3 +86,6 @@ Component "speakerstats.__DOMAIN__" "speakerstats_component"
|
||||||
|
|
||||||
Component "conferenceduration.__DOMAIN__" "conference_duration_component"
|
Component "conferenceduration.__DOMAIN__" "conference_duration_component"
|
||||||
muc_component = "conference.__DOMAIN__"
|
muc_component = "conference.__DOMAIN__"
|
||||||
|
|
||||||
|
--Component "jitsi-videobridge.__DOMAIN__"
|
||||||
|
-- component_secret = "__VIDEOBRIDGE_SECRET__"
|
||||||
|
|
|
@ -9,7 +9,7 @@ error_page 404 /static/404.html;
|
||||||
|
|
||||||
|
|
||||||
location = /config.js {
|
location = /config.js {
|
||||||
alias __FINALPATH__/jitsi-meet-web/config.js;
|
alias /etc/__NAME__/meet/config.js;
|
||||||
}
|
}
|
||||||
|
|
||||||
location = /external_api.js {
|
location = /external_api.js {
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
# dependencies used by the app
|
# dependencies used by the app
|
||||||
pkg_dependencies="openjdk-8-jdk|openjdk-11-jdk openjdk-8-jre|openjdk-11-jre maven"
|
pkg_dependencies="openjdk-8-jre-headless|openjdk-11-jre-headless"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# PERSONAL HELPERS
|
# PERSONAL HELPERS
|
||||||
|
|
|
@ -69,6 +69,13 @@ ynh_backup --src_path="/usr/share/yunohost/templates/jitsi/auth.$domain.cfg.lua"
|
||||||
# Backup Metronome Hook
|
# Backup Metronome Hook
|
||||||
ynh_backup --src_path="/usr/share/yunohost/hooks/conf_regen/50-metronome_$app"
|
ynh_backup --src_path="/usr/share/yunohost/hooks/conf_regen/50-metronome_$app"
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# BACKUP THE APP CONFIG
|
||||||
|
#=================================================
|
||||||
|
ynh_print_info --message="Backing up the app config..."
|
||||||
|
|
||||||
|
ynh_backup --src_path="/etc/$app"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SPECIFIC BACKUP
|
# SPECIFIC BACKUP
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -15,6 +15,7 @@ source /usr/share/yunohost/helpers
|
||||||
ynh_print_info --message="Managing script failure..."
|
ynh_print_info --message="Managing script failure..."
|
||||||
|
|
||||||
ynh_clean_setup () {
|
ynh_clean_setup () {
|
||||||
|
read -p "key"
|
||||||
ynh_clean_check_starting
|
ynh_clean_check_starting
|
||||||
}
|
}
|
||||||
# Exit if an error occurs during the execution of the script
|
# Exit if an error occurs during the execution of the script
|
||||||
|
@ -189,25 +190,68 @@ ynh_print_info --message="Configuring Jitsi-Videobridge..."
|
||||||
public_ipv4="$(curl ip.yunohost.org)" || true
|
public_ipv4="$(curl ip.yunohost.org)" || true
|
||||||
private_ipv4="$(ip route get 1 | sed -n 's/^.*src \([0-9.]*\) .*$/\1/p')" || true
|
private_ipv4="$(ip route get 1 | sed -n 's/^.*src \([0-9.]*\) .*$/\1/p')" || true
|
||||||
|
|
||||||
mkdir -p "$final_path/.sip-communicator"
|
mkdir -p "/etc/$app/videobridge"
|
||||||
cp ../conf/sip-communicator.properties "$final_path/.sip-communicator/sip-communicator.properties"
|
|
||||||
ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$final_path/.sip-communicator/sip-communicator.properties"
|
jitsi_videobridge_sip_communicator_conf="/etc/$app/videobridge/sip-communicator.properties"
|
||||||
ynh_replace_string --match_string="__PRIVATE_IPV4__" --replace_string="$private_ipv4" --target_file="$final_path/.sip-communicator/sip-communicator.properties"
|
cp ../conf/jitsi-videobridge-sip-communicator.properties "$jitsi_videobridge_sip_communicator_conf"
|
||||||
ynh_replace_string --match_string="__PUBLIC_IPV4__" --replace_string="$public_ipv4" --target_file="$final_path/.sip-communicator/sip-communicator.properties"
|
ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$final_path/.sip-communicator/sip-communicator.properties"
|
ynh_replace_string --match_string="__PRIVATE_IPV4__" --replace_string="$private_ipv4" --target_file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
ynh_replace_string --match_string="__JVB_USER__" --replace_string="$jvb_user" --target_file="$final_path/.sip-communicator/sip-communicator.properties"
|
ynh_replace_string --match_string="__PUBLIC_IPV4__" --replace_string="$public_ipv4" --target_file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
ynh_replace_string --match_string="__JVB_PASSWORD__" --replace_string="$jvb_password" --target_file="$final_path/.sip-communicator/sip-communicator.properties"
|
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
ynh_replace_string --match_string="__MUC_NICKNAME__" --replace_string="$muc_nickname" --target_file="$final_path/.sip-communicator/sip-communicator.properties"
|
ynh_replace_string --match_string="__JVB_USER__" --replace_string="$jvb_user" --target_file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
chown -R $app: $final_path
|
ynh_replace_string --match_string="__JVB_PASSWORD__" --replace_string="$jvb_password" --target_file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
|
ynh_replace_string --match_string="__MUC_NICKNAME__" --replace_string="$muc_nickname" --target_file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
|
|
||||||
|
jitsi_videobridge_conf="/etc/$app/videobridge/config"
|
||||||
|
cp ../conf/jitsi-videobridge.config "$jitsi_videobridge_conf"
|
||||||
|
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$jitsi_videobridge_conf"
|
||||||
|
ynh_replace_string --match_string="__PORT_COMPONENT__" --replace_string="$port_component" --target_file="$jitsi_videobridge_conf"
|
||||||
|
ynh_replace_string --match_string="__VIDEOBRIDGE_SECRET__" --replace_string="$videobridge_secret" --target_file="$jitsi_videobridge_conf"
|
||||||
|
ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$jitsi_videobridge_conf"
|
||||||
|
|
||||||
|
jitsi_videobridge_logging_conf="/etc/$app/videobridge/logging.properties"
|
||||||
|
cp ../conf/jitsi-videobridge-logging.properties "$jitsi_videobridge_logging_conf"
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# CONFIGURE JITSI-JICOFO
|
||||||
|
#=================================================
|
||||||
|
ynh_print_info --message="Configuring Jitsi-Jicofo..."
|
||||||
|
|
||||||
|
mkdir -p "/etc/$app/jicofo"
|
||||||
|
|
||||||
|
jitsi_jicofo_sip_communicator_conf="/etc/$app/jicofo/sip-communicator.properties"
|
||||||
|
cp ../conf/jitsi-jicofo-sip-communicator.properties "$jitsi_jicofo_sip_communicator_conf"
|
||||||
|
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$jitsi_jicofo_sip_communicator_conf"
|
||||||
|
|
||||||
|
jitsi_jicofo_conf="/etc/$app/jicofo/config"
|
||||||
|
cp ../conf/jitsi-jicofo.config "$jitsi_jicofo_conf"
|
||||||
|
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$jitsi_jicofo_conf"
|
||||||
|
ynh_replace_string --match_string="__PORT_COMPONENT__" --replace_string="$port_component" --target_file="$jitsi_jicofo_conf"
|
||||||
|
ynh_replace_string --match_string="__FOCUS_SECRET__" --replace_string="$focus_secret" --target_file="$jitsi_jicofo_conf"
|
||||||
|
ynh_replace_string --match_string="__FOCUS_USER__" --replace_string="$focus_user" --target_file="$jitsi_jicofo_conf"
|
||||||
|
ynh_replace_string --match_string="__FOCUS_PASSWORD__" --replace_string="$focus_password" --target_file="$jitsi_jicofo_conf"
|
||||||
|
ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$jitsi_jicofo_conf"
|
||||||
|
|
||||||
|
jitsi_jicofo_logging_conf="/etc/$app/jicofo/logging.properties"
|
||||||
|
cp ../conf/jitsi-jicofo-logging.properties "$jitsi_jicofo_logging_conf"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CONFIGURE JITSI-MEET
|
# CONFIGURE JITSI-MEET
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_print_info --message="Configuring Jitsi-Meet..."
|
ynh_print_info --message="Configuring Jitsi-Meet..."
|
||||||
|
|
||||||
config="$final_path/jitsi-meet-web/config.js"
|
mkdir -p "/etc/$app/meet"
|
||||||
cp ../conf/config.js "$config"
|
|
||||||
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$config"
|
jitsi_meet_conf="/etc/$app/meet/config.js"
|
||||||
|
cp ../conf/config.js "$jitsi_meet_conf"
|
||||||
|
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$jitsi_meet_conf"
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# CREATE LOG DIR
|
||||||
|
#=================================================
|
||||||
|
ynh_print_info --message="Creating log dir..."
|
||||||
|
|
||||||
|
mkdir -p "/var/log/$app"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SETUP SYSTEMD
|
# SETUP SYSTEMD
|
||||||
|
@ -215,16 +259,7 @@ ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --targ
|
||||||
ynh_print_info --message="Configuring a systemd service..."
|
ynh_print_info --message="Configuring a systemd service..."
|
||||||
|
|
||||||
# Create a dedicated systemd config
|
# Create a dedicated systemd config
|
||||||
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="../conf/jitsi-videobridge.service"
|
|
||||||
ynh_replace_string --match_string="__VIDEOBRIDGE_SECRET__" --replace_string="$videobridge_secret" --target_file="../conf/jitsi-videobridge.service"
|
|
||||||
ynh_replace_string --match_string="__PORT_COMPONENT__" --replace_string="$port_component" --target_file="../conf/jitsi-videobridge.service"
|
|
||||||
ynh_add_systemd_config --service=$app-videobridge --template="jitsi-videobridge.service"
|
ynh_add_systemd_config --service=$app-videobridge --template="jitsi-videobridge.service"
|
||||||
|
|
||||||
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="../conf/jitsi-jicofo.service"
|
|
||||||
ynh_replace_string --match_string="__PORT_COMPONENT__" --replace_string="$port_component" --target_file="../conf/jitsi-jicofo.service"
|
|
||||||
ynh_replace_string --match_string="__FOCUS_SECRET__" --replace_string="$focus_secret" --target_file="../conf/jitsi-jicofo.service"
|
|
||||||
ynh_replace_string --match_string="__FOCUS_USER__" --replace_string="$focus_user" --target_file="../conf/jitsi-jicofo.service"
|
|
||||||
ynh_replace_string --match_string="__FOCUS_PASSWORD__" --replace_string="$focus_password" --target_file="../conf/jitsi-jicofo.service"
|
|
||||||
ynh_add_systemd_config --service=$app-jicofo --template="jitsi-jicofo.service"
|
ynh_add_systemd_config --service=$app-jicofo --template="jitsi-jicofo.service"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -233,7 +268,13 @@ ynh_add_systemd_config --service=$app-jicofo --template="jitsi-jicofo.service"
|
||||||
ynh_print_info --message="Storing the config file checksum..."
|
ynh_print_info --message="Storing the config file checksum..."
|
||||||
|
|
||||||
# Calculate and store the config file checksum into the app settings
|
# Calculate and store the config file checksum into the app settings
|
||||||
ynh_store_file_checksum --file="$config"
|
ynh_store_file_checksum --file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
|
ynh_store_file_checksum --file="$jitsi_videobridge_conf"
|
||||||
|
ynh_store_file_checksum --file="$jitsi_videobridge_logging_conf"
|
||||||
|
ynh_store_file_checksum --file="$jitsi_jicofo_sip_communicator_conf"
|
||||||
|
ynh_store_file_checksum --file="$jitsi_jicofo_conf"
|
||||||
|
ynh_store_file_checksum --file="$jitsi_jicofo_logging_conf"
|
||||||
|
ynh_store_file_checksum --file="$jitsi_meet_conf"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# GENERIC FINALIZATION
|
# GENERIC FINALIZATION
|
||||||
|
@ -244,6 +285,8 @@ ynh_print_info --message="Securing files and directories..."
|
||||||
|
|
||||||
# Set permissions to app files
|
# Set permissions to app files
|
||||||
chown -R $app: $final_path
|
chown -R $app: $final_path
|
||||||
|
chown -R $app: /etc/$app
|
||||||
|
chown -R $app: /var/log/$app
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SETUP LOGROTATE
|
# SETUP LOGROTATE
|
||||||
|
|
|
@ -135,9 +135,18 @@ yunohost user delete $focus_user --purge
|
||||||
yunohost user delete $jvb_user --purge
|
yunohost user delete $jvb_user --purge
|
||||||
yunohost domain remove auth.$domain
|
yunohost domain remove auth.$domain
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# REMOVE THE CONFIG
|
||||||
|
#=================================================
|
||||||
|
ynh_print_info --message="Removing the config..."
|
||||||
|
|
||||||
|
# Remove the log files
|
||||||
|
ynh_secure_remove --file="/etc/$app"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# REMOVE THE LOG FILES
|
# REMOVE THE LOG FILES
|
||||||
#=================================================
|
#=================================================
|
||||||
|
ynh_print_info --message="Removing the log files..."
|
||||||
|
|
||||||
# Remove the log files
|
# Remove the log files
|
||||||
ynh_secure_remove --file="/var/log/$app"
|
ynh_secure_remove --file="/var/log/$app"
|
||||||
|
|
|
@ -125,6 +125,21 @@ yunohost tools regen-conf metronome
|
||||||
|
|
||||||
ynh_systemd_action --service_name=metronome --action=restart
|
ynh_systemd_action --service_name=metronome --action=restart
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# RESTORE THE APP CONFIG
|
||||||
|
#=================================================
|
||||||
|
ynh_print_info --message="Restoring the app config..."
|
||||||
|
|
||||||
|
ynh_restore_file --origin_path="/etc/$app"
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# CREATE LOG DIR
|
||||||
|
#=================================================
|
||||||
|
ynh_print_info --message="Creating log dir..."
|
||||||
|
|
||||||
|
mkdir -p "/var/log/$app"
|
||||||
|
chown -R $app: /var/log/$app
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# RESTORE SYSTEMD
|
# RESTORE SYSTEMD
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
102
scripts/upgrade
102
scripts/upgrade
|
@ -172,68 +172,86 @@ ynh_system_user_create --username=$app --home_dir=$final_path
|
||||||
#=================================================
|
#=================================================
|
||||||
# SPECIFIC UPGRADE
|
# SPECIFIC UPGRADE
|
||||||
#=================================================
|
#=================================================
|
||||||
# BUILD JITSI-VIDEOBRIDGE
|
# CONFIGURE JITSI-VIDEOBRIDGE
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_print_info --message="Building Jitsi-Videobridge..."
|
ynh_print_info --message="Configuring Jitsi-Videobridge..."
|
||||||
|
|
||||||
if [ "$upgrade_type" == "UPGRADE_APP" ]
|
if [ "$upgrade_type" == "UPGRADE_APP" ]
|
||||||
then
|
then
|
||||||
public_ipv4="$(curl ip.yunohost.org)" || true
|
public_ipv4="$(curl ip.yunohost.org)" || true
|
||||||
private_ipv4="$(ip route get 1 | sed -n 's/^.*src \([0-9.]*\) .*$/\1/p')" || true
|
private_ipv4="$(ip route get 1 | sed -n 's/^.*src \([0-9.]*\) .*$/\1/p')" || true
|
||||||
|
|
||||||
mkdir -p "$final_path/.sip-communicator"
|
jitsi_videobridge_sip_communicator_conf="/etc/$app/videobridge/sip-communicator.properties"
|
||||||
cp ../conf/sip-communicator.properties "$final_path/.sip-communicator/sip-communicator.properties"
|
ynh_backup_if_checksum_is_different --file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$final_path/.sip-communicator/sip-communicator.properties"
|
cp -f ../conf/jitsi_videobridge-sip-communicator.properties "$jitsi_videobridge_sip_communicator_conf"
|
||||||
ynh_replace_string --match_string="__PRIVATE_IPV4__" --replace_string="$private_ipv4" --target_file="$final_path/.sip-communicator/sip-communicator.properties"
|
ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
ynh_replace_string --match_string="__PUBLIC_IPV4__" --replace_string="$public_ipv4" --target_file="$final_path/.sip-communicator/sip-communicator.properties"
|
ynh_replace_string --match_string="__PRIVATE_IPV4__" --replace_string="$private_ipv4" --target_file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
chown -R $app: $final_path
|
ynh_replace_string --match_string="__PUBLIC_IPV4__" --replace_string="$public_ipv4" --target_file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
|
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
|
ynh_replace_string --match_string="__JVB_USER__" --replace_string="$jvb_user" --target_file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
|
ynh_replace_string --match_string="__JVB_PASSWORD__" --replace_string="$jvb_password" --target_file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
|
ynh_replace_string --match_string="__MUC_NICKNAME__" --replace_string="$muc_nickname" --target_file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
|
ynh_store_file_checksum --file="$jitsi_videobridge_sip_communicator_conf"
|
||||||
|
|
||||||
|
jitsi_videobridge_conf="/etc/$app/videobridge/config"
|
||||||
|
ynh_backup_if_checksum_is_different --file="$jitsi_videobridge_conf"
|
||||||
|
cp ../conf/jitsi-videobridge.config "$jitsi_videobridge_conf"
|
||||||
|
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$jitsi_videobridge_conf"
|
||||||
|
ynh_replace_string --match_string="__PORT_COMPONENT__" --replace_string="$port_component" --target_file="$jitsi_videobridge_conf"
|
||||||
|
ynh_replace_string --match_string="__VIDEOBRIDGE_SECRET__" --replace_string="$videobridge_secret" --target_file="$jitsi_videobridge_conf"
|
||||||
|
ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$jitsi_videobridge_conf"
|
||||||
|
ynh_store_file_checksum --file="$jitsi_videobridge_conf"
|
||||||
|
|
||||||
|
jitsi_videobridge_logging_conf="/etc/$app/videobridge/logging.properties"
|
||||||
|
ynh_backup_if_checksum_is_different --file="$jitsi_videobridge_logging_conf"
|
||||||
|
cp ../conf/jitsi-videobridge-logging.properties "$jitsi_videobridge_logging_conf"
|
||||||
|
ynh_store_file_checksum --file="$jitsi_videobridge_logging_conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# BUILD JITSI-JICOFO
|
# CONFIGURE JITSI-JICOFO
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_print_info --message="Building Jitsi-Jicofo..."
|
ynh_print_info --message="configuring Jitsi-Jicofo..."
|
||||||
|
|
||||||
if [ "$upgrade_type" == "UPGRADE_APP" ]
|
if [ "$upgrade_type" == "UPGRADE_APP" ]
|
||||||
then
|
then
|
||||||
pushd "$final_path/jitsi-jicofo-build"
|
jitsi_jicofo_sip_communicator_conf="/etc/$app/jicofo/sip-communicator.properties"
|
||||||
mvn package -DskipTests -Dassembly.skipAssembly=false
|
ynh_backup_if_checksum_is_different --file="$jitsi_jicofo_sip_communicator_conf"
|
||||||
popd
|
cp ../conf/jitsi-jicofo-sip-communicator.properties "$jitsi_jicofo_sip_communicator_conf"
|
||||||
|
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$jitsi_jicofo_sip_communicator_conf"
|
||||||
|
ynh_store_file_checksum --file="$jitsi_jicofo_sip_communicator_conf"
|
||||||
|
|
||||||
unzip $final_path/jitsi-jicofo-build/target/jicofo-linux-x64-1.1-SNAPSHOT.zip -d $final_path
|
jitsi_jicofo_conf="/etc/$app/jicofo/config"
|
||||||
|
ynh_backup_if_checksum_is_different --file="$jitsi_jicofo_conf"
|
||||||
|
cp ../conf/jitsi-jicofo.config "$jitsi_jicofo_conf"
|
||||||
|
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$jitsi_jicofo_conf"
|
||||||
|
ynh_replace_string --match_string="__PORT_COMPONENT__" --replace_string="$port_component" --target_file="$jitsi_jicofo_conf"
|
||||||
|
ynh_replace_string --match_string="__FOCUS_SECRET__" --replace_string="$focus_secret" --target_file="$jitsi_jicofo_conf"
|
||||||
|
ynh_replace_string --match_string="__FOCUS_USER__" --replace_string="$focus_user" --target_file="$jitsi_jicofo_conf"
|
||||||
|
ynh_replace_string --match_string="__FOCUS_PASSWORD__" --replace_string="$focus_password" --target_file="$jitsi_jicofo_conf"
|
||||||
|
ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$jitsi_jicofo_conf"
|
||||||
|
ynh_store_file_checksum --file="$jitsi_jicofo_conf"
|
||||||
|
|
||||||
ynh_secure_remove --file="$final_path/jitsi-jicofo"
|
jitsi_jicofo_logging_conf="/etc/$app/jicofo/logging.properties"
|
||||||
|
ynh_backup_if_checksum_is_different --file="$jitsi_jicofo_logging_conf"
|
||||||
|
cp ../conf/jitsi-jicofo-logging.properties "$jitsi_jicofo_logging_conf"
|
||||||
|
ynh_store_file_checksum --file="$jitsi_jicofo_logging_conf"
|
||||||
|
|
||||||
mv $final_path/jicofo-linux-x64-1.1-SNAPSHOT/ $final_path/jitsi-jicofo/
|
|
||||||
|
|
||||||
ynh_secure_remove --file="$final_path/jitsi-jicofo-build"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# BUILD JITSI-MEET
|
# CONFIGURE JITSI-MEET
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_print_info --message="Building Jitsi-Meet..."
|
ynh_print_info --message="Configuring Jitsi-Meet..."
|
||||||
|
|
||||||
|
|
||||||
if [ "$upgrade_type" == "UPGRADE_APP" ]
|
if [ "$upgrade_type" == "UPGRADE_APP" ]
|
||||||
then
|
then
|
||||||
pushd "$final_path/jitsi-meet_temp"
|
jitsi_meet_conf="/etc/$app/meet/config.js"
|
||||||
ar x jitsi-meet-web.deb data.tar.xz
|
ynh_backup_if_checksum_is_different --file="$jitsi_meet_conf"
|
||||||
tar xf data.tar.xz
|
cp ../conf/config.js "$jitsi_meet_conf"
|
||||||
popd
|
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$jitsi_meet_conf"
|
||||||
|
ynh_store_file_checksum --file="$jitsi_meet_conf"
|
||||||
config="$final_path/jitsi-meet/config.js"
|
|
||||||
ynh_backup_if_checksum_is_different --file="$config"
|
|
||||||
|
|
||||||
ynh_secure_remove --file="$final_path/jitsi-meet"
|
|
||||||
|
|
||||||
mv "$final_path/jitsi-meet_temp/usr/share/jitsi-meet/" "$final_path/jitsi-meet/"
|
|
||||||
ynh_secure_remove --file="$final_path/jitsi-meet_temp"
|
|
||||||
cp ../conf/config.js "$config"
|
|
||||||
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$config"
|
|
||||||
|
|
||||||
# Recalculate and store the checksum of the file for the next upgrade.
|
|
||||||
ynh_store_file_checksum --file="$config"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -250,16 +268,7 @@ ynh_use_logrotate --non-append
|
||||||
ynh_print_info --message="Upgrading systemd configuration..."
|
ynh_print_info --message="Upgrading systemd configuration..."
|
||||||
|
|
||||||
# Create a dedicated systemd config
|
# Create a dedicated systemd config
|
||||||
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="../conf/jitsi-videobridge.service"
|
|
||||||
ynh_replace_string --match_string="__VIDEOBRIDGE_SECRET__" --replace_string="$videobridge_secret" --target_file="../conf/jitsi-videobridge.service"
|
|
||||||
ynh_replace_string --match_string="__PORT_COMPONENT__" --replace_string="$port_component" --target_file="../conf/jitsi-videobridge.service"
|
|
||||||
ynh_add_systemd_config --service=$app-videobridge --template="jitsi-videobridge.service"
|
ynh_add_systemd_config --service=$app-videobridge --template="jitsi-videobridge.service"
|
||||||
|
|
||||||
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="../conf/jitsi-jicofo.service"
|
|
||||||
ynh_replace_string --match_string="__PORT_COMPONENT__" --replace_string="$port_component" --target_file="../conf/jitsi-jicofo.service"
|
|
||||||
ynh_replace_string --match_string="__FOCUS_SECRET__" --replace_string="$focus_secret" --target_file="../conf/jitsi-jicofo.service"
|
|
||||||
ynh_replace_string --match_string="__FOCUS_USER__" --replace_string="$focus_user" --target_file="../conf/jitsi-jicofo.service"
|
|
||||||
ynh_replace_string --match_string="__FOCUS_PASSWORD__" --replace_string="$focus_password" --target_file="../conf/jitsi-jicofo.service"
|
|
||||||
ynh_add_systemd_config --service=$app-jicofo --template="jitsi-jicofo.service"
|
ynh_add_systemd_config --service=$app-jicofo --template="jitsi-jicofo.service"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -271,6 +280,7 @@ ynh_print_info --message="Securing files and directories..."
|
||||||
|
|
||||||
# Set permissions on app files
|
# Set permissions on app files
|
||||||
chown -R root: $final_path
|
chown -R root: $final_path
|
||||||
|
chown -R $app: /etc/$app
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SETUP SSOWAT
|
# SETUP SSOWAT
|
||||||
|
|
Loading…
Reference in a new issue