2023-12-15 11:22:39 +00:00
|
|
|
FROM docker.io/alpine:3.19 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
|
2023-12-15 11:22:39 +00:00
|
|
|
|
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
|
|
|
|
2023-12-15 11:22:39 +00:00
|
|
|
ENV RESTY_VERSION=1.21.4.3
|
|
|
|
ENV RESTY_SHA256_SUM=33a84c63cfd9e46b0e5c62eb2ddc7b8068bda2e1686314343b89fc3ffd24cdd3
|
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
|
2023-12-15 11:22:39 +00:00
|
|
|
ENV SYNC_VERSION=14c64347627d07cf6e72552705bf1642a39a8908
|
2021-09-28 16:18:39 +00:00
|
|
|
WORKDIR /koreader-sync-server
|
|
|
|
RUN git checkout "$SYNC_VERSION"
|
2019-12-21 11:37:52 +00:00
|
|
|
|
2023-12-15 11:22:39 +00:00
|
|
|
FROM docker.io/thallian/confd-env:3.19-3.1.6.2
|
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 10:39:39 +00:00
|
|
|
|
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
|
|
|
|