mirror of
https://github.com/bitwarden/server.git
synced 2025-06-06 03:00:36 -05:00

* Use IHttpMessageHandlerFactory For HTTP Communication Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> * feat: allow custom app-id.json location for rootless Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> * fix: new build context wont allow copying git context * feat: allow images to run as non-root user * fix: build failures caused by bad merge * build: we don't need to copy the `.git` dir * Revert "build: we don't need to copy the `.git` dir" This reverts commit 32c2f6236a894534de09ffe847ffff064a7174bd. * Use `IHttpClientFactory` in more places * update build workflow * fix: compatibility with the existin run.sh script * fix: compatibility with existing run.sh script * Add SelfHosted GlobalSettings for Setup * Fix my build error * Add other services * Add IConfiguration * fix: missing gosu command for rootful mode * fix: try using .net core certificate handling * fix: add `SSL_CERT_DIR` to remaining images * Remove X509ChainCustomization activation code * Revert "Use IHttpMessageHandlerFactory For HTTP Communication" This reverts commit c93be6d52b12599040d3c3d8a7b3bc854c6c6802. * Revert "fix: build failures caused by bad merge" This reverts commit 3e4639489b6b6c06b5a977a069002fe0c0eb2057. * Revert "Use `IHttpClientFactory` in more places" This reverts commit 284501a4932b819b093406e0bcdf76def22b6eea. * remove unused code * re-add error log for installation id * remove missing error message in log * build: remove duplicate docker+qemu setup steps Co-authored-by: Opeyemi <Alaoopeyemi101@gmail.com> * build: optimize for simpler builds over caching * build: restore previous method for getting the GIT_HASH * fix: add missing build args to remaining images * fix: rm extraneous source revision id arg * fmt: apply consistent spacing and rm redundant WORKDIR directive * build: update migrator to use simpler build; apply consistent spacing * fix: merge conflicts; simplify changes * fix: add publish branch check back --------- Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com> Co-authored-by: Opeyemi <Alaoopeyemi101@gmail.com>
61 lines
1.6 KiB
Docker
61 lines
1.6 KiB
Docker
###############################################
|
|
# Build stage #
|
|
###############################################
|
|
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
|
|
|
# Docker buildx supplies the value for this arg
|
|
ARG TARGETPLATFORM
|
|
|
|
# Determine proper runtime value for .NET
|
|
# We put the value in a file to be read by later layers.
|
|
RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \
|
|
RID=linux-x64 ; \
|
|
elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then \
|
|
RID=linux-arm64 ; \
|
|
elif [ "$TARGETPLATFORM" = "linux/arm/v7" ]; then \
|
|
RID=linux-arm ; \
|
|
fi \
|
|
&& echo "RID=$RID" > /tmp/rid.txt
|
|
|
|
# Copy required project files
|
|
WORKDIR /source
|
|
COPY . ./
|
|
|
|
# Restore project dependencies and tools
|
|
WORKDIR /source/util/Setup
|
|
RUN . /tmp/rid.txt && dotnet restore -r $RID
|
|
|
|
# Build project
|
|
WORKDIR /source/util/Setup
|
|
RUN . /tmp/rid.txt && dotnet publish \
|
|
-c release \
|
|
--no-restore \
|
|
--self-contained \
|
|
/p:PublishSingleFile=true \
|
|
-r $RID \
|
|
-o out
|
|
|
|
###############################################
|
|
# App stage #
|
|
###############################################
|
|
FROM mcr.microsoft.com/dotnet/aspnet:8.0
|
|
|
|
ARG TARGETPLATFORM
|
|
LABEL com.bitwarden.product="bitwarden" com.bitwarden.project="setup"
|
|
|
|
ENV SSL_CERT_DIR=/etc/bitwarden/ca-certificates
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
openssl \
|
|
gosu \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Copy app from the build stage
|
|
WORKDIR /app
|
|
COPY --from=build /source/util/Setup/out .
|
|
COPY util/Setup/entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|