Compare commits

...
This repository has been archived on 2023-05-17. You can view files and clone it, but cannot push or open issues or pull requests.

1 Commits

Author SHA1 Message Date
03f162a7a1 1, migrate to mysql. 2, support docker-compose 2023-04-18 02:35:35 +08:00
6 changed files with 43 additions and 7 deletions

View File

@ -4,7 +4,6 @@ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/re
RUN apk add git python3 py3-pip RUN apk add git python3 py3-pip
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
RUN python3 -m pip install --upgrade pip && pip3 install --upgrade setuptools RUN python3 -m pip install --upgrade pip && pip3 install --upgrade setuptools
COPY . /web-gpt COPY ./project /web-gpt/project
RUN pip3 install -r /web-gpt/requirements.txt RUN pip3 install -r /web-gpt/project/requirements.txt
RUN pip3 install waitress
CMD cd /web-gpt && waitress-serve --listen 0.0.0.0:5000 project:app CMD cd /web-gpt && waitress-serve --listen 0.0.0.0:5000 project:app

33
docker-compose.yaml Normal file
View File

@ -0,0 +1,33 @@
version: '3'
volumes:
web-gpt:
db:
services:
web-gpt:
image: web-gpt
restart: always
depends_on:
- db
build:
context: .
volumes:
- ./instance:/web-gpt/instance
ports:
- 5000:5000
db:
image: mariadb
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=
- MYSQL_PASSWORD=
- MYSQL_DATABASE=web-gpt
- MYSQL_USER=web-gpt

View File

@ -8,8 +8,8 @@ app:
4. 网站不做关键词过滤,但请不要违反相关法律 4. 网站不做关键词过滤,但请不要违反相关法律
5. GPT生成的任何内容不保证准确性请自行甄别 5. GPT生成的任何内容不保证准确性请自行甄别
SQLALCHEMY_DATABASE_URI: sqlite:///sqlite.db # SQLALCHEMY_DATABASE_URI: sqlite:///sqlite.db
# SQLALCHEMY_DATABASE_URI: mysql://username:password@server/db SQLALCHEMY_DATABASE_URI: mysql+pymysql://web-gpt:@db/web-gpt
# LOGGING_LEVEL: CRITICAL | FATAL | ERROR | WARN | WARNING | INFO | DEBUG | NOTSET # LOGGING_LEVEL: CRITICAL | FATAL | ERROR | WARN | WARNING | INFO | DEBUG | NOTSET
LOGGING_LEVEL: INFO LOGGING_LEVEL: INFO

View File

@ -6,6 +6,8 @@ import logging
import time import time
import traceback import traceback
import os import os
import waitress
import pymysql
# init SQLAlchemy so we can use it later in our models # init SQLAlchemy so we can use it later in our models
db = SQLAlchemy() db = SQLAlchemy()

View File

@ -18,6 +18,6 @@ class Conversation(db.Model):
userid = db.Column(db.Integer) userid = db.Column(db.Integer)
useremail = db.Column(db.String(100), nullable=False) useremail = db.Column(db.String(100), nullable=False)
username = db.Column(db.String(100), nullable=False) username = db.Column(db.String(100), nullable=False)
request = db.Column(db.String(10000)) request = db.Column(db.TEXT)
response = db.Column(db.String(10000)) response = db.Column(db.TEXT)
datetime = db.Column(db.DateTime, server_default=func.now()) datetime = db.Column(db.DateTime, server_default=func.now())

View File

@ -2,6 +2,8 @@ Flask==2.2.3
Flask_Login==0.6.2 Flask_Login==0.6.2
flask_sqlalchemy==3.0.3 flask_sqlalchemy==3.0.3
openai==0.27.2 openai==0.27.2
PyMySQL==1.0.3
PyYAML==6.0 PyYAML==6.0
SQLAlchemy==2.0.7 SQLAlchemy==2.0.7
waitress==2.1.2
Werkzeug==2.2.3 Werkzeug==2.2.3