commit | 718f76c251467135d093a61638b55d640e7d5bac | [log] [tgz] |
---|---|---|
author | simon <tran.simon2@gmail.com> | Mon Nov 07 20:55:01 2022 -0500 |
committer | Simon Tran <tran.simon2@gmail.com> | Thu Nov 10 18:32:07 2022 -0500 |
tree | 94a209312ffcb2d20a230953c45a019dc1684297 | |
parent | 3f5f3e7664a570e60acdc6e72886abac1513b588 [diff] |
Fix dockerignore and improve pre-push hook Remove some entries in dockerignore that prevented the image from running properly. Improve pre-push hook to prompt user to confirm that they want to push if there are linter warnings. Add `extract-translation` script to pre-push hook to prevent pushing if the translation files were not updated properly in the client. Fix eslint warnings. Change-Id: Id4491c90c182a62c1ec66a300f29f5716ea70491
Jami-web is a web server that starts a Dameon on NodeJS express server and serve a React web client.
The first milestone is to allow user with LDAP credentials to connect to the account using JAMS service and start chatting with their contacts using instant messaging.
Next step will be to implement a video protocol such as WebRTC to allow audio and video calls from the users browser to another Jami contact allowing cross-platform communications.
After building the Jami daemon you can use the following command to start the node js server using the LD_LIBRARY_PATH
Where $PATH_TO_JAMI_PROJECT is the path to the shared library of your Jami daemon
LD_LIBRARY_PATH=$PATH_TO_JAMI_PROJECT/ring-project/install/daemon/lib node
To build the dring.node Javascript interface to talk to the daemon api go to the daemon repo and use ./configure --with-nodejs then execute make -j4 to build the daemon
Create a symbolic link to jamid.node
at the root of jami-web and inside server/
:
ln -s daemon/bin/nodejs/build/Release/jamid.node jamid.node ln -s daemon/bin/nodejs/build/Release/jamid.node server/jamid.node
Then, start the servers:
# Install the package dependencies npm install # Start the client and backend servers npm start
You may also start the servers individually:
npm start --workspace client npm start --workspace server
# Build the client app and the server. The resulting files are available in `client/dist` and `server/dist` respectively npm run build # Preview the production build locally npm run start:prod
You may run the web server in a Docker container. This will automatically build the daemon and do the necessary linking.
cd daemon docker build --build-arg config_args="--with-nodejs" -t jami-daemon . cd ..
docker build --target development --tag jami-web . docker run -it \ -p 3001:3001 \ -p 3000:3000 \ -p 5000:5000 \ --volume $(pwd)/client/src:/web-client/client/src \ --volume $(pwd)/server/src:/web-client/server/src \ --volume $(pwd)/client/.env.development:/web-client/client/.env.development \ --volume $(pwd)/server/.env:/web-client/server/.env \ jami-web
This will use a Docker Volume to enable auto-refresh when you change a file.
# First build the daemon if necessary docker-compose build jami-daemon # Then build the project and start the container docker-compose build docker-compose up
uncomment the line // import config from "./sentry-server.config.json" assert { type: "json" };
in ./sentry.js
uncomment the line // import config from "../sentry-client.config.json"
and the init configSentry.init(...
in ./client/index.js
uncomment the lines // import { sentrySetUp } from './sentry.js'
and sentrySetUp(app)
in ./app.ts
add sentry-client.config.json
file in client
and sentry-server.config.json
(ask them to an admin) in your project root
sh ./cypress-test.sh