2019-01-21 12:34:44 +00:00
FROM ubuntu:18.04
2015-04-17 15:16:43 +00:00
2016-06-22 09:47:40 +00:00
ARG RELEASE_DATE = "2016-06-21"
ARG RELEASE_DATE_SIGN = ""
ARG VERSION = "8.9.0.190"
ARG SOURCE_REPO_URL = "deb http://static.teamlab.com.s3.amazonaws.com/repo/debian squeeze main"
2018-01-18 17:43:31 +00:00
ARG DEBIAN_FRONTEND = noninteractive
2020-06-05 23:52:51 +00:00
ARG PACKAGE_SYSNAME = "onlyoffice"
2016-06-22 09:47:40 +00:00
2022-03-05 08:02:00 +00:00
ARG LOG4J_VER = 2 .17.2
2022-02-08 13:00:59 +00:00
ARG LOG4J_BIN = apache-log4j-${ LOG4J_VER } -bin
ARG LOG4J_ARCH = ${ LOG4J_BIN } .tar.gz
ARG LOG4J_DIR = ./log4j
ARG ELK_DIR = /usr/share/elasticsearch
ARG ELK_LIB_DIR = ${ ELK_DIR } /lib
ARG ELK_MODULE_DIR = ${ ELK_DIR } /modules
2020-06-05 23:52:51 +00:00
LABEL ${ PACKAGE_SYSNAME } .community.release-date= " ${ RELEASE_DATE } " \
${ PACKAGE_SYSNAME } .community.version= " ${ VERSION } " \
2020-08-19 11:54:43 +00:00
description = "Community Server is a free open-source collaborative system developed to manage documents, projects, customer relationship and emails, all in one place." \
2020-06-05 23:52:51 +00:00
maintainer = " Ascensio System SIA <support@ ${ PACKAGE_SYSNAME } .com> " \
securitytxt = " https://www. ${ PACKAGE_SYSNAME } .com/.well-known/security.txt "
2016-06-22 09:47:40 +00:00
2019-01-24 15:10:42 +00:00
ENV LANG = en_US.UTF-8 \
LANGUAGE = en_US:en \
LC_ALL = en_US.UTF-8
2015-04-17 15:16:43 +00:00
2018-01-18 17:43:31 +00:00
RUN apt-get -y update && \
2020-06-05 23:52:51 +00:00
apt-get -y upgrade && \
2020-06-23 07:43:58 +00:00
apt-get -y dist-upgrade && \
2020-06-05 23:52:51 +00:00
addgroup --system --gid 107 ${ PACKAGE_SYSNAME } && \
adduser -uid 104 --quiet --home /var/www/${ PACKAGE_SYSNAME } --system --gid 107 ${ PACKAGE_SYSNAME } && \
2019-01-22 14:12:07 +00:00
addgroup --system --gid 104 elasticsearch && \
adduser -uid 103 --quiet --home /nonexistent --system --gid 104 elasticsearch && \
2020-06-05 23:52:51 +00:00
apt-get -yq install systemd \
systemd-sysv \
locales \
software-properties-common \
curl \
wget \
sudo && \
cd /lib/systemd/system/sysinit.target.wants/ && ls | grep -v systemd-tmpfiles-setup | xargs rm -f $1 && \
rm -f /lib/systemd/system/multi-user.target.wants/* \
/etc/systemd/system/*.wants/* \
/lib/systemd/system/local-fs.target.wants/* \
/lib/systemd/system/sockets.target.wants/*udev* \
/lib/systemd/system/sockets.target.wants/*initctl* \
/lib/systemd/system/basic.target.wants/* \
/lib/systemd/system/anaconda.target.wants/* \
/lib/systemd/system/plymouth* \
/lib/systemd/system/systemd-update-utmp* && \
locale-gen en_US.UTF-8 && \
echo "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d && \
2018-01-18 17:43:31 +00:00
echo " ${ SOURCE_REPO_URL } " >> /etc/apt/sources.list && \
2020-08-28 15:05:24 +00:00
echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic/snapshots/6.8.0.123 main" | tee /etc/apt/sources.list.d/mono-official.list && \
2020-06-05 23:52:51 +00:00
echo "deb https://d2nlctn12v279m.cloudfront.net/repo/mono/ubuntu bionic main" | tee /etc/apt/sources.list.d/mono-extra.list && \
2016-12-16 12:47:07 +00:00
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CB2DE8E5 && \
2015-04-17 15:16:43 +00:00
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \
2018-01-19 08:23:01 +00:00
wget http://nginx.org/keys/nginx_signing.key && \
apt-key add nginx_signing.key && \
2020-08-20 13:43:50 +00:00
echo "deb http://nginx.org/packages/ubuntu/ bionic nginx" >> /etc/apt/sources.list.d/nginx.list && \
2017-12-21 10:52:57 +00:00
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add - && \
2020-06-04 11:25:31 +00:00
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list && \
2017-04-14 15:19:25 +00:00
add-apt-repository -y ppa:certbot/certbot && \
2019-02-06 10:12:37 +00:00
add-apt-repository -y ppa:chris-lea/redis-server && \
2020-06-04 11:25:31 +00:00
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - && \
apt-get install -yq gnupg2 \
ca-certificates \
software-properties-common \
cron \
rsyslog \
2020-08-12 12:46:32 +00:00
ruby-dev \
ruby-god \
2020-06-04 11:25:31 +00:00
nodejs \
2020-08-20 14:23:08 +00:00
nginx \
2020-06-04 11:25:31 +00:00
gdb \
mono-complete \
ca-certificates-mono \
python-certbot-nginx \
htop \
nano \
dnsutils \
redis-server \
python3-pip \
multiarch-support \
iproute2 \
ffmpeg \
jq \
openjdk-8-jre-headless \
apt-transport-https \
2021-01-27 08:59:25 +00:00
elasticsearch = 7.9.0 \
2020-08-03 16:48:59 +00:00
mono-webserver-hyperfastcgi= 0.4-7 \
${ PACKAGE_SYSNAME } -communityserver \
${ PACKAGE_SYSNAME } -xmppserver && \
2022-02-08 13:00:59 +00:00
rm -v ${ ELK_LIB_DIR } /log4j-*.jar ${ ELK_MODULE_DIR } /*/log4j-*.jar && \
wget https://dlcdn.apache.org/logging/log4j/${ LOG4J_VER } /${ LOG4J_ARCH } && \
mkdir ${ LOG4J_DIR } && \
tar -xf ${ LOG4J_ARCH } -C ${ LOG4J_DIR } && \
cp -v ${ LOG4J_DIR } /${ LOG4J_BIN } /log4j-api-${ LOG4J_VER } .jar ${ ELK_LIB_DIR } && \
cp -v ${ LOG4J_DIR } /${ LOG4J_BIN } /log4j-core-${ LOG4J_VER } .jar ${ ELK_LIB_DIR } && \
cp -v ${ LOG4J_DIR } /${ LOG4J_BIN } /log4j-1.2-api-${ LOG4J_VER } .jar ${ ELK_MODULE_DIR } /x-pack-core && \
cp -v ${ LOG4J_DIR } /${ LOG4J_BIN } /log4j-slf4j-impl-${ LOG4J_VER } .jar ${ ELK_MODULE_DIR } /x-pack-identity-provider && \
cp -v ${ LOG4J_DIR } /${ LOG4J_BIN } /log4j-slf4j-impl-${ LOG4J_VER } .jar ${ ELK_MODULE_DIR } /x-pack-security && \
rm -vr ${ LOG4J_ARCH } ${ LOG4J_DIR } && \
zip -q -d ${ ELK_LIB_DIR } /log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class && \
2020-06-05 23:52:51 +00:00
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
2015-04-17 15:16:43 +00:00
2020-06-05 23:52:51 +00:00
COPY config /app/config/
COPY assets /app/assets/
COPY run-community-server.sh /app/run-community-server.sh
2020-01-13 14:24:28 +00:00
2020-06-05 23:52:51 +00:00
RUN chmod -R 755 /app/*.sh
2015-04-17 15:16:43 +00:00
2020-08-31 16:46:24 +00:00
VOLUME [ "/sys/fs/cgroup" , "/var/log/${PACKAGE_SYSNAME}" , "/var/www/${PACKAGE_SYSNAME}/Data" , "/var/lib/mysql" , "/etc/letsencrypt" ]
2015-04-17 15:16:43 +00:00
2016-06-22 09:47:40 +00:00
EXPOSE 80 443 5222 3306 9865 9888 9866 9871 9882 5280
2020-06-05 23:52:51 +00:00
CMD [ "/app/run-community-server.sh" ] ;