Dockerfile: Difference between revisions

From Svacer Wiki
(bump Ubuntu version to 22.04)
(update dockerfile for 12-0-0 release)
 
(2 intermediate revisions by the same user not shown)
Line 8: Line 8:
ARG DEBIAN_FRONTEND=noninteractive
ARG DEBIAN_FRONTEND=noninteractive


RUN apt update && apt install -y --no-install-recommends curl \
RUN apt update && apt install -y --no-install-recommends curl ca-certificates \
     && rm -rf /var/cache/apt/archives /var/lib/apt/lists/* \
    && touch /etc/default/google-chrome \
     && mkdir -p /svacer/bin && mkdir -p /svacer/store  
    && curl -sL --output chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
    && apt install -y ./chrome.deb \
     && rm -rf /var/cache/apt/archives /var/lib/apt/lists/* chrome.deb \
     && mkdir -p /svacer/bin && mkdir -p /svacer/store


COPY svacer/bin/svacer /svacer/bin/
COPY svacer-server /svacer/bin/
COPY svacer-server.sig /svacer/bin/
COPY svacer /svacer/bin/
COPY libpdfium.so /svacer/bin/
COPY pdfmerge /svacer/bin/
COPY start.sh /svacer/bin/


WORKDIR /
WORKDIR /svacer/bin


ENV PATH=/svacer/bin:$PATH
ENV DEBUG=false
ENV PPROF_PORT=''
ENV STORE=/svacer/store
ENV STORE=/svacer/store
ENV SVACER_PG_URL=postgres://svace:svace@127.0.0.1:5432/svace
ENV SVACER_PG_URL=postgres://svace:svace@127.0.0.1:5432/svace?pool_max_conns=20
ENV MEMSETTINGS=default
ENV LDAP_CONFIG=''
ENV PUBLIC_URL=''
ENV WEBIDE_ENABLE=false
ENV XSVACER_WEBIDE_THEIA_DEFAULT_DOCKER_CONTAINERHOSTCONFIGMOUNTS_PROJECTROOTBIND_DISABLED=true
ENV XSVACER_WEBIDE_THEIA_DEFAULT_DOCKER_CONTAINERHOSTCONFIGMOUNTS_PROJECTROOTVOLUME_DISABLED=false
ENV XSVACER_WEBIDE_THEIA_DEFAULT_DOCKER_CONTAINERNETWORKINGCONFIGENDPOINTS_SVACER_DISABLED=false
ENV AIASSISTANT_ENABLE=false
ENV XSVACER_AIASSISTANT_ASSISTANTHOSTURL=http://svacerai-server:7001/


EXPOSE 8080
EXPOSE 8080
EXPOSE 3002


CMD /svacer/bin/svacer --memsettings=${MEMSETTINGS} server --store $STORE --pg $SVACER_PG_URL
CMD ["/svacer/bin/start.sh"]
 
HEALTHCHECK --timeout=10s --retries=4 CMD curl --fail http://localhost:8080/api/health || exit 1
</pre>
</pre>

Latest revision as of 17:19, 12 November 2025

Для сборки докер-образа Svacer мы используем следующий Dockerfile:

FROM ubuntu:22.04

LABEL maintainer="akuzmin@ispras.ru"

ARG DEBIAN_FRONTEND=noninteractive

RUN apt update && apt install -y --no-install-recommends curl ca-certificates \
    && touch /etc/default/google-chrome \
    && curl -sL --output chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
    && apt install -y ./chrome.deb \
    && rm -rf /var/cache/apt/archives /var/lib/apt/lists/* chrome.deb \
    && mkdir -p /svacer/bin && mkdir -p /svacer/store

COPY svacer-server /svacer/bin/
COPY svacer-server.sig /svacer/bin/
COPY svacer /svacer/bin/
COPY libpdfium.so /svacer/bin/
COPY pdfmerge /svacer/bin/
COPY start.sh /svacer/bin/

WORKDIR /svacer/bin

ENV PATH=/svacer/bin:$PATH
ENV DEBUG=false
ENV PPROF_PORT=''
ENV STORE=/svacer/store
ENV SVACER_PG_URL=postgres://svace:svace@127.0.0.1:5432/svace?pool_max_conns=20
ENV LDAP_CONFIG=''
ENV PUBLIC_URL=''
ENV WEBIDE_ENABLE=false
ENV XSVACER_WEBIDE_THEIA_DEFAULT_DOCKER_CONTAINERHOSTCONFIGMOUNTS_PROJECTROOTBIND_DISABLED=true
ENV XSVACER_WEBIDE_THEIA_DEFAULT_DOCKER_CONTAINERHOSTCONFIGMOUNTS_PROJECTROOTVOLUME_DISABLED=false
ENV XSVACER_WEBIDE_THEIA_DEFAULT_DOCKER_CONTAINERNETWORKINGCONFIGENDPOINTS_SVACER_DISABLED=false
ENV AIASSISTANT_ENABLE=false
ENV XSVACER_AIASSISTANT_ASSISTANTHOSTURL=http://svacerai-server:7001/

EXPOSE 8080
EXPOSE 3002

CMD ["/svacer/bin/start.sh"]

HEALTHCHECK --timeout=10s --retries=4 CMD curl --fail http://localhost:8080/api/health || exit 1