mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-09-10 21:39:33 +00:00
feat: supports docker compose deployment
This commit is contained in:
30
docker/allinone/Dockerfile
Normal file
30
docker/allinone/Dockerfile
Normal file
@@ -0,0 +1,30 @@
|
||||
ARG BASE_IMAGE="db-gpt:latest"
|
||||
|
||||
FROM ${BASE_IMAGE}
|
||||
|
||||
RUN apt-get update && apt-get install -y wget gnupg lsb-release net-tools
|
||||
|
||||
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
|
||||
|
||||
RUN wget https://dev.mysql.com/get/mysql-apt-config_0.8.17-1_all.deb
|
||||
RUN dpkg -i mysql-apt-config_0.8.17-1_all.deb
|
||||
|
||||
RUN apt-get update && apt-get install -y mysql-server && apt-get clean
|
||||
|
||||
# Remote access
|
||||
RUN sed -i 's/bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/g' /etc/mysql/mysql.conf.d/mysqld.cnf \
|
||||
&& echo "[mysqld]\ncharacter_set_server=utf8mb4\ncollation-server=utf8mb4_unicode_ci\ninit_connect='SET NAMES utf8mb4'\n[mysql]\ndefault-character-set=utf8mb4\n[client]\ndefault-character-set=utf8mb4\n" >> /etc/mysql/my.cnf
|
||||
|
||||
# Init sql
|
||||
RUN mkdir /docker-entrypoint-initdb.d \
|
||||
&& echo "USE mysql;\nUPDATE user SET Host='%' WHERE User='root';\nFLUSH PRIVILEGES;" > /docker-entrypoint-initdb.d/init.sql
|
||||
|
||||
ENV MYSQL_ROOT_PASSWORD=aa123456
|
||||
ENV LOCAL_DB_PASSWORD="$MYSQL_ROOT_PASSWORD"
|
||||
|
||||
RUN cp /app/assets/schema/knowledge_management.sql /docker-entrypoint-initdb.d/
|
||||
|
||||
COPY docker/allinone/allinone-entrypoint.sh /usr/local/bin/allinone-entrypoint.sh
|
||||
COPY docker/examples/sqls/ /docker-entrypoint-initdb.d/
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/allinone-entrypoint.sh"]
|
17
docker/allinone/allinone-entrypoint.sh
Executable file
17
docker/allinone/allinone-entrypoint.sh
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
service mysql start
|
||||
|
||||
# execute all mysql init script
|
||||
for file in /docker-entrypoint-initdb.d/*.sql
|
||||
do
|
||||
echo "execute sql file: $file"
|
||||
mysql -u root -p${MYSQL_ROOT_PASSWORD} < "$file"
|
||||
done
|
||||
|
||||
mysql -u root -p${MYSQL_ROOT_PASSWORD} -e "
|
||||
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '$MYSQL_ROOT_PASSWORD';
|
||||
FLUSH PRIVILEGES;
|
||||
"
|
||||
|
||||
python3 pilot/server/dbgpt_server.py
|
9
docker/allinone/build_image.sh
Executable file
9
docker/allinone/build_image.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_LOCATION=$0
|
||||
cd "$(dirname "$SCRIPT_LOCATION")"
|
||||
WORK_DIR=$(pwd)
|
||||
|
||||
IMAGE_NAME="db-gpt-allinone"
|
||||
|
||||
docker build -f Dockerfile -t $IMAGE_NAME $WORK_DIR/../../
|
13
docker/allinone/run.sh
Executable file
13
docker/allinone/run.sh
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
docker run --gpus "device=0" -d -p 3306:3306 \
|
||||
-p 5000:5000 \
|
||||
-e LOCAL_DB_HOST=127.0.0.1 \
|
||||
-e LOCAL_DB_PASSWORD=aa123456 \
|
||||
-e MYSQL_ROOT_PASSWORD=aa123456 \
|
||||
-e LLM_MODEL=vicuna-13b \
|
||||
-e LANGUAGE=zh \
|
||||
-v /data:/data \
|
||||
-v /data/models:/app/models \
|
||||
--name db-gpt-allinone \
|
||||
db-gpt-allinone
|
19
docker/allinone/run_proxyllm.sh
Executable file
19
docker/allinone/run_proxyllm.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Your api key
|
||||
PROXY_API_KEY="$PROXY_API_KEY"
|
||||
PROXY_SERVER_URL="${PROXY_SERVER_URL-'https://api.openai.com/v1/chat/completions'}"
|
||||
|
||||
docker run --gpus "device=0" -d -p 3306:3306 \
|
||||
-p 5000:5000 \
|
||||
-e LOCAL_DB_HOST=127.0.0.1 \
|
||||
-e LOCAL_DB_PASSWORD=aa123456 \
|
||||
-e MYSQL_ROOT_PASSWORD=aa123456 \
|
||||
-e LLM_MODEL=proxyllm \
|
||||
-e PROXY_API_KEY=$PROXY_API_KEY \
|
||||
-e PROXY_SERVER_URL=$PROXY_SERVER_URL \
|
||||
-e LANGUAGE=zh \
|
||||
-v /data:/data \
|
||||
-v /data/models:/app/models \
|
||||
--name db-gpt-allinone \
|
||||
db-gpt-allinone
|
Reference in New Issue
Block a user