github.com/masterhung0112/hk_server/v5@v5.0.0-20220302090640-ec71aef15e1c/build/Dockerfile (about)

     1  FROM alpine:3.12
     2  # Some ENV variables
     3  
     4  ENV PATH="/hkserver/bin:${PATH}"
     5  ARG PUID=2000
     6  ARG PGID=2000
     7  
     8  # Install some needed packages
     9  RUN apk add --no-cache \
    10    ca-certificates \
    11    curl \
    12    libc6-compat \
    13    libffi-dev \
    14    linux-headers \
    15    mailcap \
    16    netcat-openbsd \
    17    xmlsec-dev \
    18    tzdata \
    19    wv \
    20    poppler-utils \
    21    tidyhtml \
    22    && rm -rf /tmp/*
    23  
    24  COPY dist/hkserver /hkserver
    25  
    26  # Get Server
    27  RUN mkdir -p /hkserver/data /hkserver/plugins /hkserver/client/plugins \
    28    && addgroup -g ${PGID} hkserver \
    29    && adduser -D -u ${PUID} -G hkserver -h /hkserver -D hkserver \
    30    && chown -R hkserver:hkserver /hkserver /hkserver/plugins /hkserver/client/plugins
    31  
    32  USER hkserver
    33  
    34  #Healthcheck to make sure container is ready
    35  HEALTHCHECK --interval=30s --timeout=10s \
    36    CMD curl -f http://localhost:8065/api/v4/system/ping || exit 1
    37  
    38  # Copy client
    39  COPY build/sample_client/ /hkserver/client
    40  
    41  # Configure entrypoint and command
    42  COPY build/entrypoint.sh /
    43  ENTRYPOINT ["/entrypoint.sh"]
    44  WORKDIR /hkserver
    45  CMD ["hkserver"]
    46  
    47  EXPOSE 8065 8067 8074 8075
    48  
    49  # Declare volumes for mount point directories
    50  VOLUME ["/hkserver/data", "/hkserver/logs", "/hkserver/config", "/hkserver/plugins", "/hkserver/client/plugins"]