Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Talked deployment #44

Closed
zohaib09 opened this issue Mar 15, 2022 · 17 comments
Closed

Talked deployment #44

zohaib09 opened this issue Mar 15, 2022 · 17 comments

Comments

@zohaib09
Copy link

Hello

We have installed talked server on our same nextcloud server (Latest Version of Nextcloud) by following procedure

Nextcloud is running through apache without docker.

https://github.com/MetaProvide/talked

And installed the talked client from app store. Registered the commands as:

sudo -u www-data php occ talk:command:add recording Talked “php /var/www/html/nextcloud/files/occ talked:record {ROOM} {ARGUMENTS}” 2 2

Created conversation and invited nextcloud user via link.
But when run command in chat /recording start, it says “An error occurred while running the command. Please ask an administrator to check the logs.”

Logs:
InvalidArgumentException: Chat command failed [Code: 1]: php /var/www/html/nextcloud/files/occ talked:record ‘du4jf9ty’ ‘start’

Error: Attempt to read property “message” on null at /var/www/html/nextcloud/files/apps/talked/lib/Command/Record.php#204

Os: Debian 10

Thanks

@zohaib09
Copy link
Author

Please help me in deployment. What i am missing. Something needs to be configured still. I have simple followed the step described in procedure

@mwalbeck
Copy link
Collaborator

Hi, I'm quite busy at the moment, so please excuse the response time.

One quick question I have for your setup is, what have you specified for the Talked settings in Nextcloud?

@zohaib09
Copy link
Author

Thank you for your reply in your busy time.

At nextcloud settings---> Talk, I have just defined the talked url http://talked.example.tech (this domain also fine with A record). This url also defined in config.toml as base_url

and register the recording commands at nextcloud server as

sudo -u www-data php occ talk:command:add recording Talked “php /var/www/html/nextcloud/files/occ talked:record {ROOM} {ARGUMENTS}” 2 2

But getting these two errors in nextcloud logs

Logs:
InvalidArgumentException: Chat command failed [Code: 1]: php /var/www/html/nextcloud/files/occ talked:record ‘du4jf9ty’ ‘start’

Error: Attempt to read property “message” on null at /var/www/html/nextcloud/files/apps/talked/lib/Command/Record.php#204

OS: Debian 10

Both nextcloud and talked on same server. ( i have tried with separate talked server but getting same error)

@zohaib09
Copy link
Author

zohaib09 commented Mar 21, 2022

Hi

I have setup new ubuntu server, and setup new talked server on ubuntu as per documentation. and installed apache with default configuration. So talked.example.tech can be responsed from talked server.

run these commands to run talked server:
source /opt/talked/talked/bin/activate
export TALKED_CONFIG_PATH=/opt/talked/config.toml
uwsgi --http-socket /var/run/talked/talked.sock --master --manage-script-name --mount /=talked.main:app

Nextcloud is on separate Debian server. Nextcloud is V23, Debian 10

On nextcloud server configured commands and URI as shown in attached screenshot

Recording command
Talked settings

Still getting same errors in nextcloud logs

Logs:
InvalidArgumentException: Chat command failed [Code: 1]: php /var/www/html/nextcloud/files/occ talked:record ‘du4jf9ty’ ‘start’

Error: Attempt to read property “message” on null at /var/www/html/nextcloud/files/apps/talked/lib/Command/Record.php#204

@mwalbeck
Copy link
Collaborator

Hi, thanks for the updated information!

One quick note with this

At nextcloud settings---> Talk, I have just defined the talked url http://talked.example.tech/ (this domain also fine with A record). This url also defined in config.toml as base_url

I can see I haven't made it super clear in the documentation, but the base_url parameter in the config.toml should be set to the base url of your Nextcloud instance.

Error: Attempt to read property “message” on null at /var/www/html/nextcloud/files/apps/talked/lib/Command/Record.php#204

Looking at this error I think the issue is with the communication between apache and talked, I've seen it before when they aren't speaking the same protocol, so if you could post your apache2 config used for Talked, then maybe I can provide some more assistance.

@zohaib09
Copy link
Author

Thanks a lot for your response,

I didn't make any change for talked in apache2.

This is my default apache2 config file from where nextcloud is running

Protocols h2 h2c http/1.1 Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" ServerName nextcloud.cloud ServerAdmin webmaster@localhost DocumentRoot /var/www/html/nextcloud/files

<Directory /var/www/html/nextcloud/files>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/nextcloud.cloud/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/dcorp.cloud/privkey.pem

