build(docker): build executable in docker
This commit is contained in:
parent
0ac39684f1
commit
82f287372c
@ -1,4 +1,31 @@
|
|||||||
*
|
*.db
|
||||||
!docker/*
|
*.bak
|
||||||
!docker_config.json
|
_old
|
||||||
!filebrowser
|
rice-box.go
|
||||||
|
.idea/
|
||||||
|
/filebrowser
|
||||||
|
/filebrowser.exe
|
||||||
|
/dist
|
||||||
|
|
||||||
|
.DS_Store
|
||||||
|
node_modules
|
||||||
|
|
||||||
|
# local env files
|
||||||
|
.env.local
|
||||||
|
.env.*.local
|
||||||
|
|
||||||
|
# Log files
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
|
||||||
|
# Editor directories and files
|
||||||
|
.idea
|
||||||
|
.vscode
|
||||||
|
*.suo
|
||||||
|
*.ntvs*
|
||||||
|
*.njsproj
|
||||||
|
*.sln
|
||||||
|
*.sw*
|
||||||
|
bin/
|
||||||
|
build/
|
||||||
|
|||||||
24
Dockerfile
24
Dockerfile
@ -1,3 +1,25 @@
|
|||||||
|
FROM node:alpine as frontend
|
||||||
|
|
||||||
|
WORKDIR /filebrowser/frontend
|
||||||
|
COPY frontend/ .
|
||||||
|
|
||||||
|
# TODO: Remove when frontend dependencies are updated
|
||||||
|
ENV NODE_OPTIONS --openssl-legacy-provider
|
||||||
|
|
||||||
|
RUN npm install && \
|
||||||
|
npx browserslist@latest --update-db &&\
|
||||||
|
npm run build
|
||||||
|
|
||||||
|
|
||||||
|
FROM golang:alpine as backend
|
||||||
|
|
||||||
|
WORKDIR /filebrowser
|
||||||
|
COPY . .
|
||||||
|
COPY --from=frontend /filebrowser /filebrowser
|
||||||
|
RUN go mod download && \
|
||||||
|
go build
|
||||||
|
|
||||||
|
|
||||||
FROM alpine:latest
|
FROM alpine:latest
|
||||||
RUN apk --update add ca-certificates \
|
RUN apk --update add ca-certificates \
|
||||||
mailcap \
|
mailcap \
|
||||||
@ -14,6 +36,6 @@ VOLUME /srv
|
|||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
|
|
||||||
COPY docker_config.json /.filebrowser.json
|
COPY docker_config.json /.filebrowser.json
|
||||||
COPY filebrowser /filebrowser
|
COPY --from=backend /filebrowser/filebrowser /filebrowser
|
||||||
|
|
||||||
ENTRYPOINT [ "/filebrowser" ]
|
ENTRYPOINT [ "/filebrowser" ]
|
||||||
Loading…
Reference in New Issue
Block a user