Configure goreleaser

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
Bryan Frimin
2025-07-11 10:48:49 +02:00
parent 6fda84e5c7
commit 53dfdf3b0e
4 changed files with 226 additions and 18 deletions

View File

@@ -1,29 +1,25 @@
FROM node:22 AS frontend-builder
WORKDIR /workdir
COPY . .
RUN npm ci
RUN npm run build
FROM golang:1.24 AS backend-builder
WORKDIR /workdir
COPY go.mod go.sum ./
RUN --mount=type=cache,target=/go/pkg/mod \
go mod download
COPY . .
COPY --from=frontend-builder /workdir/apps/console/dist ./apps/console/dist
RUN --mount=type=cache,target=/root/.cache/go-build \
make bin/probod
# syntax=docker/dockerfile:1
FROM ubuntu:24.04
LABEL org.opencontainers.image.source="https://github.com/getprobo/probo"
LABEL org.opencontainers.image.licenses="MIT"
LABEL org.opencontainers.image.vendor="Probo Inc"
WORKDIR /app
# Install dependencies and create user
RUN useradd -m probo && \
apt-get update && \
apt-get upgrade -y && \
apt-get install -y ca-certificates && \
rm -rf /var/lib/apt/lists/*
COPY --from=backend-builder /workdir/bin /usr/local/bin/
# Copy the architecture-specific pre-built binary from GoReleaser
COPY probod /usr/local/bin/probod
# Ensure the binary is executable
RUN chmod +x /usr/local/bin/probod
USER probo
ENTRYPOINT ["probod"]