Deploying to Docker
There are two ways to use a ThinkBase model: Using our SaaS system at https://darl.dev and communicating with it either with the Web UI or using the GraphQL interface at https://darl.dev/graphql, or as a docker container.
The docker container is designed to run a single ThinkBase model. You can download models you've created with the SaaS system and upload them to a docker container, where they reside as a local file. The composite container, which is effectively locked to that model, can then be used on a local machine, or in a cloud environment.
The docker container contains a database to store Knowledge States, and all the evaluation facilities of the SaaS system are available there too, except you can't modify the Knowledge Graph, just the knowledge states.
Because the database also resides as a file within the docker container, It's easy to load a set of Knowledge States corresponding to a solution, and to create a new composite container containing both model and states.
Docker containers can be used on a wide variety of hardware platforms: Windows, Apple, Linux, Azure, AWS, Google cloud, etc. Exactly the same GraphQL interface is available from the Docker container as from the SaaS system, with the proviso that the contaner version is single user, single model and the model is read-only.
This means that code you have developed with ThinkBase.Client can be reused with the docker container.