41 lines
		
	
	
	
		
			631 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			631 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
| ARG REPO_ARCH=amd64
 | |
| 
 | |
| # cross-build environment
 | |
| FROM asonix/rust-builder:$REPO_ARCH-latest AS builder
 | |
| 
 | |
| ARG TAG=main
 | |
| ARG BINARY=relay
 | |
| ARG PROJECT=relay
 | |
| ARG GIT_REPOSITORY=https://git.asonix.dog/asonix/$PROJECT
 | |
| 
 | |
| ENV \
 | |
|  BINARY=${BINARY}
 | |
| 
 | |
| ADD \
 | |
|  --chown=build:build \
 | |
|  $GIT_REPOSITORY/archive/$TAG.tar.gz \
 | |
|  /opt/build/repo.tar.gz
 | |
| 
 | |
| RUN \
 | |
|  tar zxf repo.tar.gz
 | |
| 
 | |
| WORKDIR /opt/build/$PROJECT
 | |
| 
 | |
| RUN \
 | |
|  build
 | |
| 
 | |
| # production environment
 | |
| FROM asonix/rust-runner:$REPO_ARCH-latest
 | |
| 
 | |
| ARG BINARY=relay
 | |
| 
 | |
| ENV \
 | |
|  BINARY=${BINARY}
 | |
| 
 | |
| COPY \
 | |
|  --from=builder \
 | |
|  /opt/build/binary \
 | |
|  /usr/bin/${BINARY}
 | |
| 
 | |
| ENTRYPOINT ["/sbin/tini", "--"]
 | |
| CMD /usr/bin/${BINARY}
 |