2.9 KiB
Initializing the application
Setup DB restore 💿
- Make an empty directory
sqlfilesinsidedatafolder which is in the repository root. - Place the database dump files
now_test.sql,now_log_test.sqlandnow_view.sqlinside it. - Notice, that the container will have to be able to read these files and execute
data/restore_and_create_user.sql, so you may have to adjust the necessary rights depending on your operating system.
See technical explanations for how this works.
Init the project 🚀
Requirements: Some modern installation of Docker engine with Docker compose.
- Copy the
.env.templatefile named as.dev.env npm run setupin project root to install all node modules and generate prisma-client.- If you wish to use the staging database, you need to copy the dump files into
data/sqlfiles/directory. See example of how anonymized test data is intest_data/sqlfiles/ npm run devto run with the staging database ornpm run start:anonto run with the anonymized small test-db included in the repository.- Check if it worked: The docker logs should have a line saying database connection works. Open
localhost:5173in browser to check if frontend works and shows data.
Errors while setting up
Database
If the database fails to start with an error message Cannot open directory /docker-entrypoint-initdb.d/. Permission denied, the problem is most likely permissions. dev uses data directory and anon + test uses test_data.
Both directories and the files inside need the permissions read and execute. In Linux/GNU this can be achieved by running chmod 755 DIRECTORY -R where DIRECTORY is the wanted directory, test_data or data.
(NOTE: This gives write for all files and directories for current user. You can disable this by changing the first number to match the other two numbers.)
Backend or frontend
-
Cannot find module /usr/src/app/backend/src/index.ts- Permission error with
backend/src - Fixed by running
find backend/src -type d -exec chmod 755 {} \; && find backend/src -type f -exec chmod 644 {} \;(on Linux). - The command gives permissions
readandexecutefor directories andreadfor files insidebackend/src. - NOTE: This gives
writefor all files and directories for current user. You can disable this by changing the first number to match the others.
- Permission error with
-
Cannot find module ../../../frontend/src/types- Permission error with
frontend/src - Fixed by running
find frontend/src -type d -exec chmod 755 {} \; && find frontend/src -type f -exec chmod 644 {} \;(on Linux). - The command gives permissions
readandexecutefor directories andreadfor files insidefrontend/src. - NOTE: This gives
writefor all files and directories for current user. You can disable this by changing the first number to match the others.
- Permission error with