Please advice if something need to add in in apache config file?

Also can we make a separate talked server?

@mwalbeck
Copy link
Collaborator

Okay, then that is definitely the reason. You need to add additional configuration to apache for it to work, as apache needs to know where to send the requests. It specifically needs to act as a reverse proxy. I don't use apache myself, so I can't provide too much assistance, but you can look here for reference.

https://httpd.apache.org/docs/2.4/mod/mod_proxy.html

You basically need to pass the requests from apache to the unix socket and the protocol should remain HTTP.

Also can we make a separate talked server?

Sorry, I'm not quite sure if I understand what you're asking, could you elaborate a bit.

@zohaib09
Copy link
Author

Okay I follow instructions for apache,

I meant to ask, is it necessary to have talked server on same nextcloud server? or do we have an option to configure talked server seperately?

& thanks a lot for guidance. I try to configure apache and if have problem then will post it here.

I

@zohaib09
Copy link
Author

zohaib09 commented Mar 21, 2022

Hi

I have configured nginx on talked server, changed base url to nextcloud url that is nextcloud.cloud

nginx configuration

server {
listen 80;
server_name talked.example.tech;
location / {
include proxy_params;
proxy_pass http://127.0.0.1:5000;
proxy_redirect off;
}

Now getting below errors:
Nextcloud logs:
cURL Error (28): Operation timed out after 30001 milliseconds with 0 bytes received

uwsgi logs:
selenium.common.exceptions.InvalidArgumentException: Message: Malformed URL: URL constructor: nextcloud.cloud/index.php/call/xgz3hqwe is not a valid URL.
Stacktrace:
WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:183:5
InvalidArgumentError@chrome://remote/content/shared/webdriver/Errors.jsm:312:5
GeckoDriver.prototype.navigateTo@chrome://remote/content/marionette/driver.js:791:11

I had run talked server as : uwsgi --http 127.0.0.1:5000 --master --manage-script-name --mount /=talked.main:app

@zohaib09
Copy link
Author

zohaib09 commented Mar 22, 2022

Hi

Now when i described base_url="https://nextcloud.cloud", it resolves above error in my last comment.

Now when i try to record call it gives me error "Failed to initiate call."
/recording status "No recording is currently active"

uwsgi logs:

[pid: 3753823|app: 0|req: 1/1] 127.0.0.1 () {30 vars in 355 bytes} [Tue Mar 22 12:51:44 2022] POST /start => generated 39 bytes in 15918 msecs (HTTP/1.0 200) 2 headers>
WARNING:root:Failed to initiate call.

no related logs in nextcloud logs.

Let me know what needs to be done further?

thank you

@mwalbeck
Copy link
Collaborator

I meant to ask, is it necessary to have talked server on same nextcloud server? or do we have an option to configure talked server seperately?

No, you can have the Talked server on a separate server. That's the way I generally set it up.

Now when i try to record call it gives me error "Failed to initiate call."

Okay, now we're at a problem that other people have experienced as well that I don't have a good solution for at the moment. It's most likely because the Talked server can't successfully establish the webrtc connection. It may help with the routing if you set up talked on a separate server. If not then the only thing I know that works at the moment is setting up the Talk high performance backend.

When I have some time for it, I plan on investigating using Talked without the high performance backend and what the issues are, but I don't have a timeline for it yet.

That is at least what I used during development, and it's also what I use for my current deployment.

@zohaib09
Copy link
Author

Thanks for response.

I have setup it on separate server ubuntu server. Nextcloud is on debian. but have same issue.

can you please explain what is meant by Talk high performance backend?

@mwalbeck
Copy link
Collaborator

can you please explain what is meant by Talk high performance backend?

It's the following project. It needs a few different components to get working, all described in the README. If you plan on doing much with Talk, I would highly recommend setting it up. https://github.com/strukturag/nextcloud-spreed-signaling

I have setup it on separate server ubuntu server. Nextcloud is on debian. but have same issue.

I didn't see this issue on the production system I had, but I have today received reports from users experiencing the same issue, so I'll be investigating the issue further this week.

@mwalbeck
Copy link
Collaborator

I have just pushed a new release that will hopefully fix the issue. So please give v0.3.2 a try.

@zohaib09
Copy link
Author

great ... i try it now

@zohaib09
Copy link
Author

Thanks a lot. It worked.

@mwalbeck
Copy link
Collaborator

Fantastic!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants