- Clone the repository
- Go inside the '/server' directory and rename the '.env-sample' file to '.env'.
- Next, you will need to set up a database and create a schema named 'tombolo'.
- Open '.env' file that is located on the '/server' directory and update the following information
- DB_USERNAME -(mysql database username)
- DB_PASSWORD -(mysql database password)
- secret - (You can generate a strong and unique string here)
- WEB_URL - (Example - <protocol>://<host_name:port>/)
- Tombolo uses Auth Service for user authentication. An existing Auth Service can be used or you may set up Auth Service separately.
You can find the Authservice setup instructions here. Once you have an instance of Authservice up and running,
update the following information on the '.env' file located on the '/server' directory.
- AUTH_SERVICE_URL - (URL to the AuthService. Eg - <protocol>://<host_name>:/api/auth)
- AUTHSERVICE_TOMBOLO_CLIENT_ID - (Unique identifier used to identify an application in AuthService. This value can be found in AuthService UI under applications)
- Locate 'cluster-whitelist.sample.js' file inside the "/server" directory, rename it to 'cluster-whitelist.js' and add cluster information.
- Go Inside '/client-react.js' and rename the .env-sample file to '.env'
- Install dependencies.
- Inside '/server' run 'npm install'
- Inside '/client-reactjs' run 'npm install'
- Now, under '/server' directory, run 'npx sequelize-cli db:migrate'. This will create all the necessary tables on the database.
- Once the database tables are created, you will need to seed the tables with some data. While still inside server directory run 'npx sequelize-cli db:seed:all'.
- Tombolo is now ready for launch on your local machine. Run 'nodemon server.js' to spin up the server. Make sure you are still inside the '/server' directory when you run this command.
- Finally, on a separate terminal go to '/client-reactjs' directory and run 'npm start'. This should open the client on your default browser. If a browser does not open, manually open it and go to 'localhost:3001'
- Clone repository
- Locate '.env-sample' file on the root directory and rename it to '.env'
- On that '.env' file update the information below
- HOST_NAME
- DB_USERNAME - (MySql database username)
- DB_PASSWORD - (MySql database password)
- secret - ( You can generate a strong and unique string here)
- AUTH_SERVICE_URL - ( Tombolo uses Auth Service for user authentication. An existing Auth Service can be used or you may set up Auth Service separately. You can find the Authservice setup instructions here. Once you have an instance of Authservice up and running, update this value. Eg - ://<host_name>:/api/auth)
- AUTHSERVICE_TOMBOLO_CLIENT_ID - (Unique id of Tombolo app in Auth Service. This will be used in the communication between Tombolo and AuthService)
- CERT_PATH - (SSL certificate location only if you are using SSL)
- Update rest of the values for Kafka and Zookeeper - (To create keys, please refer here https://github.com/edenhill/librdkafka/wiki/Using-SSL-with-librdkafka#create-a-ca-certificate. For documentation on bitnami kafka and zookeeper docker images and setup, please refer https://github.com/bitnami/bitnami-docker-kafka, https://github.com/bitnami/bitnami-docker-zookeeper, For details on SSL config https://github.com/bitnami/bitnami-docker-kafka/issues/129 )
- JOB_COMPLETE_GROUP_ID
- JOB_COMPLETE_TOPIC
- If you are going to be running this application without SSL, locate 'nginx.conf.template' file located at 'client-reactjs/nginx/confd' and remove all SSL-related configuration.
- Locate 'cluster-whitelist.sample.js' file inside the "/server" directory, rename it to 'cluster-whitelist.js' and add cluster information.
- Now from the root directory run 'docker-compose up -d'. This will create and run all necessary containers.
- Once the build successfully completes, the application will be accessible at 'http://<host_name>:<WEB_EXPOSED_PORT>'
Click here to view complete documentation