FROM node:12.18.4-buster-slim LABEL maintainer="buildmaster@rocket.chat" RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak RUN touch /etc/apt/sources.list RUN echo "deb http://mirrors.aliyun.com/debian/ buster main non-free contrib" >> /etc/apt/sources.list \ && echo "deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib" >> /etc/apt/sources.list \ && echo "deb http://mirrors.aliyun.com/debian-security buster/updates main" >> /etc/apt/sources.list \ && echo "deb-src http://mirrors.aliyun.com/debian-security buster/updates main" >> /etc/apt/sources.list \ && echo "deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib" >> /etc/apt/sources.list \ && echo "deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib" >> /etc/apt/sources.list \ && echo "deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib" >> /etc/apt/sources.list \ && echo "deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib" >> /etc/apt/sources.list RUN cat /etc/apt/sources.list RUN apt update # dependencies RUN groupadd -g 65533 -r rocketchat \ && useradd -u 65533 -r -g rocketchat rocketchat \ && mkdir -p /app/uploads \ && chown rocketchat:rocketchat /app/uploads \ && apt-get update \ && apt-get install -y --no-install-recommends fontconfig #ADD .. /app ADD ./bundle /app/bundle RUN aptMark="$(apt-mark showmanual)" \ && apt-get install -y --no-install-recommends g++ make python ca-certificates \ && cd /app/bundle/programs/server \ && npm install \ && apt-mark auto '.*' > /dev/null \ && apt-mark manual $aptMark > /dev/null \ && find /usr/local -type f -executable -exec ldd '{}' ';' \ | awk '/=>/ { print $(NF-1) }' \ | sort -u \ | xargs -r dpkg-query --search \ | cut -d: -f1 \ | sort -u \ | xargs -r apt-mark manual \ && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ && npm cache clear --force \ && chown -R rocketchat:rocketchat /app USER rocketchat VOLUME /app/uploads WORKDIR /app/bundle # needs a mongoinstance - defaults to container linking with alias 'mongo' ENV DEPLOY_METHOD=docker \ NODE_ENV=production \ MONGO_URL=mongodb://mongo:27017/rocketchat \ HOME=/tmp \ PORT=3000 \ ROOT_URL=http://localhost:3000 \ Accounts_AvatarStorePath=/app/uploads EXPOSE 3000 CMD ["node", "main.js"]