feat: deployment #46

Merged
matous-volf merged 11 commits from feat/deployment into main 2024-09-13 10:42:20 +00:00
Showing only changes of commit b98f3d00d6 - Show all commits

View File

@ -13,7 +13,7 @@ RUN dx build --release
coderabbitai[bot] commented 2024-09-13 09:25:52 +00:00 (Migrated from github.com)
Review

Optimize the builder stage by avoiding additional packages and consolidating RUN instructions.

Consider the following improvements to the builder stage:

  1. Add --no-install-recommends to the apt-get install command to avoid installing unnecessary packages:
-RUN rustup target add wasm32-unknown-unknown && \
-    cargo install dioxus-cli diesel_cli && \
-    apt-get update && apt-get install -y nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1
+RUN rustup target add wasm32-unknown-unknown && \
+    cargo install dioxus-cli diesel_cli && \
+    apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1
  1. Consolidate the multiple RUN instructions for npm install, npm run build, and dx build --release into a single RUN instruction to reduce the number of layers and improve build efficiency:
-RUN npm install
-RUN npm run build
-RUN dx build --release
+RUN npm install && \
+    npm run build && \
+    dx build --release

These optimizations will help reduce the image size and improve the build performance.

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

FROM rust:1.80-bookworm AS builder

RUN rustup target add wasm32-unknown-unknown && \
    cargo install dioxus-cli diesel_cli && \
    apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1

COPY . /srv/app
WORKDIR /srv/app

RUN npm install && \
    npm run build && \
    dx build --release
Tools
Hadolint

[info] 3-3: Avoid additional packages by specifying --no-install-recommends

(DL3015)


[info] 11-11: Multiple consecutive RUN instructions. Consider consolidation.

(DL3059)


[info] 12-12: Multiple consecutive RUN instructions. Consider consolidation.

(DL3059)

**Optimize the builder stage by avoiding additional packages and consolidating `RUN` instructions.** Consider the following improvements to the builder stage: 1. Add `--no-install-recommends` to the `apt-get install` command to avoid installing unnecessary packages: ```diff -RUN rustup target add wasm32-unknown-unknown && \ - cargo install dioxus-cli diesel_cli && \ - apt-get update && apt-get install -y nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 +RUN rustup target add wasm32-unknown-unknown && \ + cargo install dioxus-cli diesel_cli && \ + apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 ``` 2. Consolidate the multiple `RUN` instructions for `npm install`, `npm run build`, and `dx build --release` into a single `RUN` instruction to reduce the number of layers and improve build efficiency: ```diff -RUN npm install -RUN npm run build -RUN dx build --release +RUN npm install && \ + npm run build && \ + dx build --release ``` These optimizations will help reduce the image size and improve the build performance. <!-- suggestion_start --> <details> <summary>Committable suggestion</summary> > :bangbang: **IMPORTANT** > Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements. `````suggestion FROM rust:1.80-bookworm AS builder RUN rustup target add wasm32-unknown-unknown && \ cargo install dioxus-cli diesel_cli && \ apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 COPY . /srv/app WORKDIR /srv/app RUN npm install && \ npm run build && \ dx build --release ````` </details> <!-- suggestion_end --> <details> <summary>Tools</summary> <details> <summary>Hadolint</summary><blockquote> [info] 3-3: Avoid additional packages by specifying `--no-install-recommends` (DL3015) --- [info] 11-11: Multiple consecutive `RUN` instructions. Consider consolidation. (DL3059) --- [info] 12-12: Multiple consecutive `RUN` instructions. Consider consolidation. (DL3059) </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit -->
coderabbitai[bot] commented 2024-09-13 09:25:52 +00:00 (Migrated from github.com)
Review

Optimize the builder stage by avoiding additional packages and consolidating RUN instructions.

Consider the following improvements to the builder stage:

  1. Add --no-install-recommends to the apt-get install command to avoid installing unnecessary packages:
