Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App Submission: Lobe Chat #1901

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

al-lac
Copy link
Contributor

@al-lac al-lac commented Dec 6, 2024

App Submission

App name

Lobe Chat

Fixes #1898

256x256 SVG icon

https://github.com/lobehub/lobe-icons/blob/master/packages/static-svg/icons/lobehub-color.svg

Gallery images

CleanShot 2024-12-06 at 10 52 28
CleanShot 2024-12-06 at 10 53 15
CleanShot 2024-12-06 at 10 53 47

I have tested my app on:

  • umbrelOS on a Raspberry Pi
  • umbrelOS on an Umbrel Home
  • umbrelOS on Linux VM

Copy link

github-actions bot commented Dec 6, 2024

🎉   Linting finished with no errors or warnings   🎉

Thank you for your submission! This is an automated linter that checks for common issues in pull requests to the Umbrel App Store.

@al-lac
Copy link
Contributor Author

al-lac commented Dec 6, 2024

This is the version where everything is stored on the client. So switching devices does not sync settings / history.
Will probably try the database deployment as well or make a note about the storage on the client.

@al-lac
Copy link
Contributor Author

al-lac commented Dec 10, 2024

Ok, tried the database version. But could not get it to run properly with the casdoor authentication. I think it should also be good as it is now. If anyone wants to give it a try, this was the docker-compose.yml I tried:

version: '3.7'

services:
  app_proxy:
    environment:
      APP_HOST: lobe-chat_lobe_1
      APP_PORT: 3210
      PROXY_AUTH_ADD: "false"

  postgresql:
    image: pgvector/pgvector:pg16
    ports:
      - '5432:5432'
    volumes:
      - '${APP_DATA_DIR}/data/db:/var/lib/postgresql/data'
    environment:
      - 'POSTGRES_DB=lobe'
      - 'POSTGRES_PASSWORD=lobe'
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -U postgres']
      interval: 5s
      timeout: 5s
      retries: 5
    restart: always

  minio:
    image: minio/minio
    volumes:
      - '${APP_DATA_DIR}/data/s3:/etc/minio/data'
    environment:
      - 'MINIO_ROOT_USER=lobe'
      - 'MINIO_ROOT_PASSWORD=lobe-chat'
      - 'MINIO_API_CORS_ALLOW_ORIGIN=http://${APP_DOMAIN}:3210'
    restart: always
    command: >
      server /etc/minio/data --address ":9000" --console-address ":9001"


  casdoor:
    image: casbin/casdoor
    entrypoint: /bin/sh -c './server --createDatabase=true'
    depends_on:
      postgresql:
        condition: service_healthy
    environment:
      RUNNING_IN_DOCKER: 'true'
      driverName: 'postgres'
      dataSourceName: 'user=postgres password=lobe host=postgresql port=5432 sslmode=disable dbname=casdoor'
      origin: 'http://${APP_DOMAIN}:8000'
      runmode: 'dev'
    volumes:
      - ${APP_DATA_DIR}/data/casdoor/init_data.json:/init_data.json

  lobe:
    image: lobehub/lobe-chat-database
    depends_on:
      postgresql:
        condition: service_healthy
      minio:
        condition: service_started
      casdoor:
        condition: service_started
    environment:
      - 'APP_URL=http://${APP_DOMAIN}:7455'
      - 'NEXT_AUTH_SSO_PROVIDERS=casdoor'
      - 'KEY_VAULTS_SECRET=Kix2wcUONd4CX51E/ZPAd36BqM4wzJgKjPtz2sGztqQ='
      - 'NEXT_AUTH_SECRET=NX2kaPE923dt6BL2U8e9oSre5RfoT7hg'
      - 'AUTH_URL=http://${APP_DOMAIN}:7455/api/auth'
      - 'AUTH_CASDOOR_ISSUER=http://${APP_DOMAIN}'
      - 'DATABASE_URL=postgresql://postgres:lobe@postgresql:5432/lobe'
      - 'S3_ENDPOINT=http://minio:9000'
      - 'S3_BUCKET=lobe'
      - 'S3_PUBLIC_DOMAIN=http://${APP_DOMAIN}:9000'
      - 'S3_ACCESS_KEY_ID=soaucnP8Bip0TDdUjxng'
      - 'S3_SECRET_ACCESS_KEY=ZPUzvY34umfcfxvWKSv0P00vczVMB6YmgJS5J9eO'
      - 'S3_ENABLE_PATH_STYLE=1'
      - 'LLM_VISION_IMAGE_USE_BASE64=1'
      - 'AUTH_CASDOOR_ID=a387a4892ee19b1a2249'
      - 'AUTH_CASDOOR_SECRET=f9c6471fd26b8baf224f67e9e77bb364'
    restart: always

@nmfretz can you take a look at this PR?

@sharknoon
Copy link
Contributor

What a wonderful app submission. Thank you! It's great so see such a clean docker-compose.yml file 👍
A Database connection would up the complexity quite a bit, seeing PostgreSQL, MinIO and casdoor.
I would also propose to leave it as it is for now and if somebody requests the database version, we can still have a look into it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

New app: lobe-chat (AI Chat)
2 participants