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
 |