-RUN rustup target add wasm32-unknown-unknown && \
-    cargo install dioxus-cli diesel_cli && \
-    apt-get update && apt-get install -y nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1
+RUN rustup target add wasm32-unknown-unknown && \
+    cargo install dioxus-cli diesel_cli && \
+    apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1
  1. Consolidate the multiple RUN instructions for npm install, npm run build, and dx build --release into a single RUN instruction to reduce the number of layers and improve build efficiency:
-RUN npm install
-RUN npm run build
-RUN dx build --release
+RUN npm install && \
+    npm run build && \
+    dx build --release

These optimizations will help reduce the image size and improve the build performance.

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

FROM rust:1.80-bookworm AS builder

RUN rustup target add wasm32-unknown-unknown && \
    cargo install dioxus-cli diesel_cli && \
    apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1

COPY . /srv/app
WORKDIR /srv/app

RUN npm install && \
    npm run build && \
    dx build --release
Tools
Hadolint

[info] 3-3: Avoid additional packages by specifying --no-install-recommends

(DL3015)


[info] 11-11: Multiple consecutive RUN instructions. Consider consolidation.

(DL3059)


[info] 12-12: Multiple consecutive RUN instructions. Consider consolidation.

(DL3059)

**Optimize the builder stage by avoiding additional packages and consolidating `RUN` instructions.** Consider the following improvements to the builder stage: 1. Add `--no-install-recommends` to the `apt-get install` command to avoid installing unnecessary packages: ```diff -RUN rustup target add wasm32-unknown-unknown && \ - cargo install dioxus-cli diesel_cli && \ - apt-get update && apt-get install -y nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 +RUN rustup target add wasm32-unknown-unknown && \ + cargo install dioxus-cli diesel_cli && \ + apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 ``` 2. Consolidate the multiple `RUN` instructions for `npm install`, `npm run build`, and `dx build --release` into a single `RUN` instruction to reduce the number of layers and improve build efficiency: ```diff -RUN npm install -RUN npm run build -RUN dx build --release +RUN npm install && \ + npm run build && \ + dx build --release ``` These optimizations will help reduce the image size and improve the build performance. <!-- suggestion_start --> <details> <summary>Committable suggestion</summary> > :bangbang: **IMPORTANT** > Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements. `````suggestion FROM rust:1.80-bookworm AS builder RUN rustup target add wasm32-unknown-unknown && \ cargo install dioxus-cli diesel_cli && \ apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 COPY . /srv/app WORKDIR /srv/app RUN npm install && \ npm run build && \ dx build --release ````` </details> <!-- suggestion_end --> <details> <summary>Tools</summary> <details> <summary>Hadolint</summary><blockquote> [info] 3-3: Avoid additional packages by specifying `--no-install-recommends` (DL3015) --- [info] 11-11: Multiple consecutive `RUN` instructions. Consider consolidation. (DL3059) --- [info] 12-12: Multiple consecutive `RUN` instructions. Consider consolidation. (DL3059) </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit -->
FROM debian:bookworm-slim AS runner
RUN apt-get update && apt-get install -y libpq5
coderabbitai[bot] commented 2024-09-13 09:25:52 +00:00 (Migrated from github.com)
Review

Optimize the builder stage by avoiding additional packages and consolidating RUN instructions.

Consider the following improvements to the builder stage:

  1. Add --no-install-recommends to the apt-get install command to avoid installing unnecessary packages:
-RUN rustup target add wasm32-unknown-unknown && \
-    cargo install dioxus-cli diesel_cli && \
-    apt-get update && apt-get install -y nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1
+RUN rustup target add wasm32-unknown-unknown && \
+    cargo install dioxus-cli diesel_cli && \
+    apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1
  1. Consolidate the multiple RUN instructions for npm install, npm run build, and dx build --release into a single RUN instruction to reduce the number of layers and improve build efficiency:
-RUN npm install
-RUN npm run build
-RUN dx build --release
+RUN npm install && \
+    npm run build && \
+    dx build --release

These optimizations will help reduce the image size and improve the build performance.

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

FROM rust:1.80-bookworm AS builder

RUN rustup target add wasm32-unknown-unknown && \
    cargo install dioxus-cli diesel_cli && \
    apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1

COPY . /srv/app
WORKDIR /srv/app

RUN npm install && \
    npm run build && \
    dx build --release
