YunoHost-Apps / nitter_ynh

Nitter package for YunoHost
https://github.com/zedeus/nitter
GNU Affero General Public License v3.0
7 stars 4 forks source link

Cannot install #4

Closed tio-trom closed 3 years ago

tio-trom commented 3 years ago

Describe the bug

A clear and concise description of what the bug is.

Clicking install from the YNH admin panel does nothing.

Jules-Bertholet commented 3 years ago

You'll need to give more detail than this…

tio-trom commented 3 years ago

I would love to but how? I click install I see this: image

I click ok and absolutely nothing happens. I asked another friend that has ynh installed on another server. Same issue.

Jules-Bertholet commented 3 years ago

I'm not sure why this happens, I think it is because the app was only added to the catalog a few days ago and doesn't have a level yet. But install works from the command line: sudo yunohost app install nitter

tio-trom commented 3 years ago

Aham I see. It worked, with a few errors:

Info: Installing nitter...
Info: [....................] > Validating installation parameters...
Info: [....................] > Storing installation settings...
Info: [+...................] > Finding an available port...
Info: [#...................] > Installing dependencies...
Info: [#+..................] > Setting up source files...
Info: [##..................] > Configuring NGINX web server...
Info: [##+.................] > Configuring system user...
Info: [###++++++++++++++...] > Compiling Nitter...
Warning: /tmp/nimble_11522/githubcom_soasmenimmarkdown_#abdbe5e/src/markdown.nim(85, 20) Warning: inherit from a more precise exception type like ValueError, IOError or OSError. If these don't suit, inherit from CatchableError or Defect. [InheritFromException]
Warning: /opt/yunohost/nitter/src/formatters.nim(108, 18) Warning: Deprecated since v1.3.1; utcOffset= is deprecated [Deprecated]
Warning: Hint: used config file '/opt/yunohost/nitter/.nim/config/nim.cfg' [Conf]
Warning: Hint: used config file '/opt/yunohost/nitter/.nim/config/config.nims' [Conf]
Warning: Hint: used config file '/opt/yunohost/nitter/config.nims' [Conf]
Warning: Hint:  [Link]
Warning: Hint: 51624 lines; 1.120s; 61.438MiB peakmem; Debug build; proj: tools/gencss; out: /opt/yunohost/nitter/tools/gencss [SuccessX]
Warning: Hint: /opt/yunohost/nitter/tools/gencss  [Exec]
Info: [#################...] > Configuring a systemd service...
Info: [#################+..] > Integrating service in YunoHost...
Info: [##################..] > Starting a systemd service...
Info: [##################+.] > Configuring permissions...
Info: [###################.] > Reloading NGINX web server...
Success! Installation completed

And the end result looks broken https://bird.trom.tf

Jules-Bertholet commented 3 years ago

Those warnings are normal, they can be ignored, they are not actually errors. What does the log of the nitter service say? (sudo journalctl -xe -u nitter)

tio-trom commented 3 years ago
-- Logs begin at Mon 2021-03-22 21:43:06 CET, end at Tue 2021-03-23 23:39:00 CET. --
Mar 23 23:32:14 tromland.nohost.me systemd[1]: Started Small description of the service.
-- Subject: A start job for unit nitter.service has finished successfully
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- A start job for unit nitter.service has finished successfully.
-- 
-- The job identifier is 6229.
Mar 23 23:32:14 tromland.nohost.me nitter[16745]: Starting Nitter at http://bird.trom.tf
Mar 23 23:32:14 tromland.nohost.me nitter[16745]: Connected to Redis at localhost:6379
Jules-Bertholet commented 3 years ago

I did some investigating and found the issue. I've pushed an update that fixes it, but if you don't want to wait, you can run these commands:

sudo apt install acl
sudo chown -R root:www-data /opt/yunohost/nitter/public
sudo setfacl  -n -m user:www-data:rx  /opt/yunohost/nitter
tio-trom commented 3 years ago

I see. Is this all safe? I have a lot of ynh applications on the server that a bunch of people depend of, so I hope all is fine to update it this way.

Jules-Bertholet commented 3 years ago

It's safe, no files outside the /opt/yunohost/nitter folder are touched in any way.

tio-trom commented 3 years ago

Awesome all works now! https://bird.trom.tf Great. Thanks for the help!

Jules-Bertholet commented 3 years ago

I'm glad it worked! One note: in your instance settings, when you chose whether to replace YouTube links with Invidious or Instagram with Bibliogram, you are supposed to put in the URLs of an Invidious or Bibliogram instance, not yes or no. (There is supposed to be a help message that explains this, but it isn't shown when you install from the command line)

To fix your configuration, you can edit the file /opt/yunohost/nitter/nitter.conf and add the URLs of the instances you want to use (no leading https:// needed).

tio-trom commented 3 years ago

Thanks!

Is this the proper way to add them?

replaceYouTube = "ytb.trom.tf"
replaceInstagram = "insta.trom.tf"

I did so but Nitter cannot start now.

EDIT: The log https://paste.yunohost.org/icebegodoh

Jules-Bertholet commented 3 years ago

Yes, your config is correct. It is not causing the issue, it's just a coincidence. It turns out that the quick fix I gave you earlier doesn't cover all cases of the problem. You will need to get the full update of the app. You can force an immediate upgrade with sudo yunohost app upgrade nitter -F -u https://github.com/YunoHost-Apps/nitter_ynh/ (otherwise you would have to wait for YunoHost to detect the new update on its own)

tio-trom commented 3 years ago

Thanks. Unfortunately that didn't fix the issue:

Host-Apps/nitter_ynh/
Info: Now upgrading nitter...
Info: [....................] > Loading installation settings...
Info: [....................] > Backing up the app before upgrading (may take a while)...
Info: [+...................] > Stopping a systemd service...
Info: [#...................] > Upgrading NGINX web server configuration...
Info: [#+..................] > Upgrading dependencies...
Info: [##..................] > Making sure dedicated system user exists...
Info: [##+++++++++++++++...] > Compiling Nitter...
Warning: /opt/yunohost/nitter/src/formatters.nim(108, 18) Warning: Deprecated since v1.3.1; utcOffset= is deprecated [Deprecated]
Warning: Hint: used config file '/opt/yunohost/nitter/.nim/config/nim.cfg' [Conf]
Warning: Hint: used config file '/opt/yunohost/nitter/.nim/config/config.nims' [Conf]
Warning: Hint: used config file '/opt/yunohost/nitter/config.nims' [Conf]
Warning: Hint: 15376 lines; 0.023s; 13.387MiB peakmem; Debug build; proj: /opt/yunohost/nitter/tools/gencss; out: /opt/yunohost/nitter/tools/gencss [SuccessX]
Warning: Hint: /opt/yunohost/nitter/tools/gencss  [Exec]
Info: [#################...] > Upgrading systemd configuration...
Warning: File /opt/yunohost/nitter/nitter.conf has been manually modified since the installation or last upgrade. So it has been duplicated in /home/yunohost.conf/backup//opt/yunohost/nitter/nitter.conf.backup.20210324.013407
Warning: --- /home/yunohost.conf/backup//opt/yunohost/nitter/nitter.conf.backup.20210324.013407 2021-03-24 00:46:05.600538751 +0100
Warning: +++ /opt/yunohost/nitter/nitter.conf   2021-03-24 01:34:08.394634200 +0100
Warning: @@ -31,8 +31,8 @@
Warning:  [Preferences]
Warning:  theme = "Auto"
Warning:  replaceTwitter = "bird.trom.tf"
Warning: -replaceYouTube = "ytb.trom.tf"
Warning: -replaceInstagram = "insta.trom.tf"
Warning: +replaceYouTube = "yes"
Warning: +replaceInstagram = "yes"
Warning:  proxyVideos = true
Warning:  hlsPlayback = true
Warning:  infiniteScroll = true
Info: [#################+..] > Integrating service in YunoHost...
Info: [##################..] > Starting a systemd service...
Info: [##################+.] > Reloading NGINX web server...
Success! nitter upgraded
Success! Upgrade complete
tio-trom commented 3 years ago

And log of the system not starting https://paste.yunohost.org/kugisadera

Jules-Bertholet commented 3 years ago

Now that is strange, honestly I am stumped. Can you run ls -l /opt/yunohost/nitter/public and post the output? (It won't modify anything at all, just tell me whether the upgrade actually happened)

tio-trom commented 3 years ago

Sure:

total 76
-rw-r----- 1 root www-data  2861 Feb 17 03:03 android-chrome-192x192.png
-rw-r----- 1 root www-data  6294 Feb 17 03:03 android-chrome-384x384.png
-rw-r----- 1 root www-data  1325 Feb 17 03:03 apple-touch-icon.png
-rw-r----- 1 root www-data   187 Feb 17 03:03 browserconfig.xml
drwxr-x--- 3 root www-data  4096 Mar 23 23:32 css
-rw-r----- 1 root www-data   446 Feb 17 03:03 favicon-16x16.png
-rw-r----- 1 root www-data   601 Feb 17 03:03 favicon-32x32.png
-rw-r----- 1 root www-data 15086 Feb 17 03:03 favicon.ico
drwxr-x--- 2 root www-data  4096 Feb 17 03:03 fonts
drwxr-x--- 2 root www-data  4096 Feb 17 03:03 js
-rw-r----- 1 root www-data  1865 Feb 17 03:03 logo.png
-rw-r----- 1 root www-data   847 Feb 17 03:03 lp.svg
drwxr-x--- 2 root www-data  4096 Feb 17 03:03 md
-rw-r----- 1 root www-data   761 Feb 17 03:03 safari-pinned-tab.svg
-rw-r----- 1 root www-data   438 Feb 17 03:03 site.webmanifest
Jules-Bertholet commented 3 years ago

🤦 It turns out that I uploaded the old version instead of the new one to GitHub… You can run the upgrade again now, it will work. (For context: the original issue was with the permissions of the app files; I made them too restrictive at first, so Nitter couldn't read some of its own files and was crashing as a result. The update fixes the permissions issue)

tio-trom commented 3 years ago

Heh I see :) - it happens ;). All works now! Thank you very much for the help and for creating this package!