mirror of
https://github.com/datarhei/core.git
synced 2025-09-26 12:01:30 +08:00
39 lines
995 B
Docker
39 lines
995 B
Docker
ARG GOLANG_IMAGE=golang:1.22-alpine3.19
|
|
ARG BUILD_IMAGE=alpine:3.19
|
|
|
|
# Cross-Compilation
|
|
# https://www.docker.com/blog/faster-multi-platform-builds-dockerfile-cross-compilation-guide/
|
|
FROM --platform=$BUILDPLATFORM $GOLANG_IMAGE AS builder
|
|
|
|
ARG TARGETOS TARGETARCH TARGETVARIANT
|
|
ENV GOOS=$TARGETOS GOARCH=$TARGETARCH GOARM=$TARGETVARIANT
|
|
|
|
COPY . /dist/core
|
|
|
|
RUN apk add \
|
|
git \
|
|
make
|
|
|
|
RUN cd /dist/core && \
|
|
make release && \
|
|
make import && \
|
|
make ffmigrate
|
|
|
|
FROM $BUILD_IMAGE
|
|
|
|
COPY --from=builder /dist/core/core /core/bin/core
|
|
COPY --from=builder /dist/core/import /core/bin/import
|
|
COPY --from=builder /dist/core/ffmigrate /core/bin/ffmigrate
|
|
COPY --from=builder /dist/core/mime.types /core/mime.types
|
|
COPY --from=builder /dist/core/run.sh /core/bin/run.sh
|
|
|
|
RUN mkdir /core/config /core/data
|
|
|
|
ENV CORE_CONFIGFILE=/core/config/config.json
|
|
ENV CORE_STORAGE_DISK_DIR=/core/data
|
|
ENV CORE_DB_DIR=/core/config
|
|
|
|
VOLUME ["/core/data", "/core/config"]
|
|
ENTRYPOINT ["/core/bin/run.sh"]
|
|
WORKDIR /core
|