Dex (Outline) Update Error

Sorry for the late reply and problems with Outline app ! I was in holidays… Could you please try the below command (after having backed-up everything).

sudo yunohost app upgrade outline --force --debug -u https://github.com/Limezy/outline_ynh/tree/v0.75.0.2

My understanding is that this line : outline_ynh/scripts/upgrade at 32b708b91bd97b11d66f07d1198d501df2b52d4a · Limezy/outline_ynh · GitHub was missing a pair of double quotes. Let’s try !

Hello,

Unfortunately it didn’t work.

Here is the log
https://paste.yunohost.org/raw/apikovumug

Two other error followed, preventing the restoration too:
https://paste.yunohost.org/raw/ufigabelez
https://paste.yunohost.org/raw/zawuhakima

I think I didn’t mention you properly in my answer, sorry

Sorry, I saw it but I’m really heavy on work these days… I’ll have a look this week-end !

Hello, I understand. Thanks for the help especially with such a schedule.
Feel free to help when you have enough time.
Right now it still works, with an old version, but it is not unusable, so no need to hurry.

Just to prevent topic close

Yep sorry… give me a few days this period is very heavy for me !

Hello,
I also faced some troubles to update Outline
from 0.74.0~ynh1 to 0.75.0~ynh1

The update process completes as it should but Outline service can’t start after that with this info in the log:

/var/log/outline/outline.log

> outline@0.75.0 start
> node ./build/server/index.js

(node:53738) NOTE: We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023.

Please migrate your code to use AWS SDK for JavaScript (v3).
For more information, check the migration guide at https://a.co/7PzMCcy
(Use `node --trace-warnings ...` to show where the warning was created)
{"level":"warn","message":"Environment configuration is invalid, please check the following:\n\n"}
{"level":"warn","message":"- DEFAULT_LANGUAGE must be one of the following values: en_US, cs_CZ, zh_CN, zh_TW, de_DE, es_ES, fr_FR, it_IT, ja_JP, ko_KR, nl_NL, pt_BR, pt_PT, pl_PL, fa_IR, tr_TR, uk_UA, vi_VN"}

And the fun part. After that, it is hard to restore Outline from backup. I was scared a lot till I found the workaround.
To restore it it should be done together with Dex. If I tried to restore only Outline I got this:

