mirror of
https://github.com/PaiGramTeam/telegram-bot-api-build.git
synced 2024-11-23 07:50:55 +00:00
13e606c76b
Change the shebang to use env, add helper functions to handle environment variables, and dynamically append command arguments. This improves script flexibility and ensures critical variables are set or loaded from files.
32 lines
1.2 KiB
Docker
32 lines
1.2 KiB
Docker
ARG ALPINE_VERSION=latest
|
|
FROM alpine:${ALPINE_VERSION} AS build
|
|
|
|
ENV CXXFLAGS=""
|
|
WORKDIR /usr/src/telegram-bot-api
|
|
|
|
RUN apk add --no-cache --update alpine-sdk linux-headers git zlib-dev openssl-dev gperf cmake
|
|
COPY telegram-bot-api /usr/src/telegram-bot-api
|
|
ARG nproc=1
|
|
RUN mkdir -p build \
|
|
&& cd build \
|
|
&& cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=.. .. \
|
|
&& cmake --build . --target install -j ${nproc} \
|
|
&& strip /usr/src/telegram-bot-api/bin/telegram-bot-api
|
|
|
|
FROM alpine:${ALPINE_VERSION}
|
|
|
|
ENV TELEGRAM_WORK_DIR="/var/lib/telegram-bot-api" \
|
|
TELEGRAM_TEMP_DIR="/tmp/telegram-bot-api"
|
|
|
|
RUN apk add --no-cache --update openssl libstdc++
|
|
COPY --from=build /usr/src/telegram-bot-api/bin/telegram-bot-api /usr/local/bin/telegram-bot-api
|
|
COPY docker-entrypoint.sh /docker-entrypoint.sh
|
|
RUN addgroup -g 101 -S telegram-bot-api \
|
|
&& adduser -S -D -H -u 101 -h ${TELEGRAM_WORK_DIR} -s /sbin/nologin -G telegram-bot-api -g telegram-bot-api telegram-bot-api \
|
|
&& chmod +x /docker-entrypoint.sh \
|
|
&& mkdir -p ${TELEGRAM_WORK_DIR} ${TELEGRAM_TEMP_DIR} \
|
|
&& chown telegram-bot-api:telegram-bot-api ${TELEGRAM_WORK_DIR} ${TELEGRAM_TEMP_DIR}
|
|
|
|
EXPOSE 8081/tcp 8082/tcp
|
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|