diff --git a/docker-compose.yml b/docker-compose.yml index 8d766bee..dd15efd3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -225,6 +225,13 @@ services: type: bind authelia: container_name: authelia + depends_on: + authelia-pg: + condition: service_started + required: true + lldap: + condition: service_started + required: true environment: AUTHELIA_AUTHENTICATION_BACKEND_LDAP_PASSWORD: ${AUTHELIA_AUTH_BIND_LDAP_PASSWORD} AUTHELIA_JWT_SECRET: ${AUTHELIA_JWT_SECRET} @@ -2832,44 +2839,60 @@ services: type: bind bind: create_host_path: true - localai: - container_name: localai + lobe-chat: + container_name: lobe-chat + depends_on: + lobe-chat-pg-db: + condition: service_healthy + required: true + minio: + condition: service_started + required: true + zitadel: + condition: service_started + required: true environment: - - DEBUG=true - healthcheck: - interval: 1m - retries: 5 - test: - - CMD - - curl - - -f - - http://localhost:8080/readyz - timeout: 20m - image: localai/localai:latest-aio-cpu - labels: - homepage.group: Personal Services - homepage.name: LocalAI - homepage.href: https://ai.${MY_TLD} - homepage.icon: /icons/localai.png - homepage.description: Open source OpenAI alternative - swag: enable - swag_proto: http - swag_port: 8080 - swag_url: ai.${MY_TLD} - networks: - default: null + APP_URL: https://ai.trez.wtf/ + KEY_VAULTS_SECRET: ${LOBECHAT_KEY_VAULT_SECRET} + DATABASE_URL: postgresql://lobe:${LOBECHAT_PG_DB_PASSWD}@postgresql:5432/lobe + NEXTAUTH_URL: https://lobe.example.com/api/auth + NEXT_AUTH_SECRET: ${LOBECHAT_NEXT_AUTH_SECRET} + NEXT_AUTH_SSO_PROVIDERS: zitadel + AUTH_ZITADEL_ID: ${LOBECHAT_ZITADEL_CLIENT_ID} + AUTH_ZITADEL_SECRET: ${LOBECHAT_ZITADEL_CLIENT_SECRET} + AUTH_ZITADEL_ISSUER: https://id.trez.wtf + S3_ACCESS_KEY_ID: ${LOBECHAT_S3_ACCESS_KEY_ID} + S3_SECRET_ACCESS_KEY: ${LOBECHAT_S3_SECRET_ACCESS_KEY} + S3_ENDPOINT: http://minio:9000 + S3_BUCKET: lobechat + S3_PUBLIC_DOMAIN: https://s3.trez.wtf + S3_ENABLE_PATH_STYLE: 1+ + OPENAI_API_KEY: ${LOBECHAT_OPENAI_API_KEY} + ANTHROPIC_API_KEY: ${LOBECHAT_ANTHROPIC_API_KEY} + GITHUB_TOKEN: ${LOBECHAT_GITHUB_TOKEN} + OLLAMA_MODEL_LIST: +llama3.1:8b,+nomic-embed-text:latest,+starcoder2:3b,+llama3.1:latest,+llama2:7B + MISTRAL_API_KEY: ${LOBECHAT_MISTRAL_API_KEY} + GROQ_API_KEY: ${LOBECHAT_GROQAI_API_KEY} + image: lobehub/lobe-chat-database ports: - - mode: ingress - protocol: tcp - published: "8109" - target: 8080 - restart: always + - 3210:3210 + restart: unless-stopped + lobe-chat-pg-db: + container_name: lobe-chat-pg-db + environment: + POSTGRES_DB: lobe + POSTGRES_PASSWORD: ${LOBECHAT_PG_DB_PASSWD} + expose: + - 5432 + healthcheck: + test: ['CMD-SHELL', 'pg_isready -U postgres'] + interval: 5s + timeout: 5s + retries: 5 + image: pgvector/pgvector:pg16 volumes: - - source: ${DOCKER_VOLUME_CONFIG}/localai/models - target: /build/models - type: bind - bind: - create_host_path: true + - ${DOCKER_VOLUME_CONFIG}/lobechat/db:/var/lib/postgresql/data + restart: unless-stopped maloja: container_name: maloja environment: