app-store/apps/chatgpt-ui/docker-compose.yml

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