50 lines
1.4 KiB
Docker
50 lines
1.4 KiB
Docker
FROM node:22-trixie AS builder
|
|
|
|
USER root
|
|
|
|
ENV PUSH=push-server.tar.gz
|
|
|
|
RUN mkdir -p /opt/push-server
|
|
|
|
COPY push-server-0.5.0.tar.gz /opt/push-server/$PUSH
|
|
|
|
WORKDIR /opt/push-server
|
|
|
|
RUN tar xzvvf $PUSH && rm -f $PUSH
|
|
|
|
RUN npm install --omit=dev
|
|
|
|
FROM node:22-alpine AS production
|
|
|
|
USER root
|
|
|
|
RUN apk --no-cache add shadow bash gettext libintl curl openssl ca-certificates tzdata && \
|
|
addgroup -g 979 bitrix && \
|
|
adduser -D -u 979 -G bitrix bitrix && \
|
|
mkdir -p /usr/local/bin && \
|
|
mv /usr/bin/envsubst /usr/local/bin/envsubst && \
|
|
[[ ! -d /tmp/push-server ]] && mkdir /tmp/push-server && \
|
|
[[ ! -d /etc/push-server ]] && mkdir /etc/push-server && \
|
|
mkdir -p /var/log/push-server && \
|
|
ln -sf /dev/stdout /var/log/push-server/info.log && \
|
|
ln -sf /dev/stderr /var/log/push-server/error.log
|
|
|
|
WORKDIR /opt/push-server
|
|
|
|
COPY --from=builder /opt/push-server /opt/push-server
|
|
COPY docker-entrypoint.sh /usr/local/bin/
|
|
COPY push-server-pub.json /etc/push-server/push-server-pub.json
|
|
COPY push-server-sub.json /etc/push-server/push-server-sub.json
|
|
|
|
RUN chown -R bitrix:bitrix /opt/push-server && \
|
|
chown -R bitrix:bitrix /tmp/push-server && \
|
|
chown -R bitrix:bitrix /etc/push-server && \
|
|
chmod 0755 /usr/local/bin/docker-entrypoint.sh && \
|
|
chown -R bitrix:bitrix /var/log/push-server
|
|
|
|
# VOLUME /var/log/push-server
|
|
|
|
USER bitrix:bitrix
|
|
|
|
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
|