mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-08-28 11:40:04 +00:00
Buildx improvements
This commit is contained in:
@@ -11,59 +11,40 @@ FROM jc21/nginx-full:github-acme.sh-golang AS gobuild
|
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
||||
ARG GOPROXY
|
||||
ARG BUILD_COMMIT
|
||||
ARG BUILD_VERSION
|
||||
ARG GOPRIVATE
|
||||
|
||||
ENV GOPROXY=$GOPROXY \
|
||||
GOPRIVATE=$GOPRIVATE \
|
||||
GO111MODULE=on \
|
||||
CGO_ENABLED=1
|
||||
|
||||
# Nancy
|
||||
RUN go get github.com/sonatype-nexus-community/nancy
|
||||
RUN mkdir -p /workspace
|
||||
WORKDIR /workspace
|
||||
COPY backend/go.mod backend/go.sum backend/.nancy-ignore ./
|
||||
RUN go mod download
|
||||
|
||||
ARG GOPROXY
|
||||
ARG NANCY_TOKEN
|
||||
ARG NANCY_USER
|
||||
RUN go list -json -m all | nancy sleuth --quiet --username "${NANCY_USER}" --token "${NANCY_TOKEN}"
|
||||
RUN rm -rf /workspace
|
||||
ARG SENTRY_DSN
|
||||
ARG SKIP_TESTS
|
||||
|
||||
ENV BUILD_COMMIT="${BUILD_COMMIT:-dev}" \
|
||||
BUILD_VERSION="${BUILD_VERSION:-0.0.0}" \
|
||||
CGO_ENABLED=1 \
|
||||
GO111MODULE=on \
|
||||
GOPRIVATE="${GOPRIVATE:-}" \
|
||||
GOPROXY="${GOPROXY:-}" \
|
||||
NANCY_TOKEN="${NANCY_TOKEN:-}" \
|
||||
NANCY_USER="${NANCY_USER:-}" \
|
||||
SENTRY_DSN="${SENTRY_DSN:-}" \
|
||||
SKIP_TESTS="${SKIP_TESTS:-}"
|
||||
|
||||
# Code
|
||||
RUN mkdir -p /app
|
||||
WORKDIR /app
|
||||
COPY . .
|
||||
WORKDIR /app/backend
|
||||
|
||||
# Build
|
||||
RUN go mod download
|
||||
RUN echo "Testing and compiling project" \
|
||||
&& [ -z "$(go tool fix -diff ./internal)" ]
|
||||
|
||||
# Disabled as CI has issues at the moment
|
||||
#RUN if [ "$TARGETPLATFORM" == "" ] || [ "$TARGETPLATFORM" == "linux/amd64" ]; then golangci-lint -v run ./...; fi
|
||||
|
||||
RUN richgo test -cover -v ./internal/...
|
||||
RUN richgo test -bench=. ./internal/...
|
||||
|
||||
ARG BUILD_VERSION
|
||||
ARG BUILD_COMMIT
|
||||
ARG SENTRY_DSN
|
||||
RUN go build \
|
||||
-ldflags "-w -s -X main.commit=${BUILD_COMMIT} -X main.version=${BUILD_VERSION} -X main.sentryDSN=${SENTRY_DSN:-}" \
|
||||
-o ../dist/bin/server \
|
||||
-v ./cmd/server
|
||||
RUN ./scripts/docker-gobuild
|
||||
|
||||
#===============
|
||||
# Final image
|
||||
#===============
|
||||
|
||||
FROM jc21/nginx-full:github-acme.sh
|
||||
FROM jc21/nginx-full:github-acme.sh AS final
|
||||
|
||||
COPY --from=gobuild /app/dist /app
|
||||
COPY --from=gobuild /app/backend/migrations /app/migrations
|
||||
# COPY frontend/build /app/frontend
|
||||
|
||||
ENV SUPPRESS_NO_CONFIG_WARNING=1
|
||||
ENV S6_FIX_ATTRS_HIDDEN=1
|
||||
@@ -83,25 +64,29 @@ RUN rm -rf /etc/services.d/frontend /etc/nginx/conf.d/dev.conf
|
||||
VOLUME /data
|
||||
|
||||
CMD [ "/init" ]
|
||||
# TODO: remove healthchecks
|
||||
HEALTHCHECK --interval=15s --timeout=3s CMD curl -f http://127.0.0.1:81/api || exit 1
|
||||
|
||||
ARG NOW
|
||||
ARG BUILD_VERSION
|
||||
ARG BUILD_COMMIT
|
||||
ARG BUILD_DATE
|
||||
ENV NPM_BUILD_VERSION="${BUILD_VERSION}" NPM_BUILD_COMMIT="${BUILD_COMMIT}" NPM_BUILD_DATE="${BUILD_DATE}"
|
||||
|
||||
ENV DATABASE_URL="sqlite:////data/nginxproxymanager.db" \
|
||||
DBMATE_MIGRATIONS_DIR="/app/migrations" \
|
||||
DBMATE_NO_DUMP_SCHEMA="1" \
|
||||
DBMATE_SCHEMA_FILE="/data/schema.sql" \
|
||||
DBMATE_NO_DUMP_SCHEMA="1"
|
||||
NPM_BUILD_VERSION="${BUILD_VERSION:-0.0.0}" \
|
||||
NPM_BUILD_COMMIT="${BUILD_COMMIT:-dev}" \
|
||||
NPM_BUILD_DATE="${BUILD_DATE:-}"
|
||||
|
||||
LABEL org.label-schema.schema-version="1.0" \
|
||||
org.label-schema.license="MIT" \
|
||||
org.label-schema.name="nginx-proxy-manager" \
|
||||
org.label-schema.description="Nginx Host Management and Proxy" \
|
||||
org.label-schema.build-date="$NOW" \
|
||||
org.label-schema.version="$BUILD_VERSION" \
|
||||
org.label-schema.build-date="${NOW:-}" \
|
||||
org.label-schema.version="${BUILD_VERSION:-0.0.0}" \
|
||||
org.label-schema.url="https://nginxproxymanager.com" \
|
||||
org.label-schema.vcs-url="https://github.com/jc21/nginx-proxy-manager.git" \
|
||||
org.label-schema.vcs-ref="$BUILD_COMMIT" \
|
||||
org.label-schema.cmd="docker run --rm -ti jc21/nginx-proxy-manager:$BUILD_VERSION"
|
||||
org.label-schema.vcs-ref="${BUILD_COMMIT:-dev}" \
|
||||
org.label-schema.cmd="docker run --rm -ti jc21/nginx-proxy-manager:${BUILD_VERSION:-0.0.0}"
|
||||
|
@@ -3,7 +3,7 @@ version: "3"
|
||||
services:
|
||||
|
||||
fullstack:
|
||||
image: ${IMAGE}:ci-${BUILD_NUMBER}
|
||||
image: ${IMAGE}:${BRANCH_LOWER}-ci-${BUILD_NUMBER}
|
||||
environment:
|
||||
- LOG_LEVEL=debug
|
||||
volumes:
|
||||
|
Reference in New Issue
Block a user