DEV Community

BotticelliBots
BotticelliBots

Posted on

BotticelliBundle: Simplified Deployment of Chatbots using Docker


First of all, you should be aware about a Botticellibots project:

Creating a simple Telegram bot using BotticelliBots: a quick guide

BotticelliBots on Github

BotticelliBots v.0.8.1

BotticelliBundle is a Docker image specifically designed to streamline the deployment of a basic Botticelli bot. It offers a quick way to set up and customize your own bot configuration by leveraging the Botticelli framework. The use of Docker enables users to easily run and test their bots in a containerized environment, enhancing development efficiency.


Key Features

  • Docker Integration: BotticelliBundle simplifies the process of deploying chatbots by encapsulating all dependencies and configurations within a Docker container.

  • Sample Configuration: The repository includes a sample bot configuration to guide users in setting up their personalized bots.

  • Ease of Testing: Running the bot in a Docker container allows for isolated testing, reducing compatibility issues.


How to Deploy Your Bot

To deploy your bot using BotticelliBundle, follow these steps:

  1. Clone the Repository: First, clone the BotticelliBundle repository to your local machine.

  2. Modify the Dockerfile and appsettings.json: Adjust the Dockerfile and configuration settings.

Here’s an example Dockerfile setup:


dockerfile
   # Use .NET SDK 8 image for building
   FROM mcr.microsoft.com/dotnet/sdk:8.0-alpine AS build

   # Set the working directory
   WORKDIR /app

   # Clone the Botticelli repository and switch to the specified branch
   RUN git clone --single-branch --branch release/0.8 https://github.com/devgopher/botticelli.git .
   RUN git clone <your git repo> ./bot

   # Change to project directory
   WORKDIR /app/bot

   # Restore dependencies
   RUN dotnet restore

   # Build the project
   RUN dotnet build -c Release -o out

   # Use the ASP.NET Runtime image for running
   FROM mcr.microsoft.com/dotnet/aspnet:8.0-alpine
   WORKDIR /app
   COPY --from=build /app/bot/out .

   # Copy custom configuration file
   COPY appsettings.json .

   # Set the entry point for the application
   ENTRYPOINT ["dotnet", "<YourBot>.dll"]
Enter fullscreen mode Exit fullscreen mode

Top comments (0)