前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >docker运行perplexica

docker运行perplexica

原创
作者头像
code4it
发布2025-02-12 20:25:27
发布2025-02-12 20:25:27
7600
代码可运行
举报
文章被收录于专栏:码匠的流水账码匠的流水账
运行总次数:0
代码可运行

本文主要研究一下如何用docker运行perplexica

步骤

git clone

代码语言:javascript
代码运行次数:0
复制
git clone https://github.com/ItzCrazyKns/Perplexica.git

app.dockerfile

代码语言:javascript
代码运行次数:0
复制
FROM docker.1ms.run/node:20.18.0-alpine

ARG NEXT_PUBLIC_WS_URL=ws://127.0.0.1:3001
ARG NEXT_PUBLIC_API_URL=http://127.0.0.1:3001/api
ENV NEXT_PUBLIC_WS_URL=${NEXT_PUBLIC_WS_URL}
ENV NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL}

WORKDIR /home/perplexica

COPY ui /home/perplexica/
RUN yarn config set registry 'https://registry.npmmirror.com'
RUN yarn install --frozen-lockfile --verbose
RUN yarn build

CMD ["yarn", "start"]

backend.dockerfile

代码语言:javascript
代码运行次数:0
复制
FROM docker.1ms.run/node:18-slim

WORKDIR /home/perplexica

COPY src /home/perplexica/src
COPY tsconfig.json /home/perplexica/
COPY drizzle.config.ts /home/perplexica/
COPY package.json /home/perplexica/
COPY yarn.lock /home/perplexica/

RUN mkdir /home/perplexica/data
RUN mkdir /home/perplexica/uploads

RUN yarn install --frozen-lockfile --network-timeout 600000
RUN yarn build

CMD ["yarn", "start"]

config.toml

代码语言:javascript
代码运行次数:0
复制
[API_KEYS]
OPENAI = ""
GROQ = ""
ANTHROPIC = ""
GEMINI = ""

[API_ENDPOINTS]
OLLAMA = "http://host.docker.internal:11434"
SEARXNG = "http://127.0.0.1:4000"

[GENERAL]
PORT = 3_001
SIMILARITY_MEASURE = "cosine"
KEEP_ALIVE = "5m"

docker-compose.yaml

代码语言:javascript
代码运行次数:0
复制
services:
  searxng:
    image: docker.1ms.run/searxng/searxng:latest
    volumes:
      - ./searxng:/etc/searxng:rw
    ports:
      - 4000:8080
    networks:
      - perplexica-network
    restart: unless-stopped

  perplexica-backend:
    build:
      context: .
      dockerfile: backend.dockerfile
    image: docker.1ms.run/itzcrazykns1337/perplexica-backend:main
    environment:
      - SEARXNG_API_URL=http://host.docker.internal:4000
      - OLLAMA=http://host.docker.internal:11434
    depends_on:
      - searxng
    ports:
      - 3001:3001
    volumes:
      - backend-dbstore:/home/perplexica/data
      - uploads:/home/perplexica/uploads
      - ./config.toml:/home/perplexica/config.toml
    # extra_hosts:
    #   - 'host.docker.internal:host-gateway'
    networks:
      - perplexica-network
    restart: unless-stopped

  perplexica-frontend:
    build:
      context: .
      dockerfile: app.dockerfile
      args:
        - NEXT_PUBLIC_API_URL=http://host.docker.internal:3001/api
        - NEXT_PUBLIC_WS_URL=ws://host.docker.internal:3001
    image: itzcrazykns1337/perplexica-frontend:main
    depends_on:
      - perplexica-backend
    ports:
      - 3000:3000
    networks:
      - perplexica-network
    restart: unless-stopped

networks:
  perplexica-network:

volumes:
  backend-dbstore:
  uploads:

运行

代码语言:javascript
代码运行次数:0
复制
docker-compose up

之后访问http://localhost:3000,如果是searxng则访问http://localhost:4000

小结

searxng目前国内能访问的就是bing和wolframalpha,研究了半天添加搜狗搜索没成功,可能需要代码定制。perplexica目前还没有找到如何定制知识库,只能每次搜索的时候上传一下相关文档。

doc

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 步骤
    • git clone
    • app.dockerfile
    • backend.dockerfile
    • config.toml
    • docker-compose.yaml
    • 运行
  • 小结
  • doc
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档