28 lines
No EOL
482 B
Docker
28 lines
No EOL
482 B
Docker
# syntax=docker/dockerfile:1
|
|
|
|
FROM golang:1.22-alpine AS build-stage
|
|
WORKDIR /app
|
|
|
|
# Copy embeded dirs
|
|
COPY public public/
|
|
COPY pages pages/
|
|
COPY i18n i18n/
|
|
|
|
# Setup and compile Go
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
COPY *.go ./
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -o /hibiscus
|
|
|
|
FROM alpine:3.20 AS deploy-stage
|
|
WORKDIR /
|
|
|
|
# Bring over the executable
|
|
COPY --from=build-stage /hibiscus /hibiscus
|
|
|
|
# Data dirs
|
|
VOLUME /data
|
|
VOLUME /config
|
|
|
|
EXPOSE 7101
|
|
ENTRYPOINT ["/hibiscus"] |