Add ChatGPT UI (#339)

* Add ChatGPT UI

* Update config.json

* Update Depends On

* Change DB

* Change ENVs

* Change to MariaDB

* Fix Backend Connection

* Make Frontend Domain Exposable

* Update description.md

* Update description.md

* Update description.md
This commit is contained in:
DrMxrcy 2023-04-17 02:27:01 -04:00 committed by GitHub
parent 0312946a25
commit 46c0184786
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 148 additions and 0 deletions

View File

@ -0,0 +1,46 @@
{
"$schema": "../schema.json",
"name": "ChatGPT UI",
"port": 8200,
"available": true,
"exposable": true,
"id": "chatgpt-ui",
"tipi_version": 1,
"version": "v2.4.5",
"categories": ["utilities"],
"description": "A ChatGPT web client that supports multiple users, multiple languages, and multiple database connections for persistent data storage",
"short_desc": "A ChatGPT web client that supports multiple users, multiple languages, and multiple database connections for persistent data storage",
"author": "https://github.com/WongSaang",
"source": "https://github.com/WongSaang/chatgpt-ui",
"supported_architectures": ["amd64"],
"form_fields": [
{
"type": "random",
"label": "CHATGPT_UI_DB_PASSWORD",
"min": 32,
"env_variable": "CHATGPT_UI_DB_PASSWORD"
},
{
"type": "text",
"label": "Superuser Username",
"max": 50,
"min": 3,
"required": true,
"env_variable": "CHATGPT_UI_SUPERUSER_USERNAME"
},
{
"type": "password",
"label": "Superuser Password",
"max": 50,
"min": 3,
"required": true,
"env_variable": "CHATGPT_UI_SUPERUSER_PASSWORD"
},
{
"type": "text",
"label": "Superuser Email",
"required": true,
"env_variable": "CHATGPT_UI_SUPERUSER_EMAIL"
}
]
}

View File

@ -0,0 +1,77 @@
version: '3'
services:
chatgpt-ui:
image: wongsaang/chatgpt-ui-client:v2.4.5
container_name: chatgpt-ui
environment:
- SERVER_DOMAIN=http://chatgpt-ui-web-server
- DEFAULT_LOCALE=en
#- NUXT_PUBLIC_APP_NAME='ChatGPT UI' # The name of the application
#- NUXT_PUBLIC_TYPEWRITER=true # Whether to enable the typewriter effect, default false
#- NUXT_PUBLIC_TYPEWRITER_DELAY=50 # The delay time of the typewriter effect, default 50ms
depends_on:
- chatgpt-ui-web-server
ports:
- '8200:80'
restart: always
networks:
- tipi_main_network
labels:
traefik.enable: ${APP_EXPOSED}
traefik.http.routers.chatgpt-ui.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.chatgpt-ui.entrypoints: websecure
traefik.http.routers.chatgpt-ui.service: chatgpt-ui
traefik.http.routers.chatgpt-ui.tls.certresolver: myresolver
traefik.http.services.chatgpt-ui.loadbalancer.server.port: 80
chatgpt-ui-wsgi-server:
image: wongsaang/chatgpt-ui-wsgi-server:v2.4.2
container_name: chatgpt-ui-wsgi-server
environment:
- APP_DOMAIN=${INTERNAL_IP}:8201
- SERVER_WORKERS=3
- WORKER_TIMEOUT=180
- DB_URL=mysql://tipi:${CHATGPT_UI_DB_PASSWORD}@chatgpt-ui-db:3306/chatgptdb
- DJANGO_SUPERUSER_USERNAME=${CHATGPT_UI_SUPERUSER_USERNAME} # default superuser name
- DJANGO_SUPERUSER_PASSWORD=${CHATGPT_UI_SUPERUSER_PASSWORD} # default superuser password
- DJANGO_SUPERUSER_EMAIL=${CHATGPT_UI_SUPERUSER_EMAIL} # default superuser email
- ACCOUNT_EMAIL_VERIFICATION=none
#- EMAIL_HOST=SMTP server address
#- EMAIL_PORT=SMTP server port
#- EMAIL_HOST_USER=
#- EMAIL_HOST_PASSWORD=
#- EMAIL_USE_TLS=True
#- EMAIL_FROM=no-reply@example.com #Default sender email address
networks:
- tipi_main_network
depends_on:
- chatgpt-ui-db
restart: always
chatgpt-ui-web-server:
image: wongsaang/chatgpt-ui-web-server:v2.4.2
container_name: chatgpt-ui-web-server
environment:
- BACKEND_URL=http://chatgpt-ui-wsgi-server:8000
ports:
- '8201:80'
depends_on:
- chatgpt-ui-wsgi-server
- chatgpt-ui-db
networks:
- tipi_main_network
restart: always
chatgpt-ui-db:
container_name: chatgpt-ui-db
image: lscr.io/linuxserver/mariadb:latest
environment:
- MYSQL_ROOT_PASSWORD=$CHATGPT_UI_DB_PASSWORD}
- MYSQL_DATABASE=chatgptdb
- MYSQL_USER=tipi
- MYSQL_PASSWORD=${CHATGPT_UI_DB_PASSWORD}
volumes:
- ${APP_DATA_DIR}/data/mysql/config:/config
restart: "unless-stopped"
networks:
- tipi_main_network

View File

@ -0,0 +1,25 @@
# Domain Info
| Exposed Service | Local Port | Exposed Domain |
|----------------------|------------|---------------------|
| ChatGPT UI Front End | IP:8200 | example.com |
| ChatGPT UI Backend | IP:8201/admin | Not Exposed Via Domain|
## Error Notice
Sometimes on the Inital Install, the backend may give you a 500 or 502 error code.
If the backend gives you a 500/502 error, stop and restart the app!
# ChatGPT UI
A ChatGPT web client that supports multiple users, multiple languages, and multiple database connections for persistent data storage.
The server of this project[https://github.com/WongSaang/chatgpt-ui-server](https://github.com/WongSaang/chatgpt-ui-server)
## Documentation
- [English](https://wongsaang.github.io/chatgpt-ui/)
- [中文](https://wongsaang.github.io/chatgpt-ui/zh/)
https://user-images.githubusercontent.com/46235412/227156264-ca17ab17-999b-414f-ab06-3f75b5235bfe.mp4

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB