-
-
Notifications
You must be signed in to change notification settings - Fork 116
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
feat: web docker image optimisation #173
Conversation
Signed-off-by: Abhishek kushwaha <[email protected]>
PR Description updated to latest commit (9108701) |
PR Review
✨ Review tool usage guide:Overview: The tool can be triggered automatically every time a new PR is opened, or can be invoked manually by commenting on any PR.
See the review usage page for a comprehensive guide on using this tool. |
PR Code Suggestions
✨ Improve tool usage guide:Overview:
See the improve usage page for a comprehensive guide on using this tool. |
Signed-off-by: Abhishek kushwaha <[email protected]>
Signed-off-by: Abhishek kushwaha <[email protected]>
…into dockerbuild
Signed-off-by: Abhishek kushwaha <[email protected]>
I think this is okay. Because you are using 644. Eitherways there wont be root access so feel there wont be any issue. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm getting this error when I try to run the image @Abbhiishek
Hmmmm, thats odd. Can you please list the commands you used for building and running? EDIT: can you also include that sharp package? |
i got it i found the issue. will work on this. |
removing --chmod builds and run the container smoothly. COPY --from=installer --chown=nextjs:nodejs /app/apps/web/.next/standalone ./
COPY --from=installer --chown=nextjs:nodejs /app/apps/web/.next/static ./apps/web/.next/static
COPY --from=installer --chown=nextjs:nodejs /app/apps/web/public ./apps/web/public |
Signed-off-by: Abhishek kushwaha <[email protected]>
Signed-off-by: Abhishek kushwaha <[email protected]>
Quality Gate passedIssues Measures |
Awesome! works like a charm |
@Abbhiishek would you be interested in taking up the api dockerfile optimization? |
yep |
Signed-off-by: Abhishek kushwaha <[email protected]> Co-authored-by: Rajdip Bhattacharya <[email protected]>
## [1.3.0](v1.2.0...v1.3.0) (2024-05-12) ### 🚀 Features * Add approval support ([#158](#158)) ([e09ae60](e09ae60)) * **api:** Add configuration live update support ([#181](#181)) ([f7d6684](f7d6684)) * **api:** Add feature to export data of a workspace ([#152](#152)) ([46833aa](46833aa)) * **api:** Add Integration support ([#203](#203)) ([f1ae87e](f1ae87e)) * **api:** Add note to [secure] and variable ([#151](#151)) ([2e62351](2e62351)) * **api:** Add OAuth redirection and polished authentication ([#212](#212)) ([d2968bc](d2968bc)) * **api:** Add support for storing and managing variables ([#149](#149)) ([963a8ae](963a8ae)) * **api:** Added GitLab OAuth ([#188](#188)) ([4d3bbe4](4d3bbe4)) * **api:** Added validation for reason field ([#190](#190)) ([90b8ff2](90b8ff2)) * **api:** Create default workspace on user's creation ([#182](#182)) ([3dc0c4c](3dc0c4c)) * **api:** Reading `port` Dynamically ([#170](#170)) ([fd46e3e](fd46e3e)) * **auth:** Add Google OAuth ([#156](#156)) ([cf387ea](cf387ea)) * **web:** Added waitlist ([#168](#168)) ([1084c77](1084c77)) * **web:** Landing revamp ([#165](#165)) ([0bc723b](0bc723b)) ### 🐛 Bug Fixes * **web:** alignment issue in “Collaboration made easy” section ([#178](#178)) ([df5ca75](df5ca75)) * **workspace:** delete duplicate tailwind config ([99d922a](99d922a)) ### 📚 Documentation * add contributor list ([f37569a](f37569a)) * Add integration docs ([#204](#204)) ([406ddb7](406ddb7)) * Added integration docs to gitbook summary ([ab37530](ab37530)) * **api:** Add swagger docs of API key controller ([#167](#167)) ([2910476](2910476)) * **api:** Add swagger docs of User Controller ([#166](#166)) ([fd59522](fd59522)) * fix typo in environment-variables.md ([#163](#163)) ([48294c9](48294c9)) * Remove supabase from docs ([#169](#169)) ([eddbce8](eddbce8)) * **setup:** replace NX with Turbo in setup instructions ([#175](#175)) ([af8a460](af8a460)) * Update README.md ([b59f16b](b59f16b)) * Update running-the-api.md ([177dbbf](177dbbf)) * Update running-the-api.md ([#193](#193)) ([3d5bcac](3d5bcac)) ### 🔧 Miscellaneous Chores * Added lockfile ([60a3b9b](60a3b9b)) * Added lockfile ([6bb512c](6bb512c)) * **api:** Added type inference and runtime validation to `process.env` ([#200](#200)) ([249e07d](249e07d)) * **api:** Fixed prisma script env errors ([#209](#209)) ([8762354](8762354)) * **API:** Refactor authority check functions in API ([#189](#189)) ([e9d710d](e9d710d)) * **api:** Refactor user e2e tests ([b38d45a](b38d45a)) * **ci:** Disabled api stage release ([97877c4](97877c4)) * **ci:** Update stage deployment config ([868a6a1](868a6a1)) * **codecov:** update api-e2e project coverage ([1e90d7e](1e90d7e)) * **dockerfile:** Fixed web dockerfile ([6134bb2](6134bb2)) * **docker:** Optimized web Dockerfile to reduct image size ([#173](#173)) ([444286a](444286a)) * **release:** Downgraded package version ([c173fee](c173fee)) * **release:** Fix failing release ([#213](#213)) ([40f64f3](40f64f3)) * **release:** Install pnpm ([1081bea](1081bea)) * **release:** Updated release commit ([b8958e7](b8958e7)) * **release:** Updated release commit ([e270eb8](e270eb8)) * Update deprecated husky Install command ([#202](#202)) ([e61102c](e61102c)) * Upgrade @million/lint from 0.0.66 to 0.0.73 ([#172](#172)) ([dd43ed9](dd43ed9)) * **web:** Updated fly memory config ([4debc66](4debc66)) ### 🔨 Code Refactoring * **api:** Made events central to workspace ([#159](#159)) ([9bc00ae](9bc00ae)) * **api:** Migrated to cookie based authentication ([#206](#206)) ([ad6911f](ad6911f)) * **monorepo:** Migrate from nx to turbo ([#153](#153)) ([88b4b00](88b4b00))
🎉 This PR is included in version 1.3.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
User description
Description
Optimized the Dockerfile for the web application by introducing multi-stage builds, improving build efficiency and security.
Added output: "standalone" configuration in next.config.js to support the optimized Docker build process.
Updated docker-compose.yml and docker-compose-test.yml to include web and api services, facilitating easier development and testing.
Fixes #113
Dependencies
Mention any dependencies/packages used
Future Improvements
Mention any improvements to be done in future related to any file/feature
Mentions
Mention and tag the people
Screenshots of relevant screens
Add screenshots of relevant screens
Developer's checklist
If changes are made in the code:
Documentation Update
Type
enhancement, documentation
Description
output: "standalone"
configuration innext.config.js
to support the optimized Docker build process.docker-compose.yml
anddocker-compose-test.yml
to includeweb
andapi
services, facilitating easier development and testing.Changes walkthrough
next.config.js
Add Standalone Output Configuration for Next.js
apps/web/next.config.js
output: "standalone"
configuration tonext.config.js
foroptimized Docker builds.
Dockerfile
Optimize Web Dockerfile for Efficiency and Security
apps/web/Dockerfile
base
,builder
,installer
, andrunner
stages for optimized image size and security.turbo
andpnpm
for efficient dependency management andbuilds.
nextjs
for running the application,enhancing security.
reduced image size.
docker-compose-test.yml
Extend docker-compose-test with Web and API Services
docker-compose-test.yml
web
andapi
services with build and port configurations fortesting environment.
docker-compose.yml
Extend docker-compose with Web and API Services
docker-compose.yml
web
andapi
services with build and port configurations fordevelopment environment.