40 lines
1.1 KiB
Docker
40 lines
1.1 KiB
Docker
FROM node:lts-bookworm-slim
|
|
|
|
ENV LANG="C.UTF-8"
|
|
|
|
# Install Weboob OS-level dependencies.
|
|
RUN apt-get update \
|
|
&& apt-get install -y git python3 python3-dev libffi-dev \
|
|
libxml2-dev libxslt-dev libyaml-dev libtiff-dev libjpeg-dev zlib1g-dev \
|
|
libfreetype6-dev libwebp-dev build-essential gcc g++ wget mupdf-tools \
|
|
python3-pip \
|
|
&& rm -rf /var/lib/apt/lists/
|
|
|
|
# Install Weboob python dependencies
|
|
RUN mkdir /tmp/install && cd /tmp/install
|
|
#RUN $(which pip) install --upgrade setuptools
|
|
RUN pip install html2text simplejson BeautifulSoup PyExecJS pdfminer python-jose
|
|
RUN rm -rf /tmp/install
|
|
|
|
# Setup kresus layout.
|
|
RUN useradd -d /home/kreseus -m -s /bin/bash -U user && \
|
|
mkdir -p /data/kreseus && \
|
|
mkdir -p /data/weboob && \
|
|
npm install -g --production kresus;
|
|
|
|
# Run server.
|
|
ENV HOST 0.0.0.0
|
|
ENV KRESUS_DIR /data/kreseus
|
|
ENV KRESUS_WEBOOB_DIR /data/weboob
|
|
ENV NODE_ENV production
|
|
|
|
EXPOSE 9876
|
|
|
|
COPY ./config.example.ini /opt/config.ini
|
|
RUN chmod -x /opt/config.ini
|
|
COPY ./docker/entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
CMD ["kresus --config /opt/config.ini"]
|