Sign inSign up

aussidavid/captivate-ingrations

By aussidavid

Updated over 4 years ago

Image
0

1.4K

aussidavid/captivate-ingrations repository overview

Monday.com Captivate Automations

Automations for the processing of episodes for Captivate.ai. The automations are triggered by webhooks from Monday.com as Custom Triggers.

This application extends the Quickstart Integration example application available on Monday.com developers page, which utilises the Monday.com SDK and GraphQL API.

The application is containerised in a Docker image aussidavid/captivate-ingrations is available on Docker Hub.

Contributing

Here is how to install and run the application in a development environment.

    git clone https://github.com/aussiDavid/monday.com-captivate-automations.git
    cd monday.com-captivate-automations
    npm install
    npm run prepare
    cp -v .env.example .env

Please update the .env with missing environment variables.

Environment VariableDescription
MONDAY_SIGNING_SECRETSigning Secret located on the Developers page in your Monday.com app
SENTRY_DNSToken for error reporting with Sentry.io
TOKEN_OVERRIDE(optional) The API token used when making API requests to make development easier
PORT(optional) Specify the port number for the web app. Defaults to port 80
$ npm start

Version: 4.4.0
Environment: development
Listening: http://localhost:8302

Deployment

The application is best deployed as a docker container.

docker run --rm \
  -e NODE_ENV=production \
  -e MONDAY_SIGNING_SECRET=SECRET \
  -e SENTRY_DNS=TOKEN \
  -p 80:80 \
  aussidavid/captivate-ingrations

Where applicable, it is recommended to run the container as a service on a docker swarm to ensure the app is always running.

docker service create -e NODE_ENV=production \
  -e MONDAY_SIGNING_SECRET=SECRET \
  -e SENTRY_DNS=TOKEN \
  -p 80:80 \
  aussidavid/captivate-ingrations

Note: Due to critical sections in the application, it is not recommended to run more than 1 replica as it may cause unexpected behaviors.

The application will need to be published on 1 port which can be specified by the PORT environment variable. The default port is 80.

The application will need to be accessible to Monday.com outgoing IP Addresses as documented. This can be an extra precautionary measure determined by the deployer as the application already requires a vendor key on all requests. Allowing public access to the application should be safe, but use your judgement depending on your infrastructure setup.

All outgoing traffic from the application should be allowed.

License

UNLICENSED

Tag summary

Content type

Image

Digest

Size

58.7 MB

Last updated

over 4 years ago

docker pull aussidavid/captivate-ingrations