ChatGPT UI Installer based on Mckay Wrigley Chat UI
This product is finally ready for test and use. 100% works on a fresh Ubuntu Server with a Domain Name assigned to the IP address and is validated through DNS.
This comprehensive menu-based installer is designed for individuals who wish to host their own chatbot UI on a cloud server instead of using Versal. It automates the installation and configuration process for all necessary components on your Ubuntu server.
Before starting, please ensure that you have a VPS, SSH access, and a properly configured domain name (e.g., gpt.yourdomain) pointing to your VPS IP address. This is essential for SSL certificate issuance and proxy forwarding using Nginx and Certbot.
Like all of my menu-based installers, this one includes additional steps that could potentially be condensed into one-liner commands. However, my intention in designing these installers is to assist individuals who are new to Linux and are in the process of learning. By providing a more detailed and step-by-step approach, I aim to help users understand the correct procedures before introducing them to shortcuts. I appreciate your understanding and kindness as you use this installer. :)
To-Do:
Currently supports Ubuntu LTS (testing on other platforms is pending).
If you are using a blank VPS, please create a non-root user first:
sudo adduser UserNameYouWant
usermod -aG sudo UserNameYouWant
su UserNameYouWant
Make sure your domain name is pointing to your VPS IP address.
https://docs.digitalocean.com/tutorials/dns-registrars/
sudo apt update
sudo apt upgrade
sudo apt install python3
sudo apt install python3-pip
sudo reboot
cd /opt
sudo git clone https://github.com/Nimdy/chatgpt-menu-installer.git
sudo chown -R $USER:$USER chatgpt-menu-installer/
cd chatgpt-menu-installer
sudo pip3 install -r requirements.txt
sudo python3 menu.py
Start the Chatbot UI Installation Press 2 for the Chatbot UI Installation Menu option
Install Nginx Server Press y to install Nginx
Enter your domain name Press y to enter your domain name
Restart Nginx If the configuration is verified press y to restart Nginx
Setup Certbot Press y to install Certbot
Enter your Certbot Details email address, domain name, and press y to agree to terms
After Certbot is installed, press y to restart Nginx
Docker will now install. After the docker installation is complete, you need to logout and log back in
After logging out and logging back in, launch the menu again and press 2 to continue the Chatbot UI installation. The installation will continue where you left off.
cd /opt/chatgpt-menu-installer
Switch back to root and then back to your account you created at the very start of the installation
Launch menu again
python3 menu.py
Press 2 and continue the install of Chatbot UI by McKay Wrigley - the script will continue where you left off because of the docker security and workflow in this design
Download and Install Chatbot UI Press y to download and install Chatbot UI
Enter your API Key information for OpenAI and Google Analytics etc... Press enter to use the default values if you do not have an API key for the service Press y to continue and save the API Key information
Agree to overwrite the .env.local file with your new information Press y to continue
Press y to build the Chatbot UI Docker Image This will take a few minutes to complete the build and after it is complete, the Chatbot UI will be active and ready for use on your domain name. https://yourdomain.com
Open the menu once more
Select option 3 to initiate the Login Form installation
Press 'y' to confirm the installation
Provide the desired JWT Username and Password for the Login Form, and indicate if you'd like to bypass it
Input a random string of characters for the JWT Secret Key, which is essential for encrypting the JWT Token and ensuring the Login Form functions correctly
Review the provided information and press 'y' to proceed
Press 'y' to rebuild the Chatbot UI Docker Image, incorporating the Login Form
The script will prompt you to choose a domain name from a list of configured domains on your server. Select the one you'd like to use for the Login Form
The script will then configure the NGINX Server and add location blocks for JWT API calls
Once the NGINX Server Configurations are updated, the script will restart NGINX, and your Chatbot UI will be ready for use with the Login Form
This project is currently in development and is intended for testing purposes only. Please use caution when using it on a production server. The project currently supports Ubuntu LTS, and testing on other platforms is pending.