Compare commits

...

5 Commits

Author SHA1 Message Date
chris depalma
8cfa0194aa
Merge 521df60f86 into 1680a1786e 2024-10-03 16:47:56 +00:00
ItzCrazyKns
1680a1786e feat(image-build): improve build time by caching 2024-10-03 10:41:05 +05:30
ItzCrazyKns
66f1e19ce8 feat(image-build): use Docker buildx, publish multi arch images 2024-10-03 09:37:15 +05:30
chris depalma
521df60f86 Add local ollama URL to config.toml file 2024-07-30 11:37:31 -04:00
chris depalma
77de9b776a Move front end port to 3010 to avoid collison with apps which commonly use it, like open-webui for ollama.
Fix issue with server not able to reach searxng.
Added config.toml that works locally.
Fixed sample.config.toml
2024-07-30 11:26:44 -04:00
6 changed files with 52 additions and 16 deletions

View File

@ -1,4 +1,4 @@
name: Build & Push Docker Image
name: Build & Push Docker Images
on:
push:
@ -10,13 +10,17 @@ on:
jobs:
build-and-push:
runs-on: ubuntu-latest
strategy:
matrix:
service: [backend, app]
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
install: true
- name: Log in to DockerHub
uses: docker/login-action@v2
@ -29,18 +33,38 @@ jobs:
id: version
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
- name: Build and push Docker image
- name: Build and push Docker image for ${{ matrix.service }}
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
run: |
docker build -f backend.dockerfile -t itzcrazykns1337/perplexica-backend:main .
docker build -f app.dockerfile -t itzcrazykns1337/perplexica-frontend:main .
docker push itzcrazykns1337/perplexica-backend:main
docker push itzcrazykns1337/perplexica-frontend:main
docker buildx create --use
if [[ "${{ matrix.service }}" == "backend" ]]; then \
DOCKERFILE=backend.dockerfile; \
IMAGE_NAME=perplexica-backend; \
else \
DOCKERFILE=app.dockerfile; \
IMAGE_NAME=perplexica-frontend; \
fi
docker buildx build --platform linux/amd64,linux/arm64 \
--cache-from=type=registry,ref=itzcrazykns1337/${IMAGE_NAME}:main \
--cache-to=type=inline \
-f $DOCKERFILE \
-t itzcrazykns1337/${IMAGE_NAME}:main \
--push .
- name: Build and push release Docker image
- name: Build and push release Docker image for ${{ matrix.service }}
if: github.event_name == 'release'
run: |
docker build -f backend.dockerfile -t itzcrazykns1337/perplexica-backend:${{ env.RELEASE_VERSION }} .
docker build -f app.dockerfile -t itzcrazykns1337/perplexica-frontend:${{ env.RELEASE_VERSION }} .
docker push itzcrazykns1337/perplexica-backend:${{ env.RELEASE_VERSION }}
docker push itzcrazykns1337/perplexica-frontend:${{ env.RELEASE_VERSION }}
docker buildx create --use
if [[ "${{ matrix.service }}" == "backend" ]]; then \
DOCKERFILE=backend.dockerfile; \
IMAGE_NAME=perplexica-backend; \
else \
DOCKERFILE=app.dockerfile; \
IMAGE_NAME=perplexica-frontend; \
fi
docker buildx build --platform linux/amd64,linux/arm64 \
--cache-from=type=registry,ref=itzcrazykns1337/${IMAGE_NAME}:${{ env.RELEASE_VERSION }} \
--cache-to=type=inline \
-f $DOCKERFILE \
-t itzcrazykns1337/${IMAGE_NAME}:${{ env.RELEASE_VERSION }} \
--push .

View File

@ -9,7 +9,7 @@ WORKDIR /home/perplexica
COPY ui /home/perplexica/
RUN yarn install
RUN yarn install --frozen-lockfile
RUN yarn build
CMD ["yarn", "start"]

View File

@ -10,7 +10,7 @@ COPY yarn.lock /home/perplexica/
RUN mkdir /home/perplexica/data
RUN yarn install
RUN yarn install --frozen-lockfile
RUN yarn build
CMD ["yarn", "start"]

12
config.toml Normal file
View File

@ -0,0 +1,12 @@
[GENERAL]
PORT = 3001 # Port to run the server on
SIMILARITY_MEASURE = "cosine" # "cosine" or "dot"
[API_KEYS]
OPENAI = "" # OpenAI API key - sk-1234567890abcdef1234567890abcdef
GROQ = "" # Groq API key - gsk_1234567890abcdef1234567890abcdef
ANTHROPIC = "" # Anthropic API key - sk-ant-1234567890abcdef1234567890abcdef
[API_ENDPOINTS]
SEARXNG = "http://SearxNG:8080" # SearxNG API URL
OLLAMA = "http://host.docker.internal:11434"

View File

@ -40,7 +40,7 @@ services:
depends_on:
- perplexica-backend
ports:
- 3000:3000
- 3010:3000
networks:
- perplexica-network
restart: unless-stopped

View File

@ -8,5 +8,5 @@ GROQ = "" # Groq API key - gsk_1234567890abcdef1234567890abcdef
ANTHROPIC = "" # Anthropic API key - sk-ant-1234567890abcdef1234567890abcdef
[API_ENDPOINTS]
SEARXNG = "http://localhost:32768" # SearxNG API URL
SEARXNG = "http://SearxNG:8080" # SearxNG API URL
OLLAMA = "" # Ollama API URL - http://host.docker.internal:11434