mirror of
https://github.com/artvs18/PostgreSQL-docker-image.git
synced 2025-06-04 05:58:00 +02:00
45 lines
1.5 KiB
Docker
45 lines
1.5 KiB
Docker
|
FROM golang:1.19-alpine AS builder
|
||
|
ENV CGO_ENABLED=0
|
||
|
WORKDIR /backend
|
||
|
COPY backend/go.* .
|
||
|
RUN --mount=type=cache,target=/go/pkg/mod \
|
||
|
--mount=type=cache,target=/root/.cache/go-build \
|
||
|
go mod download
|
||
|
COPY backend/. .
|
||
|
RUN --mount=type=cache,target=/go/pkg/mod \
|
||
|
--mount=type=cache,target=/root/.cache/go-build \
|
||
|
go build -trimpath -ldflags="-s -w" -o bin/service
|
||
|
|
||
|
FROM --platform=$BUILDPLATFORM node:18.12-alpine3.16 AS client-builder
|
||
|
WORKDIR /ui
|
||
|
# cache packages in layer
|
||
|
COPY ui/package.json /ui/package.json
|
||
|
COPY ui/package-lock.json /ui/package-lock.json
|
||
|
RUN --mount=type=cache,target=/usr/src/app/.npm \
|
||
|
npm set cache /usr/src/app/.npm && \
|
||
|
npm ci
|
||
|
# install
|
||
|
COPY ui /ui
|
||
|
RUN npm run build
|
||
|
|
||
|
FROM alpine
|
||
|
LABEL org.opencontainers.image.title="PostgresSQL" \
|
||
|
org.opencontainers.image.description="This extension supports russian language and more!" \
|
||
|
org.opencontainers.image.vendor="artvs18" \
|
||
|
com.docker.desktop.extension.api.version="0.3.3" \
|
||
|
com.docker.extension.screenshots="" \
|
||
|
com.docker.extension.detailed-description="" \
|
||
|
com.docker.extension.publisher-url="" \
|
||
|
com.docker.extension.additional-urls="" \
|
||
|
com.docker.extension.changelog=""
|
||
|
|
||
|
COPY --from=builder /backend/bin/service /
|
||
|
COPY docker-compose.yaml .
|
||
|
COPY metadata.json .
|
||
|
COPY docker.svg .
|
||
|
COPY --from=client-builder /ui/build ui
|
||
|
CMD /service -socket /run/guest-services/backend.sock
|
||
|
|
||
|
FROM postgres:15.1
|
||
|
RUN localedef -i ru_RU -c -f UTF-8 -A /usr/share/locale/locale.alias ru_RU.UTF-8
|
||
|
ENV LANG ru_RU.utf8
|