captainVersion: 4 services: $$cap_appname: caproverExtra: containerHttpPort: 3000 dockerfileLines: - FROM botpress/server:$$cap_BOTPRESS_VERSION - CMD /botpress/bp environment: DATABASE_URL: postgres://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB REDIS_URL: redis://srv-captain--$$cap_appname-cache?password=$$cap_REDIS_PASSWORD EXTERNAL_URL: http://$$cap_appname.$$cap_root_domain BP_MODULE_NLU_DUCKLINGURL: http://srv-captain--$$cap_appname-lang:8000 BP_MODULE_NLU_LANGUAGESOURCES: '[{"endpoint": "http://srv-captain--$$cap_appname-lang:3100"}]' BP_PRODUCTION: $$cap_BOTPRESS_PRODUCTION BPFS_STORAGE: $$cap_BOTPRESS_STORAGE VERBOSITY_LEVEL: $$cap_BOTPRESS_VERBOSITY_LEVEL BP_DECISION_MIN_CONFIDENCE: $$cap_BOTPRESS_DECISION_MIN_CONFIDENCE FAST_TEXT_VERBOSITY: $$cap_BOTPRESS_FAST_TEXT_VERBOSITY FAST_TEXT_CLEANUP_MS: $$cap_BOTPRESS_FAST_TEXT_CLEANUP_MS depends_on: - $$cap_appname-lang - $$cap_appname-db - $$cap_appname-cache volumes: - $$cap_appname:/botpress/data $$cap_appname-lang: caproverExtra: notExposeAsWebApp: 'true' dockerfileLines: - FROM botpress/server:$$cap_BOTPRESS_VERSION - USER root - RUN mkdir /botpress/lang && chown -R botpress:botpress /botpress/lang - USER botpress - CMD bash -c "./duckling -p 8000 & ./bp lang --langDir /botpress/lang --port 3100" volumes: - $$cap_appname-lang:/botpress/lang $$cap_appname-db: caproverExtra: notExposeAsWebApp: 'true' image: postgres:$$cap_POSTGRES_VERSION environment: POSTGRES_DB: $$cap_POSTGRES_DB POSTGRES_PASSWORD: $$cap_POSTGRES_PASSWORD POSTGRES_USER: $$cap_POSTGRES_USER volumes: - $$cap_appname-db:/var/lib/postgresql/data $$cap_appname-cache: caproverExtra: notExposeAsWebApp: 'true' dockerfileLines: - FROM redis:$$cap_REDIS_VERSION - CMD redis-server --requirepass $$cap_REDIS_PASSWORD volumes: - $$cap_appname-cache:/data caproverOneClickApp: displayName: Botpress isOfficial: true description: Open Source Platform For Developers To Build High-Quality Digital Assistants documentation: https://botpress.com/docs instructions: start: |- Botpress is a tool to simplify building chat bots for developers. The platform puts together the boilerplate code and infrastructure you need to get a chatbot up and running and gives a complete dev-friendly platform that ships with all the tools you need to build, deploy, and manage production-grade chat bots in record time. end: |- Botpress has been successfully deployed! It might take few moments before it's fully started. Please perform the following steps: 1. Go to the **HTTP Settings** of `$$cap_appname` and **Enable WebSocket Support** 2. Visit your Botpress instance at `http://$$cap_appname.$$cap_root_domain` and create your account 3. Go to **Code Editor** and select **Configurations** > **Module Configurations** > `nlu.json` in the side bar 4. Replace value for `ducklingURL` with `http://srv-captain--$$cap_appname-lang:8000` 5. Replace value for `languageSources` > `endpoint` with `http://srv-captain--$$cap_appname-lang:3100` 6. Restart `$$cap_appname` in CapRover by clicking on **Save & Update** Have fun with Botpress! variables: - id: $$cap_BOTPRESS_VERSION label: Version | Botpress description: Version of Botpress. Check out their Docker page for the valid tags https://hub.docker.com/r/botpress/server/tags defaultValue: v12_30_2 validRegex: /.{1,}/ - id: $$cap_POSTGRES_VERSION label: Version | PostgreSQL description: Version of PostgreSQL. Check out their Docker page for the valid tags https://hub.docker.com/_/postgres/tags defaultValue: 11.2-alpine validRegex: /.{1,}/ - id: $$cap_REDIS_VERSION label: Version | Redis description: Version of Redis. Check out their Docker page for the valid tags https://hub.docker.com/_/redis/tags defaultValue: 5.0.5-alpine validRegex: /.{1,}/ - id: $$cap_BOTPRESS_PRODUCTION label: General | Production Mode description: Whether to enable production mode. defaultValue: 'true' validRegex: /^(true|false)$/ - id: $$cap_BOTPRESS_STORAGE label: General | Storage description: Storage destination used by BPFS to read and write files (global and bots). Either `disk` or `database`. defaultValue: database validRegex: /.{1,}/ - id: $$cap_BOTPRESS_VERBOSITY_LEVEL label: General | Verbosity Level description: When set higher than `0`, Botpress will be more chatty when processing requests. defaultValue: '0' validRegex: /.{1,}/ - id: $$cap_BOTPRESS_DECISION_MIN_CONFIDENCE label: General | Decision Minimum Confidence description: Minimum threshold required for the Decision Engine to elect a suggestion. defaultValue: '0.5' validRegex: /.{1,}/ - id: $$cap_BOTPRESS_FAST_TEXT_VERBOSITY label: General | Fast Text Verbosity description: Level of verbosity that FastText will use when training models. defaultValue: '0' validRegex: /.{1,}/ - id: $$cap_BOTPRESS_FAST_TEXT_CLEANUP_MS label: General | Fast Text Clean-Up description: Model will be kept in memory until it receives no messages to process for that duration. Defined in milliseconds. defaultValue: 60000 validRegex: /.{1,}/ - id: $$cap_POSTGRES_DB label: PostgreSQL | Name description: Name of the database. defaultValue: botpress validRegex: /.{1,}/ - id: $$cap_POSTGRES_USER label: PostgreSQL | User description: Name of the database user. defaultValue: botpress validRegex: /.{1,}/ - id: $$cap_POSTGRES_PASSWORD label: PostgreSQL | Password description: Password of the database user. defaultValue: $$cap_gen_random_hex(16) validRegex: /.{1,}/ - id: $$cap_REDIS_PASSWORD label: Redis | Password description: Password for Redis. defaultValue: $$cap_gen_random_hex(16) validRegex: /.{1,}/