32 lines
936 B
Docker
32 lines
936 B
Docker
FROM golang:1.24-alpine AS base
|
|
ARG VERSION
|
|
ARG REVISION
|
|
WORKDIR /app
|
|
COPY ./backend ./
|
|
#RUN swag init --output swagger/docs
|
|
RUN ln -s swagger /usr/local/go/src/
|
|
RUN go build -ldflags="-w -s \
|
|
-X 'github.com/gtsteffaniak/filebrowser/backend/version.Version=${VERSION}' \
|
|
-X 'github.com/gtsteffaniak/filebrowser/backend/version.CommitSHA=${REVISION}'" \
|
|
-o filebrowser .
|
|
|
|
FROM node:slim AS nbuild
|
|
WORKDIR /app
|
|
COPY ./frontend/package.json ./
|
|
RUN npm i --maxsockets 1
|
|
COPY ./frontend/ ./
|
|
RUN npm run build-docker
|
|
|
|
FROM alpine:latest
|
|
ENV FILEBROWSER_NO_EMBEDED="true"
|
|
RUN apk --no-cache add ca-certificates mailcap
|
|
WORKDIR /home/filebrowser
|
|
RUN adduser -D -s /bin/true -u 1000 filebrowser
|
|
USER filebrowser
|
|
COPY --from=base --chown=filebrowser:1000 /app/filebrowser* ./
|
|
COPY --from=nbuild --chown=filebrowser:1000 /app/dist/ ./http/dist/
|
|
USER root
|
|
# exposing default port for auto discovery.
|
|
EXPOSE 80
|
|
ENTRYPOINT [ "./filebrowser" ]
|