55 lines
1.5 KiB
Plaintext
55 lines
1.5 KiB
Plaintext
# 配置参数(指定基础镜像版本)
|
||
ARG BASE_TAG=15.6
|
||
|
||
# 基于 openSUSE Leap 构建
|
||
FROM opensuse/leap:$BASE_TAG
|
||
|
||
# 指定服务端口号
|
||
EXPOSE 10080
|
||
|
||
# 配置参数(用户组、用户、HOME目录、安装目录、安装版本等)
|
||
ARG GROUP_ID=1024 \
|
||
GROUP_NAME=kiwix \
|
||
USER_ID=1024 \
|
||
USER_NAME=kiwix \
|
||
USER_HOME=/home/kiwix \
|
||
USER_SHELL=/bin/bash
|
||
|
||
# 更新应用并安装基础应用、清除 zypper 缓存
|
||
RUN set -ex && \
|
||
zypper refresh && \
|
||
zypper update -y && \
|
||
zypper install -y curl && \
|
||
zypper clean
|
||
|
||
# 设置时区、新建用户组及用户、配置目录权限
|
||
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
|
||
groupadd $GROUP_NAME -g $GROUP_ID && \
|
||
useradd $USER_NAME -g $GROUP_ID -d $USER_HOME -s $USER_SHELL -u $USER_ID && \
|
||
mkdir -pv $USER_HOME && \
|
||
chown -R $GROUP_NAME.$USER_NAME $USER_HOME
|
||
|
||
# 配置环境变量
|
||
ARG KIWIX_SERVE_VERSION=3.7.0
|
||
ENV KIWIX_HOME=/opt/kiwix-serve/$KIWIX_SERVE_VERSION \
|
||
KIWIX_ZIM_FILE_DIR=/data
|
||
|
||
# 安装 Kiwix Server
|
||
COPY kiwix-serve $KIWIX_HOME/kiwix-serve
|
||
COPY entrypoint.sh $KIWIX_HOME/entrypoint.sh
|
||
RUN mkdir -pv $KIWIX_ZIM_FILE_DIR && \
|
||
chown -R $GROUP_NAME.$USER_NAME $KIWIX_HOME $KIWIX_ZIM_FILE_DIR && \
|
||
chmod -R 755 $KIWIX_HOME $KIWIX_ZIM_FILE_DIR
|
||
|
||
# 健康检查
|
||
HEALTHCHECK --interval=10s --timeout=3s CMD curl -f http://127.0.0.1:10080 || exit 1
|
||
|
||
# 设置工作目录
|
||
WORKDIR $KIWIX_HOME
|
||
|
||
# 设置启动用户
|
||
USER $GROUP_NAME:$USER_NAME
|
||
|
||
# 设置执行启动脚本
|
||
CMD ["/bin/bash","-c","./entrypoint.sh"]
|