WebWhiz is free and open source licensed under AGPL 3.0. It allows you to modify the software for your own use. However, you must also release these modifications (Open source the project) under the same AGPL 3.0 license if you distribute the modified software to others or run it on a network server where others can use it.
If you want to modify the source code and keep the source code proprietary, to yourself, choose a Commercial license
WebWhiz is an open-source project designed to be self-hosted, allowing you to run it on your own infrastructure for free. This guide will walk you through the process of setting up and running WebWhiz using Docker and docker-compose.
Before you begin, make sure you have the following prerequisites installed on your system:
Follow these steps to install and run WebWhiz on your local machine:
git clone https://github.com/webwhiz-ai/webwhiz.git
cd webwhiz
OPENAI_KEY=your-openai-api-key
OPENAI_KEY_2=your-openai-api-key-2
Note: You can obtain the OpenAI API keys by signing up for an account on the OpenAI website.
docker-compose up
This command will build the necessary Docker containers and start the WebWhiz application. You will see the progress of the build process in the terminal.
The WebWhiz stack consists of multiple services defined in the `docker-compose.yml` file. It includes the WebWhiz UI, backend API, and any other required services.
http://localhost:3030
http://localhost:3000
http://localhost:3031
docker-compose up -d
docker-compose down
sudo docker-compose up --build --force-recreate
This command will ensure that all containers are rebuilt from scratch.
To add the chatbot to your website, refer Adding Chatbot to your website section.
That's it! You have now successfully set up and started WebWhiz in your own hosting environment. For further configuration details or troubleshooting, refer to the official WebWhiz documentation or the Docker and docker-compose documentation.
Remember that running a self-hosted application comes with its own set of responsibilities, including regular updates, security checks, and maintenance tasks. Always keep your system and WebWhiz up to date to ensure the best performance and security.
In addition to the self-hosted option, we also provide a fully managed hosted solution for WebWhiz. With the hosted solution, we take care of all the security and maintenance aspects, allowing you to focus solely on utilizing the chatbot capabilities of WebWhiz.
WebWhiz is designed to be a production-grade chatbot that can be scaled up or down to handle any volume of data. This guide will walk you through the process of manually setting up and installing WebWhiz.
WebWhiz consists of three main components:
WebWhiz uses MongoDB for the database and Redis for caching. It also utilizes third-party services, including OpenAI, for powering the chatbot and error monitoring.
Before you begin the installation process, make sure you have the following prerequisites installed on your system:
To configure WebWhiz, follow these steps:
HOST: The IP to which the web server should bind (typically set as 0.0.0.0).
PORT: The port on which the web server should listen (default is 3000).
SECRET_KEY: A secret used for encryption (e.g., JWT).
MONGO_URI: The MongoDB URI to connect to the MongoDB database.
MONGO_DBNAME: The name of the MongoDB database.
OPENAI_KEY: Your OpenAI API key.
OPENAI_KEY_2: An alternate OpenAI API key. You can use the same API key for both if you don't have a separate one.
Follow these steps to install the necessary dependencies and run the WebWhiz application:
yarn install
cd workers
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cd ..
yarn run build
npm install -g pm2
pm2 start ecosystem.config.js
To set up the WebWhiz frontend, follow these steps:
REACT_APP_BASE_URL='https://api.website.com'
GOOGLE_AUTH_ID='Only if you need Google login'
npm install
npm run start
To set up the WebWhiz chatbot on your website, add the following script tag to your HTML:
<script id="__webwhizSdk__" widgetUrl="YOUR_WIDGET_URL" baseUrl="YOUR_BASE_URL" src="webwhiz-sdk.js" chatbotId="YOUR_CHATBOT_ID"></script>
Replace YOUR_WIDGET_URL, YOUR_BASE_URL, and YOUR_CHATBOT_ID with your actual values.
Here’s an example of a configured script tag for self-hosted configuration:
<script id="__webwhizSdk__" widgetUrl="https://widget.webwhiz.ai/" baseUrl="https://api.webwhiz.ai" src="webwhiz-sdk.js" chatbotId="64fs3dfdc33675875fd4c0ec1"></script>
In the above example, the widgetUrl is set to https://widget.webwhiz.ai/
, the baseUrl is set to https://api.webwhiz.ai,
and the chatbotId is 64fs3dfdc33675875fd4c0ec1
.
Please ensure to replace these values with your actual URLs and Chatbot ID.
If you’re not self-hosting, you only need to specify the chatbotId. The widgetUrl and baseUrl will use default values. After inserting the relevant script tag into your website, the WebWhiz chatbot will be enabled and configured as per your settings.
If you encounter any issues during the installation process, please reach out to hi@webwhiz.ai for assistance.
Have more questions? Ask the chatbot or email us at hi@webwhiz.ai
Dual licensing means that the software is available under two different licenses: AGPL 3.0 and a commercial license. Users can choose the license that best suits their needs. The AGPL 3.0 offers open-source distribution and modification rights, while the commercial license allows users to keep the source code closed.
Yes, the Affero General Public License v3.0 (AGPL 3.0) allows you to modify the software for your own use. However, you must also release these modifications (Open source the project) under the same AGPL 3.0 license if you distribute the modified software to others or run it on a network server where others can use it.
Absolutely. You can freely distribute the software under the AGPL 3.0. However, you must provide the source code, including any modifications you've made, to the recipients. If the software is run over a network, users must be able to access its source code.
AGPL 3.0 has a clause for software running over a network (often referred to as the "ASP loophole"). If your application is running on a network server and users interact with it there, you must provide a way for them to receive the source code of the application.
Yes, the commercial license allows you to modify the source code and keep it closed source. This is a common practice for businesses who want to use the software in a proprietary product or service without having to share their modifications.
Yes, purchasing a commercial license allows you to use the software without adhering to the AGPL 3.0 conditions. You would instead need to adhere to the terms set out in the commercial license agreement.
No, if you wish to customize the software and keep the source code closed, you need to acquire a commercial license. The AGPL 3.0 requires that any distribution of the modified software must also be licensed under AGPL 3.0, including the corresponding source code. To keep the modifications private, you must obtain a commercial license.
It depends, If you use the project under AGPL 3.0, you can remove the branding but, you'll have to open source the entire applications source code. If you purchase a commercial Team or organization license, you can remove the powered by option and keep the source code private