| 
						
						
						
					 | 
				
				 | 
				
					@ -1,4 +1,4 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					# Using multistage build:  | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					# Using multistage build: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					# 	https://docs.docker.com/develop/develop-images/multistage-build/ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					# 	https://whitfin.io/speeding-up-rust-docker-builds/ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					####################### VAULT BUILD IMAGE  ####################### | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -8,9 +8,9 @@ ENV VAULT_VERSION "v2.10.1" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					ENV URL "https://github.com/dani-garcia/bw_web_builds/releases/download/$VAULT_VERSION/bw_web_$VAULT_VERSION.tar.gz" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					RUN apk add --update-cache --upgrade \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    curl \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    tar | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					RUN apk add --no-cache \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  curl \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  tar | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					RUN mkdir /web-vault | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					WORKDIR /web-vault | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -20,7 +20,7 @@ RUN ls | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					########################## BUILD IMAGE  ########################## | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					# Musl build image for statically compiled binary | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					FROM clux/muslrust:nightly-2018-12-01 as build | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					FROM clux/muslrust:1.35.0-stable as build | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					# set mysql backend | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					ARG DB=mysql | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -28,10 +28,9 @@ ARG DB=mysql | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					ENV USER "root" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					# Install needed libraries | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					RUN apt-get update && apt-get install -y\ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    libmysqlclient-dev\ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    --no-install-recommends\ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 && rm -rf /var/lib/apt/lists/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					RUN apt-get update \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  && apt-get install -y --no-install-recommends libmysqlclient-dev \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  && rm -rf /var/lib/apt/lists/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					WORKDIR /app | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -50,7 +49,7 @@ RUN cargo build --features ${DB} --release | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					######################## RUNTIME IMAGE  ######################## | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					# Create a new stage with a minimal image | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					# because we already have a binary built | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					FROM alpine:3.9 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					FROM alpine:3.10 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					ENV ROCKET_ENV "staging" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					ENV ROCKET_PORT=80 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -58,16 +57,14 @@ ENV ROCKET_WORKERS=10 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					ENV SSL_CERT_DIR=/etc/ssl/certs | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					# Install needed libraries | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					RUN apk add \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        openssl \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        mariadb-connector-c \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        ca-certificates \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    && rm /var/cache/apk/* | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					RUN apk add --no-cache \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  ca-certificates \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  mariadb-connector-c \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  openssl | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					RUN mkdir /data | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					VOLUME /data | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					EXPOSE 80 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					EXPOSE 3012 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					EXPOSE 80 3012 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					# Copies the files from the context (Rocket.toml file and web-vault) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					# and the binary from the "build" stage to the current stage | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |