Running a own Kadira instance Update: now with a guide!

Thanks for the tutorial! I’ve almost got it working. Ran into some issues with CORS so needed to make a couple of nginx config changes. I’m now at the point that I’m not getting any errors on either the server or the client, but nothing seems to show up in the kadira dashboard. Anyone else run into this? I have no idea what the problem is. Looking at wireshark everything seems to be communicating fine.

@workman
So is kadira-rma running ?
Is your app connected to the kadira-engine ? not kadira-ui.
The kadira package will say that it is connected even if your connecting to kadira ui.

Ok I think I’m closer to being on the right track. I didn’t realize I needed to use the engine’s endpoint. Problem I’m facing now I’m getting authentication failed - check your appId & appSecret since I switched it to the engine’s endpoint…Authentication was working fine before I made that change.

EDIT: Nevermind, got it! Node was rejecting my self signed certificate.

Has anyone successfully got alerts working? I’ve created a librato account and setup the API keys and added a “greater than 1% CPU usage” alert for testing purposes but I never seem to get an email.

this is really great, thanks for the effort :thumbsup: putting all those steps into a Dockerfile so that a simple docker-compose up could run Kadira would be phenomenal

2 Likes

How about some donations via some service to the person(s) creating that docker file?! :slight_smile: Just as a little motivation, as I can imagine this could be a lot of work! :wink:
Thing is I don’t have the time right now to worry about the whole APM situation and I guess I am not alone with that. … so @lampe, @workman, @herteby please let us know if we can somehow help/motivate you guys and maybe put some donation link here! I would gladly donate some $$$ for your effort! Thanks a bunch guys!

1 Like

@klabauter Haha sorry I haven’t done anything :sweat_smile: But I could see if I could convince my boss to contribute to a tip jar if someone set it up.

@robfallows said that he and the good people at Centiq were working on a Docker image. How’s it going Rob? :slight_smile:

open source is not free

Based on the amount of server control needed, this is not going to be easily deployed to Heroku?

Also, if I manage to get this up and running, how do I point the Kadira package at it?

1 Like

So i published part 3 these are just tipps and tricks nothing special.

@merlinpatt
you need to set this ENV Var KADIRA_OPTIONS_ENDPOINT=https://host:port

@klabauter
Right now there is no plan do make docker containers.

3 Likes

Just read your whole tutorial! Holy moly … thanks so much for this!!!
I really hadn’t guessed that it would be that complicated to set up … :sweat: :scream:
Does anyone have any experience running this on a small (maybe the smallest) DigitalOcean droplet?
How about the whole Amazon S3 bucket thing? Do I need this or can Kadira run without it?

Thanks @lampe for instructions! I got it running locally (without alerts).

Will publish docker images soon.

3 Likes

3 steps

  1. Create MongoDB deployment on https://mlab.com/
  2. export KADIRA_MONGO_URL="mongodb://....."
  3. docker-compose up

Open localhost:4000 and login with email admin@admin.gmail.com (password admin - change it immediately in the UI)

This is docker-compose.yml

version: '2'

services:
  kadira-engine:
    image: vladgolubev/kadira-engine
    ports:
      - "11011:11011"
    environment:
      - PORT=11011
      - MONGO_URL=$KADIRA_MONGO_URL
      - MONGO_SHARD_URL_one=$KADIRA_MONGO_URL

  kadira-rma:
    image: vladgolubev/kadira-rma
    environment:
      - MONGO_URL=$KADIRA_MONGO_URL

  kadira-ui:
    image: vladgolubev/kadira-ui
    ports:
      - "4000:4000"
    environment:
      - MONGO_URL=$KADIRA_MONGO_URL
      - MONGO_SHARD_URL_one=$KADIRA_MONGO_URL

All the seed data @lampe wrote about is inserted on startup. (Thanks!)

I cleaned up kadira-ui from Stripe/Tender/Intercom/Customer.io logic. Also Alerts won’t work. But that’s the easiest way to have basic Kadira features locally.

Also DB for kadira-ui & data is the same, since it will be used for 1 single app, so no need to scale mongodb shards as Kadira did.

Feel free to leave any feedback.

9 Likes

Ooh, that looks awesome! Thanks for you work! :clap: :clap: :clap:

Where can we download the docker image?

1 Like

All images are public on Docker Hub:

All you need is Docker installation on your host machine: https://docs.docker.com/engine/installation/

3 Likes

First of all, thank you for working on the docker. Very much appreciated.

I tried to run the docker as per your instructions, but got errors as below. Before running, the docker, mongo db is on mlab and is exported(also picked as mentioned in point b).

a) Throws invalid schema error

Error: invalid schema, expected mongodb

kadira-rma_1 | [run:errors-3hour ] Error: invalid schema, expected mongodb
kadira-rma_1 | [run:errors-3hour ] at module.exports (/app/node_modules/mongodb/lib/url_parser.js:20:11)

b) At one point, it attempts to connect to mongodb on mlab(masked the details) while in others it connects to mongodb on mlab.

kadira-rma_1 | [run:pubsub-1min ] + pick-mongo-primary APPmongodb://###:###@####.mlab.com:121313/kadira

but, in some locations, it is trying to connect to local instance of MongoDB(not available) as below

kadira-rma_1 | [run:pubsub-1min ] connecting to: mongodb://127.0.0.1:27017
kadira-rma_1 | [run:pubsub-1min ] 2017-05-19T12:05:34.468+0000 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused

Kindly help.

Thank you

1 Like

Hi @vladgolubev, Thank you very much for the docker images, when I try and login with admin@admin.gmail.com, I don’t get authenticated successfully, it just keeps reloading the same login screen.

Thanks for the great tutorial!

I ran in a problem when installing the kadira-engine service. systemctl status reports (code=exited, status=217/USER).

I am using the kadira user to start it, and I’ve set the ownership of all files inside the kadira-server folder to kadira:kadira, since they were on root:root after git clone.

aah it was a typo, it is actually admin@gmail.com not admin@admin.gmail.com

1 Like

@lampe

Thanks a lot for all the info!

I have a problem when I try to start kadira-rma.service.

$ systemctl status kadira-rma.service
● kadira-rma.service - kadira-rma
   Loaded: loaded (/etc/systemd/system/kadira-rma.service; disabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2017-05-22 14:52:33 UTC; 5s ago
  Process: 1563 ExecStart=/bin/bash -c source init-shell.sh; cd kadira-rma; ./run.sh (code=exited, status=126)
 Main PID: 1563 (code=exited, status=126)

if I execute ./run.sh I get a lot of errors…

$ sudo sh run.sh

> kadira-rma@1.0.0 start /usr/local/kadira/kadira-server/kadira-rma
> run-p -l run:**

(node) warning: possible EventEmitter memory leak detected. 11 finish listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at WriteStream.addListener (events.js:239:17)
    at WriteStream.Readable.on (_stream_readable.js:665:33)
    at WriteStream.once (events.js:265:8)
    at PrefixTransform.Readable.pipe (_stream_readable.js:574:8)
    at wrapLabeling (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:49:12)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:114:22
    at runTask (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:113:19)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-tasks-in-parallel.js:33:16
    at Array.map (native)
    at runTasksInParallel (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-tasks-in-parallel.js:32:30)
(node) warning: possible EventEmitter memory leak detected. 11 finish listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at WriteStream.addListener (events.js:239:17)
    at WriteStream.Readable.on (_stream_readable.js:665:33)
    at WriteStream.once (events.js:265:8)
    at PrefixTransform.Readable.pipe (_stream_readable.js:574:8)
    at wrapLabeling (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:49:12)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:115:22
    at runTask (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:113:19)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-tasks-in-parallel.js:33:16
    at Array.map (native)
    at runTasksInParallel (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-tasks-in-parallel.js:32:30)
(node) warning: possible EventEmitter memory leak detected. 11 unpipe listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at WriteStream.addListener (events.js:239:17)
    at WriteStream.Readable.on (_stream_readable.js:665:33)
    at PrefixTransform.Readable.pipe (_stream_readable.js:480:8)
    at wrapLabeling (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:49:12)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:114:22
    at runTask (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:113:19)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-tasks-in-parallel.js:33:16
    at Array.map (native)
    at runTasksInParallel (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-tasks-in-parallel.js:32:30)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/index.js:288:28
(node) warning: possible EventEmitter memory leak detected. 11 drain listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at WriteStream.addListener (events.js:239:17)
    at WriteStream.Readable.on (_stream_readable.js:665:33)
    at PrefixTransform.Readable.pipe (_stream_readable.js:498:8)
    at wrapLabeling (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:49:12)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:114:22
    at runTask (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:113:19)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-tasks-in-parallel.js:33:16
    at Array.map (native)
    at runTasksInParallel (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-tasks-in-parallel.js:32:30)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/index.js:288:28
(node) warning: possible EventEmitter memory leak detected. 11 close listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at WriteStream.addListener (events.js:239:17)
    at WriteStream.Readable.on (_stream_readable.js:665:33)
    at WriteStream.once (events.js:265:8)
    at PrefixTransform.Readable.pipe (_stream_readable.js:568:8)
    at wrapLabeling (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:49:12)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:114:22
    at runTask (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:113:19)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-tasks-in-parallel.js:33:16
    at Array.map (native)
    at runTasksInParallel (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-tasks-in-parallel.js:32:30)
(node) warning: possible EventEmitter memory leak detected. 11 unpipe listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at WriteStream.addListener (events.js:239:17)
    at WriteStream.Readable.on (_stream_readable.js:665:33)
    at PrefixTransform.Readable.pipe (_stream_readable.js:480:8)
    at wrapLabeling (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:49:12)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:115:22
    at runTask (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:113:19)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-tasks-in-parallel.js:33:16
    at Array.map (native)
    at runTasksInParallel (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-tasks-in-parallel.js:32:30)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/index.js:288:28
(node) warning: possible EventEmitter memory leak detected. 11 drain listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at WriteStream.addListener (events.js:239:17)
    at WriteStream.Readable.on (_stream_readable.js:665:33)
    at PrefixTransform.Readable.pipe (_stream_readable.js:498:8)
    at wrapLabeling (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:49:12)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:115:22
    at runTask (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:113:19)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-tasks-in-parallel.js:33:16
    at Array.map (native)
    at runTasksInParallel (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-tasks-in-parallel.js:32:30)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/index.js:288:28
(node) warning: possible EventEmitter memory leak detected. 11 close listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at WriteStream.addListener (events.js:239:17)
    at WriteStream.Readable.on (_stream_readable.js:665:33)
    at WriteStream.once (events.js:265:8)
    at PrefixTransform.Readable.pipe (_stream_readable.js:568:8)
    at wrapLabeling (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:49:12)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:115:22
    at runTask (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-task.js:113:19)
    at /usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-tasks-in-parallel.js:33:16
    at Array.map (native)
    at runTasksInParallel (/usr/local/kadira/kadira-server/kadira-rma/node_modules/npm-run-all/lib/run-tasks-in-parallel.js:32:30)
[run:errors-1min  ]
[run:errors-1min  ] > kadira-rma@1.0.0 run:errors-1min /usr/local/kadira/kadira-server/kadira-rma
[run:errors-1min  ] > PROFILE=1min PROVIDER=errors sh start.sh
[run:errors-1min  ]
[run:errors-3hour ]
[run:errors-3hour ] > kadira-rma@1.0.0 run:errors-3hour /usr/local/kadira/kadira-server/kadira-rma
[run:errors-3hour ] > PROFILE=3hour PROVIDER=errors sh start.sh
[run:errors-3hour ]
[run:methods-1min ]
[run:methods-1min ] > kadira-rma@1.0.0 run:methods-1min /usr/local/kadira/kadira-server/kadira-rma
[run:methods-1min ] > PROFILE=1min PROVIDER=methods sh start.sh
[run:methods-1min ]
[run:errors-30min ]
[run:errors-30min ] > kadira-rma@1.0.0 run:errors-30min /usr/local/kadira/kadira-server/kadira-rma
[run:errors-30min ] > PROFILE=30min PROVIDER=errors sh start.sh
[run:errors-30min ]
[run:methods-3hour]
[run:methods-3hour] > kadira-rma@1.0.0 run:methods-3hour /usr/local/kadira/kadira-server/kadira-rma
[run:methods-3hour] > PROFILE=3hour PROVIDER=methods sh start.sh
[run:methods-3hour]
[run:methods-30min]
[run:methods-30min] > kadira-rma@1.0.0 run:methods-30min /usr/local/kadira/kadira-server/kadira-rma
[run:methods-30min] > PROFILE=30min PROVIDER=methods sh start.sh
[run:methods-30min]
[run:errors-1min  ] start.sh: 5: start.sh: [[: not found
[run:errors-1min  ] start.sh: 9: start.sh: [[: not found
[run:errors-1min  ] start.sh: 13: start.sh: [[: not found
[run:errors-1min  ] start.sh: 17: start.sh: [[: not found
[run:pubsub-1min  ]
[run:pubsub-1min  ] > kadira-rma@1.0.0 run:pubsub-1min /usr/local/kadira/kadira-server/kadira-rma
[run:pubsub-1min  ] > PROFILE=1min PROVIDER=pubsub sh start.sh
[run:pubsub-1min  ]
[run:errors-1min  ] start.sh: 21: start.sh:
[run:pubsub-30min ]
[run:pubsub-30min ] > kadira-rma@1.0.0 run:pubsub-30min /usr/local/kadira/kadira-server/kadira-rma
[run:pubsub-30min ] > PROFILE=30min PROVIDER=pubsub sh start.sh
[run:pubsub-30min ]
[run:errors-1min  ] [[: not found
[run:errors-1min  ] start.sh: 25: start.sh: [[: not found
[run:errors-1min  ] start.sh: 45: start.sh: [[: not found
[run:errors-30min ] start.sh: 5: start.sh: [[: not found
[run:errors-30min ] start.sh: 9: start.sh: [[: not found
[run:errors-30min ] start.sh: 13: start.sh: [[: not found
[run:errors-30min ] start.sh: 17: start.sh: [[: not found
[run:errors-30min ] start.sh: 21: start.sh: [[: not found
[run:errors-30min ] start.sh: 25: start.sh: [[: not found
[run:errors-30min ] start.sh: 45: start.sh: [[: not found
[run:errors-3hour ] start.sh: 5: start.sh: [[: not found
[run:errors-3hour ] start.sh: 9: start.sh: [[: not found
[run:errors-3hour ] start.sh: 13: start.sh: [[: not found
[run:errors-3hour ] start.sh: 17: start.sh: [[: not found
[run:errors-3hour ] start.sh: 21: start.sh: [[: not found
[run:errors-3hour ] start.sh: 25: start.sh: [[: not found
[run:errors-3hour ] start.sh: 45: start.sh: [[: not found
[run:methods-1min ] start.sh: 5: start.sh: [[: not found
[run:methods-1min ] start.sh: 9: start.sh: [[: not found
[run:methods-1min ] start.sh: 13: start.sh: [[: not found
[run:methods-1min ] start.sh: 17: start.sh: [[: not found
[run:methods-1min ] start.sh: 21: start.sh: [[: not found
[run:methods-1min ] start.sh: 25: start.sh: [[: not found
[run:methods-1min ] start.sh: 45: start.sh: [[: not found
[run:methods-30min] start.sh: 5: start.sh: [[: not found
[run:methods-30min] start.sh: 9: start.sh: [[: not found
[run:methods-30min] start.sh: 13: start.sh: [[: not found
[run:methods-30min] start.sh: 17: start.sh: [[: not found
[run:methods-30min] start.sh: 21: start.sh: [[: not found
[run:methods-30min] start.sh: 25: start.sh: [[: not found
[run:methods-30min] start.sh: 45: start.sh: [[: not found
[run:pubsub-1min  ] start.sh: 5: start.sh: [[: not found
[run:pubsub-1min  ] start.sh: 9: start.sh: [[: not found
[run:pubsub-1min  ] start.sh: 13: start.sh: [[: not found
[run:pubsub-1min  ] start.sh: 17: start.sh:
[run:pubsub-30min ] start.sh: 5: start.sh: [[: not found
[run:pubsub-30min ] start.sh: 9: start.sh: [[: not found
[run:pubsub-30min ] start.sh: 13: start.sh: [[: not found
[run:pubsub-30min ] start.sh: 17: start.sh: [[: not found
[run:pubsub-30min ] start.sh: 21: start.sh: [[: not found
[run:pubsub-30min ] start.sh: 25: start.sh: [[: not found
[run:pubsub-30min ] start.sh: 45: start.sh: [[: not found
[run:methods-3hour] start.sh: 5: start.sh: [[: not found
[run:methods-3hour] start.sh: 9: start.sh: [[: not found
[run:methods-3hour] start.sh: 13: start.sh: [[: not found
[run:methods-3hour] start.sh: 17: start.sh: [[: not found
[run:methods-3hour] start.sh: 21: start.sh: [[: not found
[run:methods-3hour] start.sh: 25: start.sh: [[: not found
[run:methods-3hour] start.sh: 45: start.sh: [[: not found
[run:pubsub-1min  ] [[: not found
[run:pubsub-1min  ] start.sh: 21: start.sh: [[: not found
[run:pubsub-1min  ] start.sh: 25: start.sh: [[: not found
[run:pubsub-1min  ] start.sh: 45: start.sh: [[: not found
[run:pubsub-3hour ]
[run:pubsub-3hour ] > kadira-rma@1.0.0 run:pubsub-3hour /usr/local/kadira/kadira-server/kadira-rma
[run:pubsub-3hour ] > PROFILE=3hour PROVIDER=pubsub sh start.sh
[run:pubsub-3hour ]
[run:pubsub-3hour ] start.sh: 5: start.sh: [[: not found
[run:pubsub-3hour ] start.sh: 9: start.sh: [[: not found
[run:pubsub-3hour ] start.sh: 13: start.sh: [[: not found
[run:pubsub-3hour ] start.sh: 17: start.sh: [[: not found
[run:pubsub-3hour ] start.sh: 21: start.sh: [[: not found
[run:pubsub-3hour ] start.sh: 25: start.sh: [[: not found
[run:pubsub-3hour ] start.sh: 45: start.sh: [[: not found
[run:system-1min  ]
[run:system-1min  ] > kadira-rma@1.0.0 run:system-1min /usr/local/kadira/kadira-server/kadira-rma
[run:system-1min  ] > PROFILE=1min PROVIDER=system sh start.sh
[run:system-1min  ]
[run:system-3hour ]
[run:system-3hour ] > kadira-rma@1.0.0 run:system-3hour /usr/local/kadira/kadira-server/kadira-rma
[run:system-3hour ] > PROFILE=3hour PROVIDER=system sh start.sh
[run:system-3hour ]
[run:system-30min ]
[run:system-30min ] > kadira-rma@1.0.0 run:system-30min /usr/local/kadira/kadira-server/kadira-rma
[run:system-30min ] > PROFILE=30min PROVIDER=system sh start.sh
[run:system-30min ]
[run:system-1min  ] start.sh: 5: start.sh: [[: not found
[run:system-1min  ] start.sh: 9: start.sh: [[: not found
[run:system-1min  ] start.sh: 13: start.sh: [[: not found
[run:system-1min  ] start.sh: 17: start.sh: [[: not found
[run:system-1min  ] start.sh: 21: start.sh: [[: not found
[run:system-1min  ] start.sh: 25: start.sh: [[: not found
[run:system-1min  ] start.sh: 45: start.sh: [[: not found
[run:system-30min ] start.sh: 5: start.sh: [[: not found
[run:system-30min ] start.sh: 9: start.sh: [[: not found
[run:system-30min ] start.sh: 13: start.sh: [[: not found
[run:system-30min ] start.sh: 17: start.sh: [[: not found
[run:system-30min ] start.sh: 21: start.sh: [[: not found
[run:system-30min ] start.sh: 25: start.sh: [[: not found
[run:system-30min ] start.sh: 45: start.sh: [[: not found
[run:system-3hour ] start.sh: 5: start.sh: [[: not found
[run:system-3hour ] start.sh: 9: start.sh: [[: not found
[run:system-3hour ] start.sh: 13: start.sh: [[: not found
[run:system-3hour ] start.sh: 17: start.sh: [[: not found
[run:system-3hour ] start.sh: 21: start.sh: [[: not found
[run:system-3hour ] start.sh: 25: start.sh: [[: not found
[run:system-3hour ] start.sh: 45: start.sh: [[: not found

Any idea about how to fix it? Thanks a lot!