After successfully installed Redash-9.0.x, I started to try to change some codes and play with project.
After installing what I have:

  1. Postgres
  2. Redis
  3. localhost:5000 (back-end)
  4. localhost: 8080 (npm start run)

5000 and 8080 ports provide the same outputs (identical).
5000 port is primary, if it is down so 8080 shows some error.

After adding some changes on html files and even react/js files(under /client folder), could not detect these change on 8080/5000 port outputs. It looks like there is a some already built release(separate folder) which is running… and my changes do not affect app.

So, how to add (and on which files) changes that could be appeared on 8080 port?
Please, help me, to start develop on Redash.

And some output of:

npm start run

[HPM] Proxy created: [
‘/login’,
‘/logout’,
‘/invite’,
‘/setup’,
‘/status.json’,
‘/api’,
‘/oauth’
] → http://localhost:5000/
[HPM] Proxy created: [Function: context] → http://localhost:5000/
:information_source: 「wds」: Project is running at http://localhost:8080/
:information_source: 「wds」: webpack output is served from /static/
:information_source: 「wds」: 404s will fallback to /static/index.html

What does it mean - Proxy created?
How react app(8080?) connects(references) to 5000 port (flask-app)?
What does it mean “static” here? Is this folder or some context/handler?

Technical details:

  • Redash Version: 9.0.x
  • Browser/OS:Chrome
  • How did you install Redash: Local machine (no docker)

Have you looked at the developer instructions in the Redash docs here? https://redash.io/help/open-source/dev-guide/docker

There’s a segment specifically about this called Run webpack Dev Server. You need to run this server in order for front-end code changes to be automatically refreshed.

The proxy exists because there are technically two servers running: the Redash webserver and the webpack server. The webpack server proxies all API traffic back to the Redash webserver but handles front-end asset requests. This way you don’t need to rebuild your docker container every time you make a code change.

I am not using Docker. Installed directly to local machine without container. And everything works well.
Run webpack Dev Server - it’s running. 8080 port is not Run webpack Dev Server?

There is not a guide about architecture/modules/folders of codebase.

If you’re not using the Docker setup then you’ll need to manually modify the proxy settings so that the front-end is served by webpack and the API is served by your Redash process.

Last update.
I can change code and apply to server. But I do it with extra steps, not immediately.

  1. do changes on the code (React/HTML/CSS)
  2. npm run build
  3. restart back-end (port:5000)
  4. check/review changes on app (changes are on 5000 port, it is DONE)

I had a problem on front-end.

  1. npm run start
  2. you can check that front-end is running on 8080 port (back-end on 5000 port)
  3. do changes on React/HTML/CSS code
  4. check/review changes on app (changes are NOT on 8080 port, it is NOT done)

But after many attempts to solve the problem, I caught a new problem:

  1. npm run start (Fails!!!)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! redash-client@9.0.0-beta build:viz: `(cd viz-lib && npm run build:babel)`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the redash-client@9.0.0-beta build:viz script.

I’ve tried to fix it, because it worked before that. But could not. STRANGE!

Info:
v9.0.x/installed locally(no docker)/Mac/Chrome