f070cdbd1f
This script automatically builds the newest version of the documentserver for all architectures with the correct tags and pushes everything to dockerhub automatically
98 lines
3.8 KiB
Docker
98 lines
3.8 KiB
Docker
ARG ARCH=
|
|
FROM ${ARCH}debian:bullseye
|
|
LABEL maintainer Ascensio System SIA <support@onlyoffice.com>
|
|
|
|
RUN echo "deb http://deb.debian.org/debian bullseye main contrib non-free\ndeb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free\ndeb http://deb.debian.org/debian bullseye-updates main contrib non-free\ndeb http://deb.debian.org/debian bullseye-backports main" > /etc/apt/sources.list
|
|
|
|
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 DEBIAN_FRONTEND=noninteractive PG_VERSION=13
|
|
|
|
ARG ONLYOFFICE_VALUE=onlyoffice
|
|
|
|
RUN echo "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d && \
|
|
apt-get -y update && \
|
|
apt-get -yq install wget apt-transport-https gnupg locales && \
|
|
mkdir -p $HOME/.gnupg && \
|
|
gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/onlyoffice.gpg --keyserver keyserver.ubuntu.com --recv-keys 0x8320ca65cb2de8e5 && \
|
|
chmod 644 /etc/apt/trusted.gpg.d/onlyoffice.gpg && \
|
|
locale-gen en_US.UTF-8 && \
|
|
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections && \
|
|
apt-get -yq install \
|
|
adduser \
|
|
apt-utils \
|
|
bomstrip \
|
|
certbot \
|
|
curl \
|
|
gconf-service \
|
|
htop \
|
|
libasound2 \
|
|
libboost-regex-dev \
|
|
libcairo2 \
|
|
libcurl3-gnutls \
|
|
libcurl4 \
|
|
libgtk-3-0 \
|
|
libnspr4 \
|
|
libnss3 \
|
|
libstdc++6 \
|
|
libxml2 \
|
|
libxss1 \
|
|
libxtst6 \
|
|
mariadb-client \
|
|
nano \
|
|
net-tools \
|
|
netcat-openbsd \
|
|
nginx-extras \
|
|
postgresql \
|
|
postgresql-client \
|
|
pwgen \
|
|
rabbitmq-server \
|
|
redis-server \
|
|
software-properties-common \
|
|
sudo \
|
|
supervisor \
|
|
ttf-mscorefonts-installer \
|
|
xvfb \
|
|
zlib1g && \
|
|
if [ $(ls -l /usr/share/fonts/truetype/msttcorefonts | wc -l) -ne 61 ]; \
|
|
then echo 'msttcorefonts failed to download'; exit 1; fi && \
|
|
echo "SERVER_ADDITIONAL_ERL_ARGS=\"+S 1:1\"" | tee -a /etc/rabbitmq/rabbitmq-env.conf && \
|
|
sed -i "s/bind .*/bind 127.0.0.1/g" /etc/redis/redis.conf && \
|
|
sed 's|\(application\/zip.*\)|\1\n application\/wasm wasm;|' -i /etc/nginx/mime.types && \
|
|
pg_conftool $PG_VERSION main set listen_addresses 'localhost' && \
|
|
service postgresql restart && \
|
|
sudo -u postgres psql -c "CREATE DATABASE $ONLYOFFICE_VALUE;" && \
|
|
sudo -u postgres psql -c "CREATE USER $ONLYOFFICE_VALUE WITH password '$ONLYOFFICE_VALUE';" && \
|
|
sudo -u postgres psql -c "GRANT ALL privileges ON DATABASE $ONLYOFFICE_VALUE TO $ONLYOFFICE_VALUE;" && \
|
|
service postgresql stop && \
|
|
service redis-server stop && \
|
|
service rabbitmq-server stop && \
|
|
service supervisor stop && \
|
|
service nginx stop && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY config /app/ds/setup/config/
|
|
COPY run-document-server.sh /app/ds/run-document-server.sh
|
|
|
|
EXPOSE 80 443
|
|
|
|
ARG COMPANY_NAME=onlyoffice
|
|
ARG PRODUCT_NAME=documentserver
|
|
|
|
ENV COMPANY_NAME=$COMPANY_NAME \
|
|
PRODUCT_NAME=$PRODUCT_NAME
|
|
|
|
RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \
|
|
wget -q -P /tmp "http://download.onlyoffice.com/install/documentserver/linux/${COMPANY_NAME}-${PRODUCT_NAME}_${arch}.deb" && \
|
|
apt-get -y update && \
|
|
service postgresql start && \
|
|
apt-get -yq install /tmp/$(basename "${COMPANY_NAME}-${PRODUCT_NAME}_${arch}.deb") && \
|
|
service postgresql stop && \
|
|
service supervisor stop && \
|
|
chmod 755 /app/ds/*.sh && \
|
|
rm -f /tmp/"${COMPANY_NAME}-${PRODUCT_NAME}_${arch}.deb" && \
|
|
rm -rf /var/log/$COMPANY_NAME && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
VOLUME /var/log/$COMPANY_NAME /var/lib/$COMPANY_NAME /var/www/$COMPANY_NAME/Data /var/lib/postgresql /var/lib/rabbitmq /var/lib/redis /usr/share/fonts/truetype/custom
|
|
|
|
ENTRYPOINT ["/app/ds/run-document-server.sh"]
|