34 lines
		
	
	
		
			740 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			740 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM alpine as build
 | |
| 
 | |
| RUN apk add --no-cache gcc g++ musl-dev linux-headers cmake openssl-dev 
 | |
| RUN apk add --no-cache make
 | |
| RUN apk add --no-cache zlib-dev
 | |
| 
 | |
| RUN addgroup -S app && adduser -S -G app app 
 | |
| RUN chown -R app:app /opt
 | |
| RUN chown -R app:app /usr/local
 | |
| 
 | |
| # There is a bug in CMake where we cannot build from the root top folder
 | |
| # So we build from /opt
 | |
| COPY --chown=app:app . /opt
 | |
| WORKDIR /opt
 | |
| 
 | |
| USER app
 | |
| RUN [ "make" ]
 | |
| 
 | |
| FROM alpine as runtime
 | |
| 
 | |
| RUN apk add --no-cache libstdc++
 | |
| 
 | |
| RUN addgroup -S app && adduser -S -G app app 
 | |
| COPY --chown=app:app --from=build /usr/local/bin/ws /usr/local/bin/ws
 | |
| RUN chmod +x /usr/local/bin/ws
 | |
| RUN ldd /usr/local/bin/ws
 | |
| 
 | |
| # Now run in usermode
 | |
| USER app
 | |
| WORKDIR /home/app
 | |
| 
 | |
| ENTRYPOINT ["ws"]
 | |
| CMD ["--help"]
 |