Tools
Hadolint

[info] 3-3: Avoid additional packages by specifying --no-install-recommends

(DL3015)


[info] 11-11: Multiple consecutive RUN instructions. Consider consolidation.

(DL3059)


[info] 12-12: Multiple consecutive RUN instructions. Consider consolidation.

(DL3059)

**Optimize the builder stage by avoiding additional packages and consolidating `RUN` instructions.** Consider the following improvements to the builder stage: 1. Add `--no-install-recommends` to the `apt-get install` command to avoid installing unnecessary packages: ```diff -RUN rustup target add wasm32-unknown-unknown && \ - cargo install dioxus-cli diesel_cli && \ - apt-get update && apt-get install -y nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 +RUN rustup target add wasm32-unknown-unknown && \ + cargo install dioxus-cli diesel_cli && \ + apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 ``` 2. Consolidate the multiple `RUN` instructions for `npm install`, `npm run build`, and `dx build --release` into a single `RUN` instruction to reduce the number of layers and improve build efficiency: ```diff -RUN npm install -RUN npm run build -RUN dx build --release +RUN npm install && \ + npm run build && \ + dx build --release ``` These optimizations will help reduce the image size and improve the build performance. <!-- suggestion_start --> <details> <summary>Committable suggestion</summary> > :bangbang: **IMPORTANT** > Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements. `````suggestion FROM rust:1.80-bookworm AS builder RUN rustup target add wasm32-unknown-unknown && \ cargo install dioxus-cli diesel_cli && \ apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 COPY . /srv/app WORKDIR /srv/app RUN npm install && \ npm run build && \ dx build --release ````` </details> <!-- suggestion_end --> <details> <summary>Tools</summary> <details> <summary>Hadolint</summary><blockquote> [info] 3-3: Avoid additional packages by specifying `--no-install-recommends` (DL3015) --- [info] 11-11: Multiple consecutive `RUN` instructions. Consider consolidation. (DL3059) --- [info] 12-12: Multiple consecutive `RUN` instructions. Consider consolidation. (DL3059) </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit -->
RUN apt-get update && apt-get install -y libpq5=15.8-0+deb12u1
coderabbitai[bot] commented 2024-09-13 09:25:52 +00:00 (Migrated from github.com)
Review

Optimize the builder stage by avoiding additional packages and consolidating RUN instructions.

Consider the following improvements to the builder stage:

  1. Add --no-install-recommends to the apt-get install command to avoid installing unnecessary packages:
-RUN rustup target add wasm32-unknown-unknown && \
-    cargo install dioxus-cli diesel_cli && \
-    apt-get update && apt-get install -y nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1
+RUN rustup target add wasm32-unknown-unknown && \
+    cargo install dioxus-cli diesel_cli && \
+    apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1
  1. Consolidate the multiple RUN instructions for npm install, npm run build, and dx build --release into a single RUN instruction to reduce the number of layers and improve build efficiency:
-RUN npm install
-RUN npm run build
-RUN dx build --release
+RUN npm install && \
+    npm run build && \
+    dx build --release

These optimizations will help reduce the image size and improve the build performance.

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

FROM rust:1.80-bookworm AS builder

RUN rustup target add wasm32-unknown-unknown && \
    cargo install dioxus-cli diesel_cli && \
    apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1

COPY . /srv/app
WORKDIR /srv/app

RUN npm install && \
    npm run build && \
    dx build --release
Tools
Hadolint

[info] 3-3: Avoid additional packages by specifying --no-install-recommends

(DL3015)


[info] 11-11: Multiple consecutive RUN instructions. Consider consolidation.

(DL3059)


[info] 12-12: Multiple consecutive RUN instructions. Consider consolidation.

(DL3059)

