86 lines
2.1 KiB
Docker
86 lines
2.1 KiB
Docker
FROM alpine:3.14 as builder
|
|
|
|
RUN apk --no-cache add \
|
|
bash \
|
|
coreutils \
|
|
perl \
|
|
make \
|
|
automake \
|
|
autoconf \
|
|
gcc \
|
|
git \
|
|
curl \
|
|
lua5.1-dev \
|
|
musl-dev \
|
|
pcre-dev \
|
|
zlib-dev \
|
|
lua5.1 \
|
|
luarocks5.1 \
|
|
openssl \
|
|
openssl-dev \
|
|
pcre-dev \
|
|
zlib-dev \
|
|
patch
|
|
|
|
RUN ln -s /usr/bin/aclocal-1.16 /usr/bin/aclocal-1.15
|
|
RUN ln -s /usr/bin/automake-1.16 /usr/bin/automake-1.15
|
|
|
|
ENV RESTY_VERSION=1.19.3.2
|
|
ENV RESTY_SHA256_SUM=ce40e764990fbbeb782e496eb63e214bf19b6f301a453d13f70c4f363d1e5bb9
|
|
|
|
RUN wget https://openresty.org/download/openresty-$RESTY_VERSION.tar.gz
|
|
RUN echo "$RESTY_SHA256_SUM openresty-$RESTY_VERSION.tar.gz" | sha256sum -c - || exit 1
|
|
RUN tar xvf openresty-$RESTY_VERSION.tar.gz
|
|
RUN cd openresty-$RESTY_VERSION && \
|
|
./configure --with-pcre-jit --with-ipv6 --with-http_v2_module && \
|
|
make && \
|
|
make install
|
|
|
|
ADD gin.patch /gin.patch
|
|
RUN git clone https://github.com/ostinelli/gin
|
|
ENV GIN_VERSION=cb35e87fa0671fcf25e5bce5cb9487dee8b497e2
|
|
|
|
WORKDIR /gin
|
|
RUN git checkout "$GIN_VERSION"
|
|
RUN patch -N -p1 < ../gin.patch
|
|
RUN luarocks-5.1 make
|
|
|
|
WORKDIR /
|
|
RUN git clone https://github.com/koreader/koreader-sync-server.git
|
|
ENV SYNC_VERSION=d7d1ebff54240cfbade96a81f2971b6ad0afa33f
|
|
WORKDIR /koreader-sync-server
|
|
RUN git checkout "$SYNC_VERSION"
|
|
|
|
FROM thallian/confd-env:latest
|
|
|
|
RUN addgroup syncer
|
|
RUN adduser -h /app -D -G syncer syncer
|
|
|
|
COPY --from=builder /usr/local/openresty /usr/local/openresty
|
|
COPY --from=builder /usr/local/share/lua/5.1 /usr/local/share/lua/5.1
|
|
COPY --from=builder /usr/local/lib/lua/5.1 /usr/local/lib/lua/5.1
|
|
COPY --from=builder /usr/local/lib/luarocks/rocks-5.1 /usr/local/lib/luarocks/rocks-5.1
|
|
COPY --from=builder /usr/local/bin/gin /usr/local/bin/gin
|
|
COPY --from=builder --chown=syncer:syncer /koreader-sync-server /app/server
|
|
|
|
RUN ln -s /usr/local/openresty/nginx/sbin/nginx /usr/local/bin/nginx
|
|
|
|
RUN apk --no-cache add \
|
|
redis \
|
|
openssl \
|
|
libgcc \
|
|
pcre \
|
|
lua5.1 \
|
|
unzip \
|
|
zlib
|
|
|
|
ADD /rootfs /
|
|
|
|
ENV GIN_ENV production
|
|
|
|
WORKDIR /
|
|
|
|
EXPOSE 7200
|
|
VOLUME /var/lib/redis/
|
|
|