kopia lustrzana https://github.com/iv-org/invidious
				
				
				
			use pre-compiled lsquic docker image
from https://quay.io/repository/invidious/lsquic-compiled fixes #2325pull/2356/head
							rodzic
							
								
									fceb8093f1
								
							
						
					
					
						commit
						d78e5281fe
					
				| 
						 | 
				
			
			@ -1,34 +1,3 @@
 | 
			
		|||
FROM alpine:edge AS liblsquic-builder
 | 
			
		||||
WORKDIR /src
 | 
			
		||||
 | 
			
		||||
RUN apk add --no-cache build-base git apk-tools abuild cmake go perl linux-headers
 | 
			
		||||
 | 
			
		||||
RUN abuild-keygen -a -n && \
 | 
			
		||||
    cp /root/.abuild/-*.rsa.pub /etc/apk/keys/
 | 
			
		||||
 | 
			
		||||
COPY docker/APKBUILD-boringssl boringssl/APKBUILD
 | 
			
		||||
RUN cd boringssl && abuild -F -r && cd ..
 | 
			
		||||
 | 
			
		||||
RUN apk add --repository /root/packages/src boringssl boringssl-dev boringssl-static
 | 
			
		||||
 | 
			
		||||
RUN apk add --no-cache zlib-dev zlib-static libevent-dev libevent-static
 | 
			
		||||
 | 
			
		||||
COPY docker/APKBUILD-lsquic lsquic/APKBUILD
 | 
			
		||||
RUN cd lsquic && abuild -F -r && cd ..
 | 
			
		||||
 | 
			
		||||
RUN apk add --repository /root/packages/src lsquic-static
 | 
			
		||||
 | 
			
		||||
RUN mkdir tmp && cd tmp && \
 | 
			
		||||
    ar -x /usr/lib/libssl.a && \
 | 
			
		||||
    ar -x /usr/lib/libcrypto.a && \
 | 
			
		||||
    ar -x /usr/lib/liblsquic.a && \
 | 
			
		||||
    ar rc liblsquic.a *.o && \
 | 
			
		||||
    strip --strip-unneeded liblsquic.a && \
 | 
			
		||||
    ranlib liblsquic.a && \
 | 
			
		||||
    cp liblsquic.a /root/liblsquic.a && \
 | 
			
		||||
    cd .. && rm -rf tmp
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
FROM crystallang/crystal:1.1.1-alpine AS builder
 | 
			
		||||
RUN apk add --no-cache sqlite-static yaml-static
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +6,7 @@ COPY ./shard.yml ./shard.yml
 | 
			
		|||
COPY ./shard.lock ./shard.lock
 | 
			
		||||
RUN shards install
 | 
			
		||||
 | 
			
		||||
COPY --from=liblsquic-builder /root/liblsquic.a ./lib/lsquic/src/lsquic/ext/liblsquic.a
 | 
			
		||||
COPY --from=quay.io/invidious/lsquic-compiled /root/liblsquic.a ./lib/lsquic/src/lsquic/ext/liblsquic.a
 | 
			
		||||
 | 
			
		||||
COPY ./src/ ./src/
 | 
			
		||||
# TODO: .git folder is required for building – this is destructive.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,34 +1,3 @@
 | 
			
		|||
FROM alpine:3.14 AS liblsquic-builder
 | 
			
		||||
WORKDIR /src
 | 
			
		||||
 | 
			
		||||
RUN apk add --no-cache build-base git apk-tools abuild cmake go perl linux-headers
 | 
			
		||||
 | 
			
		||||
RUN abuild-keygen -a -n && \
 | 
			
		||||
    cp /root/.abuild/-*.rsa.pub /etc/apk/keys/
 | 
			
		||||
 | 
			
		||||
COPY docker/APKBUILD-boringssl boringssl/APKBUILD
 | 
			
		||||
RUN cd boringssl && abuild -F -r && cd ..
 | 
			
		||||
 | 
			
		||||
RUN apk add --repository /root/packages/src boringssl boringssl-dev boringssl-static
 | 
			
		||||
 | 
			
		||||
RUN apk add --no-cache zlib-dev zlib-static libevent-dev libevent-static
 | 
			
		||||
 | 
			
		||||
COPY docker/APKBUILD-lsquic lsquic/APKBUILD
 | 
			
		||||
RUN cd lsquic && abuild -F -r && cd ..
 | 
			
		||||
 | 
			
		||||
RUN apk add --repository /root/packages/src lsquic-static
 | 
			
		||||
 | 
			
		||||
RUN mkdir tmp && cd tmp && \
 | 
			
		||||
    ar -x /usr/lib/libssl.a && \
 | 
			
		||||
    ar -x /usr/lib/libcrypto.a && \
 | 
			
		||||
    ar -x /usr/lib/liblsquic.a && \
 | 
			
		||||
    ar rc liblsquic.a *.o && \
 | 
			
		||||
    strip --strip-unneeded liblsquic.a && \
 | 
			
		||||
    ranlib liblsquic.a && \
 | 
			
		||||
    cp liblsquic.a /root/liblsquic.a && \
 | 
			
		||||
    cd .. && rm -rf tmp
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
FROM alpine:3.14 AS builder
 | 
			
		||||
RUN apk add --no-cache 'crystal<2' shards sqlite-static yaml-static yaml-dev libxml2-dev zlib-static openssl-libs-static openssl-dev musl-dev
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +6,7 @@ COPY ./shard.yml ./shard.yml
 | 
			
		|||
COPY ./shard.lock ./shard.lock
 | 
			
		||||
RUN shards install
 | 
			
		||||
 | 
			
		||||
COPY --from=liblsquic-builder /root/liblsquic.a ./lib/lsquic/src/lsquic/ext/liblsquic.a
 | 
			
		||||
COPY --from=quay.io/invidious/lsquic-compiled /root/liblsquic.a ./lib/lsquic/src/lsquic/ext/liblsquic.a
 | 
			
		||||
 | 
			
		||||
COPY ./src/ ./src/
 | 
			
		||||
# TODO: .git folder is required for building – this is destructive.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue