96 lines
3.7 KiB
YAML
96 lines
3.7 KiB
YAML
version: "3"
|
|
services:
|
|
chatgpt-ui:
|
|
image: wongsaang/chatgpt-ui-client:v2.5.9
|
|
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:
|
|
# Main
|
|
traefik.enable: true
|
|
traefik.http.middlewares.chatgpt-ui-web-redirect.redirectscheme.scheme: https
|
|
traefik.http.services.chatgpt-ui.loadbalancer.server.port: 80
|
|
# Web
|
|
traefik.http.routers.chatgpt-ui-insecure.rule: Host(`${APP_DOMAIN}`)
|
|
traefik.http.routers.chatgpt-ui-insecure.entrypoints: web
|
|
traefik.http.routers.chatgpt-ui-insecure.service: chatgpt-ui
|
|
traefik.http.routers.chatgpt-ui-insecure.middlewares: chatgpt-ui-web-redirect
|
|
# Websecure
|
|
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
|
|
# Local domain
|
|
traefik.http.routers.chatgpt-ui-local-insecure.rule: Host(`chatgpt-ui.${LOCAL_DOMAIN}`)
|
|
traefik.http.routers.chatgpt-ui-local-insecure.entrypoints: web
|
|
traefik.http.routers.chatgpt-ui-local-insecure.service: chatgpt-ui
|
|
traefik.http.routers.chatgpt-ui-local-insecure.middlewares: chatgpt-ui-web-redirect
|
|
# Local domain secure
|
|
traefik.http.routers.chatgpt-ui-local.rule: Host(`chatgpt-ui.${LOCAL_DOMAIN}`)
|
|
traefik.http.routers.chatgpt-ui-local.entrypoints: websecure
|
|
traefik.http.routers.chatgpt-ui-local.service: chatgpt-ui
|
|
traefik.http.routers.chatgpt-ui-local.tls: true
|
|
|
|
chatgpt-ui-wsgi-server:
|
|
image: wongsaang/chatgpt-ui-wsgi-server:v2.5.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.5.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
|