Deploying and upgrading botpress v11x to v12 understanding

Using Botpress v12 I created a bot and now I want to deploy it so that it can be embedded in an existing site. I have few confusions, please help me with the following

  1. Botpress downloaded from contains a bp.exe (on windows) and botpress-master downloaded from github is the source code, what is the significant difference, which 1 should I use to deploy or rather what all files and folder are needed to deploy existing bot (using custom module and actions).

  2. In order to deploy existing app, do I need to copy full botpress-master to the target VM and run yarn start?

  3. Upgrading from v11.9.5 to v12

    I have my custom module v11.9.5 in botpress-master along with it I have the dialog flows which needs to be exported and imported to v12.
    There is out\bp\data\global\botpress.config.json file where I would enable my custom module, as well as
    I would have out\bp\data\bots\<botId> bot folder.

    So how do I upgrade to v12 from current version without missing any of the above (eventually a pro license)?

@allardy Please help me with understanding botpress deployment and upgrading existing bot to v12x

Hey @abhisheksimon

1- you should not build from sources for your deployments as you might miss some binaries for external dependencies (used for ml & other). Especially if you plan to eventually use pro version, you wont get pro features if you build it yourself.

2- if you’re familiar with docker you can use botpress/server:v12_0_0 . Check the docs on how to deploy to heroku and aws using dokku it might help
If you are not familiar, then I suggest you install the binary on your vm. And start using the bp as a CLI.

3- upgrading from 11.x to 12 shouldn’t be painful, simply copy the content of out/bp/data/bots from your 11.x to your 12.x before you start botpress. Then when you do, botpress will prompt you to perform migrations, just follow instructions see

@EFF Thank you for your reply, now it is clear that we should use Botpress binary for deployment (pro version), please help me understand a bit further

Intent: Migration of existing bot to 12.x (source for development and binary for deployment) which has both custom components and stylesheet

So this is what I tried after following your steps to migrate from 11.x to 12.x in both Botpress source code as well as binary (moving existing bots with custom components).

By Botpress source I mean file downloaded from github which contains package.json file

By Botpress binary I mean file which contains bp.exe

I copied the contents of out/bp/data/bots to both botpress source image
and binary

Build and run botpress source

Here apart from this step should I also copy botpress.config.json from out\bp\data\global 11.x to 12.x, or do I need to manually make changes in 12.x for any global changes like custom module inclusion, because if I simply replace just the bot folder as suggested and import bot file bot_infaa1_1562005304818.tgz exported from 11.x admin page
then I get Language server is unreachable, bots wont work properly error, also my custom component is not included.

Deploying 11.x bot to Actual binary ( which contains bp.exe

Here too I tried copying out/bp/data/bots folder from 11.x botpress source, but it is not able to recognize the custom components and I get below exception

Error: Content type "infa_text" is not a valid registered content type ID

14:58:15.849 Launcher Botpress is ready at http://localhost:3000/ 15:12:41.917 BotService Import of bot infaa1 successful 15:12:52.217 HTTP [Content] Async request error Content type "infa_text" is not a valid registered content type ID [Error, Content type "infa_text" is not a valid registered content type ID] STACK TRACE Error: Content type "infa_text" is not a valid registered content type ID at CMSService.getContentType (C:\snapshot\build-windows\out\bp\core\services\cms.js:0:0) at ContentRouter.<anonymous> (C:\snapshot\build-windows\out\bp\core\routers\bots\content.js:0:0) at (<anonymous>) at __awaiter (C:\snapshot\build-windows\out\bp\core\routers\bots\content.js:0:0) at Promise._execute (C:\Tools\botpress\modules\.cache\module__b3d2d379fe0f80128ce1c094030729d9582ba569a70c221a9c3c317ebcb7b288\node_production_modules\bluebird\js\release\debuggability.js:313:9) at Promise._resolveFromExecutor (C:\Tools\botpress\modules\.cache\module__b3d2d379fe0f80128ce1c094030729d9582ba569a70c221a9c3c317ebcb7b288\node_production_modules\bluebird\js\release\promise.js:488:18) at new Promise (C:\Tools\botpress\modules\.cache\module__b3d2d379fe0f80128ce1c094030729d9582ba569a70c221a9c3c317ebcb7b288\node_production_modules\bluebird\js\release\promise.js:79:10) at __awaiter (C:\snapshot\build-windows\out\bp\core\routers\bots\content.js:0:0) at constructor._augmentElement (C:\snapshot\build-windows\out\bp\core\routers\bots\content.js:0:0) at tryCatcher (C:\Tools\botpress\modules\.cache\module__b3d2d379fe0f80128ce1c094030729d9582ba569a70c221a9c3c317ebcb7b288\node_production_modules\bluebird\js\release\util.js:16:23) at MappingPromiseArray._promiseFulfilled (C:\Tools\botpress\modules\.cache\module__b3d2d379fe0f80128ce1c094030729d9582ba569a70c221a9c3c317ebcb7b288\node_production_modules\bluebird\js\release\map.js:61:38) at MappingPromiseArray.PromiseArray._iterate (C:\Tools\botpress\modules\.cache\module__b3d2d379fe0f80128ce1c094030729d9582ba569a70c221a9c3c317ebcb7b288\node_production_modules\bluebird\js\release\promise_array.js:114:31) at MappingPromiseArray.init (C:\Tools\botpress\modules\.cache\module__b3d2d379fe0f80128ce1c094030729d9582ba569a70c221a9c3c317ebcb7b288\node_production_modules\bluebird\js\release\promise_array.js:78:10) at MappingPromiseArray._asyncInit (C:\Tools\botpress\modules\.cache\module__b3d2d379fe0f80128ce1c094030729d9582ba569a70c221a9c3c317ebcb7b288\node_production_modules\bluebird\js\release\map.js:30:10) at _drainQueueStep (C:\Tools\botpress\modules\.cache\module__b3d2d379fe0f80128ce1c094030729d9582ba569a70c221a9c3c317ebcb7b288\node_production_modules\bluebird\js\release\async.js:142:12) at _drainQueue (C:\Tools\botpress\modules\.cache\module__b3d2d379fe0f80128ce1c094030729d9582ba569a70c221a9c3c317ebcb7b288\node_production_modules\bluebird\js\release\async.js:131:9) at Async._drainQueues (C:\Tools\botpress\modules\.cache\module__b3d2d379fe0f80128ce1c094030729d9582ba569a70c221a9c3c317ebcb7b288\node_production_modules\bluebird\js\release\async.js:147:5) at Immediate.Async.drainQueues [as _onImmediate] (C:\Tools\botpress\modules\.cache\module__b3d2d379fe0f80128ce1c094030729d9582ba569a70c221a9c3c317ebcb7b288\node_production_modules\bluebird\js\release\async.js:17:14) at runCallback (timers.js:696:18) at tryOnImmediate (timers.js:667:5) at processImmediate (timers.js:649:5) at process.topLevelDomainCallback (domain.js:121:23)

@EFF, @allardy Please help me with understanding and solving above issues. Thanks