quivr/frontend
Mohamed Messaad 71d4a63a17
feat(docker): use multi-stage Docker builds for smaller images (#1614)
# Description

Currently, the production Docker images are very large, sitting at 4.17
GB for the frontend image, and 3.49 GB for backend images. This change
adds multi-stage builds, to optimize the image sizes, which results in
the following improvements:

- frontend image size: 4.17 GB -> 1.64 GB
- backend image size: 3.49 GB -> 1.71 GB

I hope this is appropriate as there is no open issue for this that I
know of.
I implemented this change and tested it locally, and would be glad to
discuss this and open an issue if necessary.

## Checklist before requesting a review

Please delete options that are not relevant.

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my code
- [x] I have commented hard-to-understand areas
- [x] New and existing unit tests pass locally with my changes

## Screenshots (if appropriate):
Image sizes before:
<img width="1416" alt="image"
src="https://github.com/StanGirard/quivr/assets/8296549/fcbb020f-8165-4549-ae30-823318691ec6">

Image sizes after:
<img width="1416" alt="image"
src="https://github.com/StanGirard/quivr/assets/8296549/d3f43c78-be26-4c38-9d23-9c1b0e9e37f2">
2023-11-13 10:13:56 +01:00
..
app fix: allow users to delete brains (#1596) 2023-11-06 16:58:03 +01:00
e2e test: add chat e2e tests (#1344) 2023-10-09 15:23:24 +02:00
lib fix: allow to change model bro brain settings tab (#1590) 2023-11-06 14:36:13 +01:00
pages/blog fix(blog): fixed use client 2023-10-23 22:31:28 +02:00
public feat: make auth mode configurable (#1579) 2023-11-03 14:18:47 +01:00
services/analytics fix: fix some bugs (#1201) 2023-09-18 21:28:07 +02:00
shared feat: display brain status on settings page (#1221) 2023-09-20 16:24:56 +02:00
styles feat(strapi): added first draft (#1237) 2023-09-21 00:20:29 +02:00
.dockerignore refactor(brain): removed braintoupdate and added brain (#356) 2023-06-21 10:16:44 +02:00
.eslintrc.js Feat/multiple brains frontend (#344) 2023-06-20 16:17:13 +02:00
.gitignore feat(e2e): add playright config and createBrain e2e test (#1177) 2023-09-18 10:23:56 +02:00
.lintstagedrc.js Devx/add linter rules (#331) 2023-06-15 11:52:46 +02:00
Dockerfile feat(docker): use multi-stage Docker builds for smaller images (#1614) 2023-11-13 10:13:56 +01:00
Dockerfile.dev docs(blog): updated 2023-09-21 21:14:01 +02:00
globals.css fix: 🐛📱 height now matches mobile height (#1323) 2023-10-04 12:04:57 +02:00
middleware.ts Devx/add linter rules (#331) 2023-06-15 11:52:46 +02:00
next-sitemap.config.js feat: 🎸 sitemap (#1483) 2023-10-24 22:21:12 +02:00
next.config.js feat: upgrade to plus button (#1482) 2023-10-24 18:26:48 +02:00
package.json feat: add remote notification config (#1547) 2023-11-02 19:20:07 +01:00
playwright.config.ts test: add e2e for crawling (#1288) 2023-09-29 13:15:37 +02:00
pnpm-lock.yaml FIX #1220 UX Upload improvement (#1259) 2023-09-27 09:22:22 +02:00
postcss.config.js Devx/add linter rules (#331) 2023-06-15 11:52:46 +02:00
README.md feat(api): new api init 2023-05-18 01:22:13 +02:00
sentry.client.config.ts feat(sentry): added only if env variable set 2023-07-02 14:32:16 +02:00
sentry.edge.config.ts feat(sentry): added only if env variable set 2023-07-02 14:32:16 +02:00
sentry.server.config.ts feat(sentry): added only if env variable set 2023-07-02 14:32:16 +02:00
tailwind.config.js feat: add new signin/login page (#1492) 2023-10-26 09:48:41 +02:00
tsconfig.eslint.json Feat: chat name edit (#343) 2023-06-20 09:54:23 +02:00
tsconfig.json Devx/add linter rules (#331) 2023-06-15 11:52:46 +02:00
vitest.config.ts feat: responsive sidebar (#1279) 2023-10-02 14:42:23 +02:00
vitest.setup.ts feat: responsive sidebar (#1279) 2023-10-02 14:42:23 +02:00
yarn.lock feat: add remote notification config (#1547) 2023-11-02 19:20:07 +01:00

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.