koreader-sync/Dockerfile

86 lines
2.1 KiB
Docker
Raw Normal View History

2022-07-12 17:26:28 +00:00
FROM docker.io/alpine:3.16 as builder
2017-06-13 12:35:44 +00:00
2019-12-21 11:37:52 +00:00
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 \
2020-07-26 09:33:43 +00:00
zlib-dev \
patch
2019-12-21 11:37:52 +00:00
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
2016-08-16 08:48:34 +00:00
2022-07-12 17:26:28 +00:00
ENV RESTY_VERSION=1.21.4.1
ENV RESTY_SHA256_SUM=0c5093b64f7821e85065c99e5d4e6cc31820cfd7f37b9a0dec84209d87a2af99
2021-09-28 16:18:39 +00:00
2019-12-21 11:37:52 +00:00
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
2016-08-16 09:42:09 +00:00
2019-12-21 11:37:52 +00:00
ADD gin.patch /gin.patch
RUN git clone https://github.com/ostinelli/gin
2021-09-28 16:18:39 +00:00
ENV GIN_VERSION=cb35e87fa0671fcf25e5bce5cb9487dee8b497e2
2016-08-16 08:48:34 +00:00
2019-12-21 11:37:52 +00:00
WORKDIR /gin
2021-09-28 16:18:39 +00:00
RUN git checkout "$GIN_VERSION"
2019-12-21 11:37:52 +00:00
RUN patch -N -p1 < ../gin.patch
RUN luarocks-5.1 make
2016-08-16 08:48:34 +00:00
2019-12-21 11:37:52 +00:00
WORKDIR /
RUN git clone https://github.com/koreader/koreader-sync-server.git
2021-09-28 16:18:39 +00:00
ENV SYNC_VERSION=d7d1ebff54240cfbade96a81f2971b6ad0afa33f
WORKDIR /koreader-sync-server
RUN git checkout "$SYNC_VERSION"
2019-12-21 11:37:52 +00:00
2022-07-12 17:26:28 +00:00
FROM docker.io/thallian/confd-env:3.16
2019-12-21 11:37:52 +00:00
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
2016-08-16 08:48:34 +00:00
ADD /rootfs /
ENV GIN_ENV production
2019-12-21 11:37:52 +00:00
WORKDIR /
2016-08-16 08:48:34 +00:00
EXPOSE 7200
2016-08-16 12:07:19 +00:00
VOLUME /var/lib/redis/
2021-09-28 16:18:39 +00:00