2024-03-31 01:01:27,744: INFO - [#+++++++++..........] > Installing Dex if needed...
2024-03-31 01:01:27,744: DEBUG - + yunohost app list
2024-03-31 01:01:27,745: DEBUG - + grep -q 'id: dex'
2024-03-31 01:01:28,148: DEBUG - Dex is not installed. Installing...

But Dex is installed. And a bit later:

2024-03-31 01:01:35,720: DEBUG - important_yunohost_upgrade: False
2024-03-31 01:01:35,720: DEBUG - pending_migrations:
2024-03-31 01:01:35,720: DEBUG - system:
2024-03-31 01:01:35,784: DEBUG - + yunohost app list
2024-03-31 01:01:35,784: DEBUG - + grep -q domain2.tld/
2024-03-31 01:01:36,119: DEBUG - + yunohost app install https://github.com/YunoHost-Apps/dex_ynh --force --args 'domain=domain2.tld&path=/&OIDC_name=Outline&OIDC_secret=**********&OIDC_callback=domain3.tld/auth/oidc.callback'
2024-03-31 01:01:38,206: WARNING - Argument 'oidc_name' is required
2024-03-31 01:01:38,259: DEBUG - + ynh_exit_properly
2024-03-31 01:01:38,259: DEBUG - + [[ restore =~ ^install$|^upgrade$|^restore$ ]]
2024-03-31 01:01:38,763: DEBUG - + ynh_clean_setup
2024-03-31 01:01:38,763: DEBUG - + true
2024-03-31 01:01:39,764: ERROR - Could not restore outline: An error occured inside the app restore script

Hello, I was having a similar error, but I think I did a big mistake here. I removed outline, and tried to recover a backup, that failed:
https://paste.yunohost.org/raw/xujoyixeca

I think it is related, otherwise I can open another topic.

Hello,

It could be related in my opinion, as I had several instances of failed backup restoration with this whole process.

So I restore the whole server each time I have an error to prevent any issue whatsoever.

I solved it, it was the clock sync issue, I manually set datetime and synced hardware clock to it. updated system and packages and tried again to restore, first dex, then outline.
All good, will try to update the app and see what happens…

Unfortunately it can not be the same issue in my case but glad to know you fixed your problem.

@P-Godfroid I’m back to Bangkok and will try to settle your issue.
Sorry for taking a few steps backwards first, as I’ll try to reproduce your issue on my test server. Then it’ll be much easier to correct it.
Could you please confirm to me what is your current working version of Outline (my understanding is that it’s 0.69.9.2~ynh1), and what is your current working version of Dex (my understanding is 2.38.0~ynh1) ?

@FreeS same questions

I believe it has to do with the fact that during an upgrade to v2 version, Dex app has changed the naming of some internal keys. I wasn’t careful enough, so the updates are working from earlier versions of Outline, but breaking from others.
I think I should also “block” the version of Dex automatically installed by Outline instead of letting it be free.
Anyway, I have a bit of work but I’m confident that these aren’t structurally problematic bugs.

@Limezy Here you are :

1 Like

OK perfect, let me try to setup a test server with these versions and launch an update. Hopefully I’ll reproduce your crash.

1 Like

@Limezy And mine

1 Like

Hi all,
I’m working on your issues.

@FreeS I believe your case is the most “simple” so I’ll start with it. Here is my analysis :

  • When you tried to upgrade Outline to v0.75.0~ynh1, it failed because of a default language renamed from “en” format to “en_US” format. (This will be solved after merging this commit :Test · Limezy/outline_ynh@0a4ce4d · GitHub)
  • When you tried to restore your Outline, because the Dex version to install is (stupidly) not frozen, it was trying to install the latest 2.38.0 version which requires a variable oidc_name instead of OIDC_name
  • That’s why, as you have discovered it, the solution was to reinstall Dex as 2.37.0 first (requiring OIDC_name) and then restore Outline, which would detect that Dex is installed and run through

So to solve your update issue, I’ll soon merge my correction commit and tell you here when you can “just” update Dex and Outline, and it should work. In the future I’ll freeze which Dex version is installed by Outline during install and restore, to avoid this kind of annoyances

@P-Godfroid I have tried to reinstall all MinIO, Dex and Outline at the same version as yours but for the moment I have failed (it’s not as easy as it looks). I think I would like to proceed by steps because there was a lot of changes since the v0.69.2.2. The biggest being getting rid of MinIO. I would like to make sure that your problem doesn’t come from that migration out of MinIO.

To solve your issue, as a first step and if you don’t mind could you try to upgrade to v0.74.0 first by running sudo yunohost app update outline --force --debug -u https://github.com/YunoHost-Apps/outline_ynh/tree/621067d0be49933fc239c40e1dff0444ac019218 ? Please don’t do it if you don’t have a reliable way to roll back your installation without relying on the backup made before upgrade !

Hello,
Thanks for the help.

@Limezy I tried your command with “upgrade” instead of “update” as it seems update is not accepted as argument for yunohost app.

It failed. Here is the log : https://paste.yunohost.org/raw/usapowidek

PS: I can rollback the whole server every time so a fail of the yunohost made backup is not an issue

Hi @P-Godfroid
Yes, you are fully right it was “upgrade”, not “update”, sorry !
Many thanks for trying again… The crash is explained by the following line in your report :
2024-04-29 05:17:57,350: DEBUG - error Command failed with exit code 137.
This “error 137” is very often a sign that your server doesn’t have enough RAM.
This is not a big deal, I suggest you to add a swap file, following the below tutorial

Is your server a VPS ? I would recommend having a total of 4GB RAM. I personally have a VPS with 2GB + a 2GB swap file.
Then, you can try the command again afterwards !

Hello,

I didn’t see your answer, sorry.

It is a VPS and has already 4G or RAM.