**Optimize the builder stage by avoiding additional packages and consolidating `RUN` instructions.** Consider the following improvements to the builder stage: 1. Add `--no-install-recommends` to the `apt-get install` command to avoid installing unnecessary packages: ```diff -RUN rustup target add wasm32-unknown-unknown && \ - cargo install dioxus-cli diesel_cli && \ - apt-get update && apt-get install -y nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 +RUN rustup target add wasm32-unknown-unknown && \ + cargo install dioxus-cli diesel_cli && \ + apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 ``` 2. Consolidate the multiple `RUN` instructions for `npm install`, `npm run build`, and `dx build --release` into a single `RUN` instruction to reduce the number of layers and improve build efficiency: ```diff -RUN npm install -RUN npm run build -RUN dx build --release +RUN npm install && \ + npm run build && \ + dx build --release ``` These optimizations will help reduce the image size and improve the build performance. <!-- suggestion_start --> <details> <summary>Committable suggestion</summary> > :bangbang: **IMPORTANT** > Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements. `````suggestion FROM rust:1.80-bookworm AS builder RUN rustup target add wasm32-unknown-unknown && \ cargo install dioxus-cli diesel_cli && \ apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 COPY . /srv/app WORKDIR /srv/app RUN npm install && \ npm run build && \ dx build --release ````` </details> <!-- suggestion_end --> <details> <summary>Tools</summary> <details> <summary>Hadolint</summary><blockquote> [info] 3-3: Avoid additional packages by specifying `--no-install-recommends` (DL3015) --- [info] 11-11: Multiple consecutive `RUN` instructions. Consider consolidation. (DL3059) --- [info] 12-12: Multiple consecutive `RUN` instructions. Consider consolidation. (DL3059) </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit -->
COPY --from=builder /srv/app/dist /srv/app/dist
COPY .env /srv/app/.env

coderabbitai[bot] commented 2024-09-13 09:25:52 +00:00 (Migrated from github.com)
Review

Optimize the builder stage by avoiding additional packages and consolidating RUN instructions.

Consider the following improvements to the builder stage:

  1. Add --no-install-recommends to the apt-get install command to avoid installing unnecessary packages:
-RUN rustup target add wasm32-unknown-unknown && \
-    cargo install dioxus-cli diesel_cli && \
-    apt-get update && apt-get install -y nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1
+RUN rustup target add wasm32-unknown-unknown && \
+    cargo install dioxus-cli diesel_cli && \
+    apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1
  1. Consolidate the multiple RUN instructions for npm install, npm run build, and dx build --release into a single RUN instruction to reduce the number of layers and improve build efficiency:
-RUN npm install
-RUN npm run build
-RUN dx build --release
+RUN npm install && \
+    npm run build && \
+    dx build --release

These optimizations will help reduce the image size and improve the build performance.

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

FROM rust:1.80-bookworm AS builder

RUN rustup target add wasm32-unknown-unknown && \
    cargo install dioxus-cli diesel_cli && \
    apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1

COPY . /srv/app
WORKDIR /srv/app

RUN npm install && \
    npm run build && \
    dx build --release
Tools
Hadolint

[info] 3-3: Avoid additional packages by specifying --no-install-recommends

(DL3015)


[info] 11-11: Multiple consecutive RUN instructions. Consider consolidation.

(DL3059)


[info] 12-12: Multiple consecutive RUN instructions. Consider consolidation.

(DL3059)

**Optimize the builder stage by avoiding additional packages and consolidating `RUN` instructions.** Consider the following improvements to the builder stage: 1. Add `--no-install-recommends` to the `apt-get install` command to avoid installing unnecessary packages: ```diff -RUN rustup target add wasm32-unknown-unknown && \ - cargo install dioxus-cli diesel_cli && \ - apt-get update && apt-get install -y nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 +RUN rustup target add wasm32-unknown-unknown && \ + cargo install dioxus-cli diesel_cli && \ + apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 ``` 2. Consolidate the multiple `RUN` instructions for `npm install`, `npm run build`, and `dx build --release` into a single `RUN` instruction to reduce the number of layers and improve build efficiency: ```diff -RUN npm install -RUN npm run build -RUN dx build --release +RUN npm install && \ + npm run build && \ + dx build --release ``` These optimizations will help reduce the image size and improve the build performance. <!-- suggestion_start --> <details> <summary>Committable suggestion</summary> > :bangbang: **IMPORTANT** > Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements. `````suggestion FROM rust:1.80-bookworm AS builder RUN rustup target add wasm32-unknown-unknown && \ cargo install dioxus-cli diesel_cli && \ apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 COPY . /srv/app WORKDIR /srv/app RUN npm install && \ npm run build && \ dx build --release ````` </details> <!-- suggestion_end --> <details> <summary>Tools</summary> <details> <summary>Hadolint</summary><blockquote> [info] 3-3: Avoid additional packages by specifying `--no-install-recommends` (DL3015) --- [info] 11-11: Multiple consecutive `RUN` instructions. Consider consolidation. (DL3059) --- [info] 12-12: Multiple consecutive `RUN` instructions. Consider consolidation. (DL3059) </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit -->
coderabbitai[bot] commented 2024-09-13 09:25:52 +00:00 (Migrated from github.com)
Review

Optimize the builder stage by avoiding additional packages and consolidating RUN instructions.

Consider the following improvements to the builder stage:

  1. Add --no-install-recommends to the apt-get install command to avoid installing unnecessary packages:
-RUN rustup target add wasm32-unknown-unknown && \
-    cargo install dioxus-cli diesel_cli && \
-    apt-get update && apt-get install -y nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1
+RUN rustup target add wasm32-unknown-unknown && \
+    cargo install dioxus-cli diesel_cli && \
+    apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1
  1. Consolidate the multiple RUN instructions for npm install, npm run build, and dx build --release into a single RUN instruction to reduce the number of layers and improve build efficiency:
-RUN npm install
-RUN npm run build
-RUN dx build --release
+RUN npm install && \
+    npm run build && \
+    dx build --release

These optimizations will help reduce the image size and improve the build performance.

Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

FROM rust:1.80-bookworm AS builder

RUN rustup target add wasm32-unknown-unknown && \
    cargo install dioxus-cli diesel_cli && \
    apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1

COPY . /srv/app
WORKDIR /srv/app

RUN npm install && \
    npm run build && \
    dx build --release
Tools
Hadolint

[info] 3-3: Avoid additional packages by specifying --no-install-recommends

(DL3015)


[info] 11-11: Multiple consecutive RUN instructions. Consider consolidation.

(DL3059)


[info] 12-12: Multiple consecutive RUN instructions. Consider consolidation.

(DL3059)

**Optimize the builder stage by avoiding additional packages and consolidating `RUN` instructions.** Consider the following improvements to the builder stage: 1. Add `--no-install-recommends` to the `apt-get install` command to avoid installing unnecessary packages: ```diff -RUN rustup target add wasm32-unknown-unknown && \ - cargo install dioxus-cli diesel_cli && \ - apt-get update && apt-get install -y nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 +RUN rustup target add wasm32-unknown-unknown && \ + cargo install dioxus-cli diesel_cli && \ + apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 ``` 2. Consolidate the multiple `RUN` instructions for `npm install`, `npm run build`, and `dx build --release` into a single `RUN` instruction to reduce the number of layers and improve build efficiency: ```diff -RUN npm install -RUN npm run build -RUN dx build --release +RUN npm install && \ + npm run build && \ + dx build --release ``` These optimizations will help reduce the image size and improve the build performance. <!-- suggestion_start --> <details> <summary>Committable suggestion</summary> > :bangbang: **IMPORTANT** > Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements. `````suggestion FROM rust:1.80-bookworm AS builder RUN rustup target add wasm32-unknown-unknown && \ cargo install dioxus-cli diesel_cli && \ apt-get update && apt-get install -y --no-install-recommends nodejs=18.19.0+dfsg-6~deb12u2 npm=9.2.0~ds1-1 supervisor=4.2.5-1 COPY . /srv/app WORKDIR /srv/app RUN npm install && \ npm run build && \ dx build --release ````` </details> <!-- suggestion_end --> <details> <summary>Tools</summary> <details> <summary>Hadolint</summary><blockquote> [info] 3-3: Avoid additional packages by specifying `--no-install-recommends` (DL3015) --- [info] 11-11: Multiple consecutive `RUN` instructions. Consider consolidation. (DL3059) --- [info] 12-12: Multiple consecutive `RUN` instructions. Consider consolidation. (DL3059) </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit -->