diff --git a/public/v4/apps/botpress.yml b/public/v4/apps/botpress.yml new file mode 100644 index 0000000..eafd043 --- /dev/null +++ b/public/v4/apps/botpress.yml @@ -0,0 +1,147 @@ +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,}/ diff --git a/public/v4/logos/botpress.png b/public/v4/logos/botpress.png new file mode 100644 index 0000000..a24a1a2 Binary files /dev/null and b/public/v4/logos/botpress.png differ