WASAPhoto/Dockerfile.embedded

34 lines
688 B
Text

FROM node:lts as ui-builder
### Copy Vue.js code
WORKDIR /app
COPY webui webui
### Build Vue.js into plain HTML/CSS/JS
WORKDIR /app/webui
RUN npm i
RUN npm run build-embed
FROM golang:1.19.1 AS builder
### Copy Go code
WORKDIR /src/
COPY . .
COPY --from=ui-builder /app/webui webui
### Build executables
RUN go build -tags webui -o /app/webapi ./cmd/webapi
### Create final container
FROM debian:bullseye
### Inform Docker about which port is used
EXPOSE 3000 4000
### Copy the build executable from the builder image
WORKDIR /app/
COPY --from=builder /app/webapi ./
### Executable command
CMD ["/app/webapi", "--db-filename", "/data/wasaphoto.db", "--data-path", "/data/data"]