mirror of
https://github.com/mickael-kerjean/filestash
synced 2025-12-06 08:22:24 +01:00
feature (binarysize): shrink binary size
This commit is contained in:
parent
c24d22d650
commit
10503f8dee
3 changed files with 3 additions and 15 deletions
1
Jenkinsfile
vendored
1
Jenkinsfile
vendored
|
|
@ -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"
|
||||||
|
|
|
||||||
3
Makefile
3
Makefile
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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/
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue