mirror of
				https://gitlab.crans.org/nounous/ghostream.git
				synced 2025-11-04 11:12:17 +01:00 
			
		
		
		
	Build the docker image over Debian Bullseye since Alpine FFMPEG is not built with libsrt yet
This commit is contained in:
		
							
								
								
									
										20
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								Dockerfile
									
									
									
									
									
								
							@@ -1,20 +1,20 @@
 | 
			
		||||
# Install dependencies then build ghostream
 | 
			
		||||
FROM golang:1.15-alpine AS build_base
 | 
			
		||||
RUN apk add --no-cache gcc musl-dev
 | 
			
		||||
# libsrt is not yet packaged in community repository
 | 
			
		||||
RUN apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing libsrt-dev
 | 
			
		||||
FROM debian:bullseye-slim AS build_base
 | 
			
		||||
RUN apt-get update && \
 | 
			
		||||
        apt-get install -y --no-install-recommends ca-certificates \
 | 
			
		||||
        gcc golang libc6-dev libsrt1 libsrt-openssl-dev musl-dev
 | 
			
		||||
WORKDIR /code
 | 
			
		||||
COPY go.* ./
 | 
			
		||||
RUN go mod download && go get github.com/markbates/pkger/cmd/pkger
 | 
			
		||||
COPY . .
 | 
			
		||||
RUN go generate && go build -o ./out/ghostream .
 | 
			
		||||
# Don't copy all to save time each time we touch a non-code file
 | 
			
		||||
COPY auth/ internal/ stream/ web/ go.mod go.sum main.go ./
 | 
			
		||||
RUN PATH=/root/go/bin:$PATH go generate && go build -o ./out/ghostream .
 | 
			
		||||
 | 
			
		||||
# Production image
 | 
			
		||||
FROM alpine:3.12
 | 
			
		||||
RUN apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing libsrt
 | 
			
		||||
RUN apk add ffmpeg
 | 
			
		||||
FROM debian:bullseye-slim
 | 
			
		||||
RUN apt-get update && apt-get install -y ffmpeg libsrt1 musl
 | 
			
		||||
COPY --from=build_base /code/out/ghostream /app/ghostream
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
# 9710 for SRT, 8080 for Web, 2112 for monitoring and 10000-10005 (UDP) for WebRTC
 | 
			
		||||
# 9710 (UDP) for SRT, 8080 for Web, 2112 for monitoring and 10000-10005 (UDP) for WebRTC
 | 
			
		||||
EXPOSE 9710/udp 8080 2112 10000-10005/udp
 | 
			
		||||
CMD ["/app/ghostream"]
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user