Update setup instructions and environment variables

- Upgrade pip, setuptools, and wheel
- Install dependencies
- Add environment variables for OpenAI API token, Discord bot token, debug guild and channel, allowed guilds, admin roles, Dalle roles, GPT roles, welcome message, user input API keys, moderation alert channel, and user key DB path
- Set volume mounts for container and shared folder
- Raise the amount of returned recordings from 10 to 100
- Add docker and docker-compose installation instructions

[Dockerfile]
- Add OpenAI token, Discord token, Pinecone token, debug guild, debug channel, allowed guilds, admin roles, dalle roles, GPT roles, welcome message, user input API keys, moderation alert channel, and user key database path environment variables
- Upgrade pip, setuptools, and wheel
- Install dependencies
- Copy minimal files to main image
[docker-compose.yml]
- Add Docker Compose configuration for GPT3Discord
- Set environment variables for OpenAI API token, Discord bot token, debug guild and channel, allowed guilds, admin roles, Dalle roles, GPT roles, welcome message, user input API keys, moderation alert channel, and user key DB path
- Set volume mounts for container and shared folder
[README.md]
- Raise the amount of returned recordings from 10 to 100
- Add docker and docker-compose installation instructions
- Add environment variables to docker-compose.yml
- Add instructions for non-server, non-docker installation (Windows included)
Shubham Verlekar 1 year ago
parent 52b48ed6df
commit c6e9b1cfb6

@ -1,5 +1,7 @@
ARG PY_VERSION=3.9
# Build container
FROM python:${PY_VERSION} as base
FROM base as builder
@ -17,6 +19,7 @@ RUN apt-get update
RUN curl https://sh.rustup.rs -sSf | bash -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"
RUN mkdir /install /src
WORKDIR /install
RUN pip install --target="/install" --upgrade pip setuptools wheel
@ -40,6 +43,21 @@ RUN pip install --target="/install" /src
# Copy minimal to main image (to keep as small as possible)
FROM python:${PY_VERSION}-slim
ENV OPENAI_TOKEN=""
ENV DISCORD_TOKEN=""
ENV PINECONE_TOKEN=""
ENV DEBUG_GUILD=""
ENV DEBUG_CHANNEL=""
ENV ALLOWED_GUILDS=""
ENV ADMIN_ROLES=""
ENV DALLE_ROLES=""
ENV GPT_ROLES=""
ENV WELCOME_MESSAGE=""
ENV USER_INPUT_API_KEYS=""
ENV MODERATIONS_ALERT_CHANNEL=""
ENV USER_KEY_DB_PATH=""
ARG PY_VERSION
COPY . .
COPY --from=builder /install /usr/local/lib/python${PY_VERSION}/site-packages

@ -415,7 +415,7 @@ As a last resort, you can try to run the bot using python in a basic way, with s
cd (the folder where the files for GPT3Discord are located/cloned)
python3.9 gpt3discord.py
```
<!--
### Docker Installation
We now have a `Dockerfile` in the repository. This will build / install all dependencies and put a `gpt3discord` binary (main.py) into path.
@ -435,7 +435,50 @@ To build:
- You can also mount extra volumes and set `DATA_DIR` and `SHARE_DIR` in the env file to keep persistent data
- `env_file` should be replaced with where you have your .env file stored on your machine
This can also be run via screen/tmux or detached like a daemon.
This can also be run via screen/tmux or detached like a daemon. -->
### Docker and Docker Compose :
To use docker you can use the following command
```
docker run -d --name gpt3discord -v /containers/gpt3discord:/data -v /containers/gpt3discord/share:/data/share --env-file /path/to/.env gpt3discord:latest
```
Make sure that the /data and /data/share are created and the `env-file` path is correct.
#### Docker Compose
To use Docker Compose, you need to have Docker and Docker Compose installed on your system. You can download and install them from the following links:
- Docker
- Docker Compose
[You will need to install Docker for Desktop if you are on a desktop machine such as Windows or Mac, trying to run this]
To start the gpt3discord container with Docker Compose, follow these steps:
1. Open a terminal or command prompt and navigate to the directory that contains the docker-compose.yml file.
2. Open the docker-compose.yml file and replace the environment variable values with your actual tokens and IDs.
3. Run the following command to start the container in detached mode:
```
Copy codedocker-compose up -d
```
This will start the container and use the settings in the docker-compose.yml file. The -d option tells Docker Compose to run the container in the background (detached mode).
To stop the gpt3discord container, run the following command:
```
Copy codedocker-compose down
```
This will stop the container and remove the services and networks defined in the docker-compose.yml file.
That's it! With these simple steps, you can start and stop the gpt3discord container using Docker Compose.
### Non-Server, Non-Docker installation (Windows included)

@ -0,0 +1,22 @@
version: '3.8'
services:
gpt3discord:
image: gpt3discord:latest
container_name: gpt3discord
environment:
OPENAI_TOKEN: "<openai_api_token>"
DISCORD_TOKEN: "<discord_bot_token>"
DEBUG_GUILD: "974519864045756446"
DEBUG_CHANNEL: "977697652147892304"
ALLOWED_GUILDS: "971268468148166697,971268468148166697"
ADMIN_ROLES: "Admin,Owner"
DALLE_ROLES: "Admin,Openai,Dalle,gpt"
GPT_ROLES: "openai,gpt"
WELCOME_MESSAGE: "Hi There! Welcome to our Discord server. We hope you'll enjoy our server and we look forward to engaging with you!"
USER_INPUT_API_KEYS: "False"
MODERATIONS_ALERT_CHANNEL: "977697652147892304"
USER_KEY_DB_PATH: "user_key_db.sqlite"
volumes:
- /containers/gpt3discord:/data
- /containers/gpt3discord/share:/data/share
restart: always

@ -22,4 +22,4 @@ USER_INPUT_API_KEYS="False" # If True, users must use their own API keys for Ope
MODERATIONS_ALERT_CHANNEL = "977697652147892304"
# User API key db path configuration. This is where the user API keys will be stored.
USER_KEY_DB_PATH = "user_key_db.sqlite"
USER_KEY_DB_PATH = "user_key_db.sqlite"
Loading…
Cancel
Save