mirror of
				https://github.com/dani-garcia/vaultwarden.git
				synced 2025-10-31 10:18:19 +02:00 
			
		
		
		
	Multi-arch image support
This commit is contained in:
		| @@ -9,13 +9,13 @@ | ||||
| {% elif "amd64" in target_file %} | ||||
| {%   set runtime_stage_base_image = "debian:buster-slim" %} | ||||
| {%   set package_arch_name = "" %} | ||||
| {% elif "aarch64" in target_file %} | ||||
| {% elif "arm64v8" in target_file %} | ||||
| {%   set runtime_stage_base_image = "balenalib/aarch64-debian:buster" %} | ||||
| {%   set package_arch_name = "arm64" %} | ||||
| {% elif "armv6" in target_file %} | ||||
| {% elif "arm32v6" in target_file %} | ||||
| {%   set runtime_stage_base_image = "balenalib/rpi-debian:buster" %} | ||||
| {%   set package_arch_name = "armel" %} | ||||
| {% elif "armv7" in target_file %} | ||||
| {% elif "arm32v7" in target_file %} | ||||
| {%   set runtime_stage_base_image = "balenalib/armv7hf-debian:buster" %} | ||||
| {%   set package_arch_name = "armhf" %} | ||||
| {% endif %} | ||||
| @@ -73,7 +73,7 @@ RUN rustup set profile minimal | ||||
| ENV USER "root" | ||||
| ENV RUSTFLAGS='-C link-arg=-s' | ||||
|  | ||||
| {% elif "aarch64" in target_file or "armv" in target_file %} | ||||
| {% elif "arm32" in target_file or "arm64" in target_file %} | ||||
| # Install required build libs for {{ package_arch_name }} architecture. | ||||
| RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \ | ||||
|         /etc/apt/sources.list.d/deb-src.list \ | ||||
| @@ -85,7 +85,7 @@ RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \ | ||||
|         libc6-dev{{ package_arch_prefix }} | ||||
|  | ||||
| {% endif -%} | ||||
| {% if "aarch64" in target_file %} | ||||
| {% if "arm64v8" in target_file %} | ||||
| RUN apt-get update \ | ||||
|     && apt-get install -y \ | ||||
|         --no-install-recommends \ | ||||
| @@ -97,7 +97,7 @@ RUN apt-get update \ | ||||
| ENV CARGO_HOME "/root/.cargo" | ||||
| ENV USER "root" | ||||
|  | ||||
| {% elif "armv6" in target_file %} | ||||
| {% elif "arm32v6" in target_file %} | ||||
| RUN apt-get update \ | ||||
|     && apt-get install -y \ | ||||
|         --no-install-recommends \ | ||||
| @@ -109,7 +109,7 @@ RUN apt-get update \ | ||||
| ENV CARGO_HOME "/root/.cargo" | ||||
| ENV USER "root" | ||||
|  | ||||
| {% elif "armv7" in target_file %} | ||||
| {% elif "arm32v7" in target_file %} | ||||
| RUN apt-get update \ | ||||
|     && apt-get install -y \ | ||||
|         --no-install-recommends \ | ||||
| @@ -150,17 +150,17 @@ COPY ./Cargo.* ./ | ||||
| COPY ./rust-toolchain ./rust-toolchain | ||||
| COPY ./build.rs ./build.rs | ||||
|  | ||||
| {% if "aarch64" in target_file %} | ||||
| {% if "arm64v8" in target_file %} | ||||
| ENV CC_aarch64_unknown_linux_gnu="/usr/bin/aarch64-linux-gnu-gcc" | ||||
| ENV CROSS_COMPILE="1" | ||||
| ENV OPENSSL_INCLUDE_DIR="/usr/include/aarch64-linux-gnu" | ||||
| ENV OPENSSL_LIB_DIR="/usr/lib/aarch64-linux-gnu" | ||||
| {% elif "armv6" in target_file %} | ||||
| {% elif "arm32v6" in target_file %} | ||||
| ENV CC_arm_unknown_linux_gnueabi="/usr/bin/arm-linux-gnueabi-gcc" | ||||
| ENV CROSS_COMPILE="1" | ||||
| ENV OPENSSL_INCLUDE_DIR="/usr/include/arm-linux-gnueabi" | ||||
| ENV OPENSSL_LIB_DIR="/usr/lib/arm-linux-gnueabi" | ||||
| {% elif "armv7" in target_file %} | ||||
| {% elif "arm32v7" in target_file %} | ||||
| ENV CC_armv7_unknown_linux_gnueabihf="/usr/bin/arm-linux-gnueabihf-gcc" | ||||
| ENV CROSS_COMPILE="1" | ||||
| ENV OPENSSL_INCLUDE_DIR="/usr/include/arm-linux-gnueabihf" | ||||
| @@ -170,13 +170,13 @@ ENV OPENSSL_LIB_DIR="/usr/lib/arm-linux-gnueabihf" | ||||
| {% if "alpine" in target_file %} | ||||
| RUN rustup target add x86_64-unknown-linux-musl | ||||
|  | ||||
| {% elif "aarch64" in target_file %} | ||||
| {% elif "arm64v8" in target_file %} | ||||
| RUN rustup target add aarch64-unknown-linux-gnu | ||||
|  | ||||
| {% elif "armv6" in target_file %} | ||||
| {% elif "arm32v6" in target_file %} | ||||
| RUN rustup target add arm-unknown-linux-gnueabi | ||||
|  | ||||
| {% elif "armv7" in target_file %} | ||||
| {% elif "arm32v7" in target_file %} | ||||
| RUN rustup target add armv7-unknown-linux-gnueabihf | ||||
| {% endif %} | ||||
| # Builds your dependencies and removes the | ||||
| @@ -196,11 +196,11 @@ RUN touch src/main.rs | ||||
| # your actual source files being built | ||||
| {% if "amd64" in target_file %} | ||||
| RUN cargo build --features ${DB} --release | ||||
| {% elif "aarch64" in target_file %} | ||||
| {% elif "arm64v8" in target_file %} | ||||
| RUN cargo build --features ${DB} --release --target=aarch64-unknown-linux-gnu | ||||
| {% elif "armv6" in target_file %} | ||||
| {% elif "arm32v6" in target_file %} | ||||
| RUN cargo build --features ${DB} --release --target=arm-unknown-linux-gnueabi | ||||
| {% elif "armv7" in target_file %} | ||||
| {% elif "arm32v7" in target_file %} | ||||
| RUN cargo build --features ${DB} --release --target=armv7-unknown-linux-gnueabihf | ||||
| {% endif %} | ||||
|  | ||||
| @@ -265,11 +265,11 @@ COPY Rocket.toml . | ||||
| COPY --from=vault /web-vault ./web-vault | ||||
| {% if "alpine" in target_file %} | ||||
| COPY --from=build /app/target/x86_64-unknown-linux-musl/release/bitwarden_rs . | ||||
| {% elif "aarch64" in target_file %} | ||||
| {% elif "arm64v8" in target_file %} | ||||
| COPY --from=build /app/target/aarch64-unknown-linux-gnu/release/bitwarden_rs . | ||||
| {% elif "armv6" in target_file %} | ||||
| {% elif "arm32v6" in target_file %} | ||||
| COPY --from=build /app/target/arm-unknown-linux-gnueabi/release/bitwarden_rs . | ||||
| {% elif "armv7" in target_file %} | ||||
| {% elif "arm32v7" in target_file %} | ||||
| COPY --from=build /app/target/armv7-unknown-linux-gnueabihf/release/bitwarden_rs . | ||||
| {% else %} | ||||
| COPY --from=build app/target/release/bitwarden_rs . | ||||
|   | ||||
							
								
								
									
										3
									
								
								docker/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								docker/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| The arch-specific directory names follow the arch identifiers used by the Docker official images: | ||||
|  | ||||
| https://github.com/docker-library/official-images/blob/master/README.md#architectures-other-than-amd64 | ||||
		Reference in New Issue
	
	Block a user