- Persistent Data: Postgres; Redis
- Cache: Redis (future planned)
Postgres is used for storing relational data for web applications such as the workbench.
Within the context of Brahman (i.e. running Talkative applications) Redis is used for storing commands for compiled Talkative applications. These commands can mutate the current user's state within the application and persist their state, or mutate the output of the application.
- Install Golang
- Ensure go is setup properly
- Install Docker
- Install docker-compose if not on Mac
- Download backend services
$ go get github.com/talkative-ai/brahman
$ go get github.com/talkative-ai/lakshmi
$ go get github.com/talkative-ai/shiva
- Enter the core directory (this was automatically downloaded from step 3)
$ cd $GOPATH/src/github.com/talkative-ai/core
- Run docker-compose
$ docker-compose up
The services should now be available on the following ports at localhost (127.0.0.1):
Talkative Services
- shiva:8000
- lakshmi:8042
- brahman:9001
Additional Services
- postgres:5432
- adminer:8001
- redis:6380
- Ensure you have the migration tool installed
- Enter the core/db directory
$ cd $GOPATH/src/github.com/talkative-ai/core/db
- Run the migrations
$ migrate -database "postgres://postgres:[email protected]:5432/postgres?sslmode=disable" -path migrations up
If you ever need to reset, you can call "migrations down" and then repeat "migrations up" for fresh data
To use Brahman live on Google Actions:
- install ngrok
$ ngrok http 9001
- Update the api.ai project to point to the new ngrok address
Once it's up and running, then the workbench frontend will work (edited) via npm install and npm start