47 lines
		
	
	
		
			982 B
		
	
	
	
		
			Docker
		
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			982 B
		
	
	
	
		
			Docker
		
	
	
| # Global build argument
 | |
| ARG THTTPD_VER=2.29
 | |
| 
 | |
| FROM alpine:latest AS builder
 | |
| 
 | |
| 
 | |
| # =====BUILD thttpd=====
 | |
| WORKDIR /usr/src
 | |
| ARG THTTPD_VER
 | |
| 
 | |
| # Install dependencies & build thttpd
 | |
| RUN apk update && \
 | |
|     apk add --no-cache curl hugo build-base && \
 | |
|     curl -sSL "https://www.acme.com/software/thttpd/thttpd-$THTTPD_VER.tar.gz" | \
 | |
|         tar xzf - && \
 | |
|     cd "thttpd-$THTTPD_VER" && \
 | |
|     ./configure && \
 | |
|     make
 | |
| 
 | |
| 
 | |
| # =====BUILD THE BLOG=====
 | |
| WORKDIR /usr/src/app
 | |
| 
 | |
| # Copy site files for building
 | |
| COPY . ./
 | |
| 
 | |
| # Generate the site
 | |
| RUN hugo --minify
 | |
| 
 | |
| 
 | |
| # ====CREATE RELEASE IMAGE====
 | |
| FROM alpine:latest
 | |
| ARG THTTPD_VER
 | |
| 
 | |
| # Install dumb-init
 | |
| RUN apk update && \
 | |
|     apk add --no-cache dumb-init
 | |
| 
 | |
| # Copy over binary & static files
 | |
| COPY --from=builder /usr/src/thttpd-$THTTPD_VER/thttpd /usr/local/bin/thttpd
 | |
| COPY --from=builder /usr/src/app/public /var/www/html
 | |
| COPY thttpd.conf /etc/thttpd.conf
 | |
| 
 | |
| 
 | |
| ENTRYPOINT [ "dumb-init", "--" ]
 | |
| CMD [ "/usr/local/bin/thttpd", "-D", "-C", "/etc/thttpd.conf" ]
 |