Development¤
Nendo Platform comes with a convenient development mode, in which the nendo-web and nendo-server components are updated upon any changes made to the codebase.
Use the following script to prepare the development environment for you:
make setup
This command has to be executed only once.
Then, whenever you want to start the development environment, run:
make run-dev
This will run Nendo Platform in development mode with more verbose logging and hot-reloading of components upon code changes.
Hot-reloading
The hot-reloading only works with changes that are done to the application code, i.e. code that resides in the nendo_server/
subdirectory of nendo-server
and in the src/
subdirectory of nendo-web
accordingly. All changes to files outside those directories require rebuilding of the images, as explained below.
Now you can start developing your app by changing files in the repo/nendo-server
and repo/nendo-web
directories.
Building¤
If you end up changing something about nendo-server
or nendo_web
that requires (re-)building of the images, you should use the respective make
commands for that. To build both images (server and web):
# build for production
make build
# OR build for development
make build-dev
To only build nendo-server
:
# build for production
make server-build
# OR build for development
make server-build-dev
To only build nendo-web
:
# build for production
make web-build
# OR build for development
make web-build-dev
Updating¤
To get the latest version of all involved repos and packages, use:
make update-dependencies
Resetting¤
To completely erase the database and all associated audio files in the library, make sure the Nendo Platform is running and then call:
make flush
Danger
This will erase all data in your database and all audio files in the library/
folder. Make sure you understand the consequences before executing this command.
Debugging¤
To read the logs:
Reading logs
# get the logs of nendo-server
make server-logs
# get the logs of nendo-web
make web-logs
To get a shell into a running container:
Getting shell access
# get a shell into nendo-server
make server-shell
# get a shell into nendo-web
make web-shell