Sign inSign up

hexastack/hexabot-api

Sponsored OSS

By Hexastack

•Updated 3 months ago

Docker image for Hexabot API Chatbot Builder

Image
Machine learning & AI
Developer tools
Web servers
1

10K+

hexastack/hexabot-api repository overview

⁠Hexabot v2 API Docker Image

This Docker image contains the API/backend service for Hexabot v2.

Hexabot v2 is the previous generation of Hexabot, a chatbot builder that allows users to create and manage AI-powered, multi-channel, and multilingual chatbot experiences. This image packages the NestJS API service used by Hexabot v2 and is intended to be deployed together with the other compatible Hexabot v2 services, including the frontend, widget, database, and related infrastructure.

Important: This image is for Hexabot v2 only. It is not the recommended API distribution model for Hexabot v3. For new projects, we recommend using the latest Hexabot v3 setup and documentation.

Welcome to the Hexabot API Docker image, the backend service for the Hexabot⁠ v2 Community Edition, a powerful open-source chatbot solution that enables users to create, manage, and deploy AI-powered, multi-channel, and multilingual chatbots. The API is built using NestJS and is part of the broader Hexabot platform, which is designed to be flexible and extensible through plugins, channels, and NLP models.

For more details about Hexabot v2, visit the Hexabot website⁠ and check the full documentation here⁠.

⁠Pulling the Docker Image

To pull the latest version of the Hexabot API Docker image from Docker Hub:

docker pull hexastack/hexabot-api:latest

⁠Running the API in Standalone Mode

You can run the Hexabot API using a single Docker container. Here's a basic example of how to start the API container:

docker run -d \
  --name hexabot-api \
  -p 4000:3000 \
  --env-file .env \
  -v api-data:/uploads \
  hexastack/hexabot-api:latest

This command will:

  • Expose the API on port 4000
  • Load environment variables from the .env file
  • Mount a volume for storing uploaded files

⁠Running the API with Docker Compose

Here’s how to use Docker Compose to run the API as part of a multi-service setup with MongoDB:

version: '3'
services:
  api:
    container_name: api
    image: hexastack/hexabot-api:latest
    env_file: .env
    ports:
      - ${API_PORT}:3000
    networks:
      - db-network
      - app-network
    volumes:
      - api-data:/uploads
    depends_on:
      mongo:
        condition: service_healthy
      database-init:
        condition: service_completed_successfully

  mongo:
    image: mongo:4.4
    environment:
      MONGO_INITDB_ROOT_USERNAME: ${MONGO_USER}
      MONGO_INITDB_ROOT_PASSWORD: ${MONGO_PASSWORD}
    networks:
      - db-network

  mongo-express:
    image: mongo-express
    ports:
      - ${APP_MONGO_EXPRESS_PORT}:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: ${MONGO_USER}
      ME_CONFIG_MONGODB_ADMINPASSWORD: ${MONGO_PASSWORD}
    networks:
      - db-network

networks:
  db-network:
  app-network:

volumes:
  api-data:

In this setup:

  • The API is exposed on the port defined by API_PORT in your .env file.
  • The API depends on MongoDB and waits for it to be healthy before starting.
  • Mongo Express is also available for viewing your MongoDB data.

⁠Environment Variables

Here is a table of the key environment variables used in the Hexabot API:

For additional configuration details, please refer to the Hexabot documentation⁠.

⁠Resources

Tag summary

Content type

Image

Digest

sha256:5f39d1e47…

Size

131.6 MB

Last updated

3 months ago

docker pull hexastack/hexabot-api

This week's pulls

Pulls:

42

Last week