FROM rust:slim-buster # required for building rust things and grabbing node RUN apt-get update && apt-get upgrade -y && apt-get install \ git default-libmysqlclient-dev pkg-config \ curl libssl-dev ca-certificates gnupg \ -y --no-install-recommends # Setup node # grab key RUN curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - # add binary & source ppa RUN echo "deb https://deb.nodesource.com/node_14.x sid main" > /etc/apt/sources.list.d/nodesource.list RUN echo "deb-src https://deb.nodesource.com/node_14.x sid main" >> /etc/apt/sources.list.d/nodesource.list RUN apt-get update && apt-get install nodejs \ -y --no-install-recommends # Biuld all the projects required to run RUN git clone https://gitlab.com/shockrah/freechat /opt/freechat/ WORKDIR /opt/freechat/ RUN bash docker-auto-build.sh --no-cargo-cache # Clean up from the apt-gets and things we don't do this RUN apt-get remove curl gnupg ca-certificates -y # will go unused in regular builds RUN apt-get autoremove -y RUN rm -rf /var/lib/apt/lists/*