From 46c01847869f20bb8a1d6b620acee5908dec950c Mon Sep 17 00:00:00 2001 From: DrMxrcy <58747968+DrMxrcy@users.noreply.github.com> Date: Mon, 17 Apr 2023 02:27:01 -0400 Subject: [PATCH] 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 --- apps/chatgpt-ui/config.json | 46 ++++++++++++++ apps/chatgpt-ui/docker-compose.yml | 77 ++++++++++++++++++++++++ apps/chatgpt-ui/metadata/description.md | 25 ++++++++ apps/chatgpt-ui/metadata/logo.jpg | Bin 0 -> 46725 bytes 4 files changed, 148 insertions(+) create mode 100644 apps/chatgpt-ui/config.json create mode 100644 apps/chatgpt-ui/docker-compose.yml create mode 100644 apps/chatgpt-ui/metadata/description.md create mode 100644 apps/chatgpt-ui/metadata/logo.jpg diff --git a/apps/chatgpt-ui/config.json b/apps/chatgpt-ui/config.json new file mode 100644 index 00000000..76e5dca8 --- /dev/null +++ b/apps/chatgpt-ui/config.json @@ -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" + } + ] +} diff --git a/apps/chatgpt-ui/docker-compose.yml b/apps/chatgpt-ui/docker-compose.yml new file mode 100644 index 00000000..f686f5e6 --- /dev/null +++ b/apps/chatgpt-ui/docker-compose.yml @@ -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 diff --git a/apps/chatgpt-ui/metadata/description.md b/apps/chatgpt-ui/metadata/description.md new file mode 100644 index 00000000..cbaabb0a --- /dev/null +++ b/apps/chatgpt-ui/metadata/description.md @@ -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 diff --git a/apps/chatgpt-ui/metadata/logo.jpg b/apps/chatgpt-ui/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..58337f0d445fdab0ced690fc7a3a1f2029bf90ee GIT binary patch literal 46725 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 literal 0 HcmV?d00001