feature (binarysize): shrink binary size

This commit is contained in:
MickaelK 2025-09-06 01:40:57 +10:00
parent c24d22d650
commit 10503f8dee
3 changed files with 3 additions and 15 deletions

1
Jenkinsfile vendored
View file

@ -25,7 +25,6 @@ pipeline {
docker.image("node:20").inside("--user=root") { docker.image("node:20").inside("--user=root") {
sh "apt update -y && apt install -y brotli" sh "apt update -y && apt install -y brotli"
sh "npm install" sh "npm install"
sh "make build_frontend"
} }
docker.image("golang:1.24-bookworm").inside("--user=root") { docker.image("golang:1.24-bookworm").inside("--user=root") {
sh "apt update -y && apt install -y libbrotli-dev brotli" sh "apt update -y && apt install -y libbrotli-dev brotli"

View file

@ -7,9 +7,6 @@ build_init:
go get ./... go get ./...
go generate -x ./server/... go generate -x ./server/...
build_frontend:
cd public && make compress
build_backend: build_backend:
CGO_ENABLED=1 go build --tags "fts5" -o dist/filestash cmd/main.go CGO_ENABLED=1 go build --tags "fts5" -o dist/filestash cmd/main.go

View file

@ -5,18 +5,10 @@ ARG GIT_REPO=https://github.com/mickael-kerjean/filestash
ARG GIT_BRANCH=master ARG GIT_BRANCH=master
RUN git clone --depth 1 --single-branch --branch ${GIT_BRANCH} ${GIT_REPO} RUN git clone --depth 1 --single-branch --branch ${GIT_BRANCH} ${GIT_REPO}
# STEP2: BUILD FRONTEND # STEP2: BUILD BACKEND
FROM node:18-alpine AS builder_frontend
WORKDIR /home/filestash/
COPY --from=builder_prepare /home/filestash .
RUN apk add make git gzip brotli && \
npm install --legacy-peer-deps && \
make build_frontend
# STEP3: BUILD BACKEND
FROM golang:1.24-trixie AS builder_backend FROM golang:1.24-trixie AS builder_backend
WORKDIR /home/filestash/ WORKDIR /home/filestash/
COPY --from=builder_frontend /home/filestash/ . COPY --from=builder_prepare /home/filestash/ .
RUN apt-get update > /dev/null && \ RUN apt-get update > /dev/null && \
apt-get install -y curl make > /dev/null 2>&1 && \ apt-get install -y curl make > /dev/null 2>&1 && \
apt-get install -y libjpeg-dev libtiff-dev libpng-dev libwebp-dev libraw-dev libheif-dev libgif-dev libvips-dev > /dev/null 2>&1 && \ apt-get install -y libjpeg-dev libtiff-dev libpng-dev libwebp-dev libraw-dev libheif-dev libgif-dev libvips-dev > /dev/null 2>&1 && \
@ -25,7 +17,7 @@ RUN apt-get update > /dev/null && \
mkdir -p ./dist/data/state/config/ && \ mkdir -p ./dist/data/state/config/ && \
cp config/config.json ./dist/data/state/config/config.json cp config/config.json ./dist/data/state/config/config.json
# STEP4: BUILD PROD IMAGE # STEP3: BUILD PROD IMAGE
FROM debian:stable-slim FROM debian:stable-slim
MAINTAINER mickael@kerjean.me MAINTAINER mickael@kerjean.me
WORKDIR /app/ WORKDIR /app/