Skip to content

[Proposal]: dockerfile/dev.portal.dockerfile is to big #60

@Vad1mo

Description

@Vad1mo

Summary

The image is 1.3 GiB in size so it takes quite some time to load it.

Motivation

fast startup

Design / Architecture

no

Implementation Plan

diff --git forkSrcPrefix/dockerfile/dev.portal.dockerfile forkDstPrefix/dockerfile/dev.portal.dockerfile
index afeced80652c11bf9fe076fd893920fce22d6b9f..b11c1b4e7fd0b1935ad5bc2628f8513cbcc566aa 100644
--- forkSrcPrefix/dockerfile/dev.portal.dockerfile
+++ forkDstPrefix/dockerfile/dev.portal.dockerfile
@@ -7,7 +7,18 @@ FROM oven/bun:${BUN_VERSION}-alpine
 WORKDIR /app
 # Copy package files for dependency installation
 COPY src/portal/package.json src/portal/bun.lock* ./
-RUN bun install --ignore-scripts
+RUN bun install --ignore-scripts && \
+    # Remove lint/test/redundant packages not needed for ng serve
+    rm -rf node_modules/prettier-eslint \
+           node_modules/prettier \
+           node_modules/cypress node_modules/@cypress \
+           node_modules/karma node_modules/karma-* \
+           node_modules/eslint node_modules/@eslint* \
+           node_modules/@angular-eslint \
+           node_modules/@typescript-eslint \
+           node_modules/stylelint node_modules/stylelint-* \
+           node_modules/esbuild-wasm \
+           node_modules/@nx node_modules/nx

 WORKDIR /swagger-ui
 COPY src/portal/app-swagger-ui/package.json src/portal/app-swagger-ui/package-lock.json ./

Alternatives Considered

No, but should have done so

Breaking Changes

No breaking changes

Security Considerations

No response

Checklist

  • I have searched for similar proposals and this is not a duplicate
  • I am willing to help implement this proposal

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions