parse-community / parse-dashboard

A dashboard for managing Parse Server
https://parseplatform.org
Other
3.75k stars 1.39k forks source link

Docker image doesn't work anymore with the MFA feature #1787

Closed Klaitos closed 3 years ago

Klaitos commented 3 years ago

New Issue Checklist

Issue Description

The merge of the MFA feature https://github.com/parse-community/parse-dashboard/pull/1624 add some dependencies which need node 12 at leat. The docker image is built over node 8. The container can't be run anymore.

Steps to reproduce

Actual Outcome

Expected Outcome

Environment

Dashboard

Server

Database

Logs

parse-github-assistant[bot] commented 3 years ago

Thanks for opening this issue!

mtrezza commented 3 years ago

We would have to make a 3.0 release as bumping the min node version is breaking.

a) How could we have prevented this issue? Our CI needs a multi-environment setup, like parse server. Currently in dashboard:

But would that have prevented this?

b) How do we resolve this issue? Maybe an opportunity to start a LTS trial also for dashboard

  1. branch out dashboard before MFA merge and release 2.x
  2. update master with MFA and release 3.0

@Klaitos may I ask out of curiosity, how do you use the latest docker tag, or what do you assume it means? because latest in npm means "latest stable", but dashboard currently uses the latest tag on docker hub as "latest unstable / working branch", which may be confusing.

Klaitos commented 3 years ago

Hello @mtrezza,

I'm not surprise for a latest tag to be buggy, it was my mistake to use it in my docker-compose. I fixed my compose to stick the version to 2.0.5 to prevent future issues.

For your b) i think it's a good idea to release a last stable version of parse-dashboard 2.x without MFA and node 12.

For your a) i need to think more about it.

mtrezza commented 3 years ago

Anything below node 12 has actually reached its EOL, so we wouldn't even offer LTS for a dashboard 2.x version; we already do not support anything below node 12 for Parse Server. You discovered an interesting case that is not yet covered by our CI, if there is a way to prevent this, I'd like to add it to our CI.

So the plan is:

  1. Update our CI to find a way to prevent this, at least with multiple node versions
  2. Bump min node version to 12
  3. Release dashboard 3.0
mtrezza commented 3 years ago

The docker image is built over node 8. The container can't be run anymore.

@Klaitos How did you encounter the error? I am trying to foresee that in the CI with https://github.com/parse-community/parse-dashboard/pull/1789, but the docker builds without issues. Was this a node runtime error when you tried to use the MFA feature?

Klaitos commented 3 years ago

Just try to run the container without any option. docker run -p 8080:4040 -v "/path/to/parsedashboard.json:/src/Parse-Dashboard/parse-dashboard-config.json" parseplatform/parse-dashboard:latest

Capture d’écran 2021-09-08 à 18 31 53

And with node 12 (built on my laptop) :

Capture d’écran 2021-09-08 à 18 32 19
Klaitos commented 3 years ago

The build is ok, the issue is at runtime. I have nothing related to MFA in the config file.

Klaitos commented 3 years ago

node 10 is the new minimal. See https://github.com/parse-community/parse-dashboard/pull/1788#discussion_r704605515

mtrezza commented 3 years ago

Got it, that's why the builds were pushed successfully. So we need a CI step that ensures that we don't have a dependency that requires a higher node engine than the parent package.

mtrezza commented 3 years ago

closed via #1788

Klaitos commented 3 years ago

Any chance to have 2.2 or recent tag uploaded to the docker hub ? i do not want to use latest anymore for now, but 2.0.5 is quite old :)

mtrezza commented 3 years ago

I think we can do that, if you want to open just a short new issue so we don't forget.