# 6-stretch is the ONLY node 6 release supported by arm32v7, arm64v8 and x86-64 docker hub labels FROM node:6-stretch # You want USE_SSL=true if not putting cryptpad behind a proxy ENV USE_SSL=false ENV STORAGE=\'./storage/file\' ENV LOG_TO_STDOUT=true # Persistent storage needs VOLUME /cryptpad/datastore VOLUME /cryptpad/customize VOLUME /cryptpad/blobstage VOLUME /cryptpad/pins VOLUME /cryptpad/tasks VOLUME /cryptpad/block VOLUME /cryptpad/blob VOLUME /cryptpad/blobstage # Required packages # jq is a build only dependency, removed in cleanup stage RUN apt-get update \ && apt-get install -y --no-install-recommends \ git jq python # Install tini for faux init # sleep 1 is to ensure overlay2 can catch up with the copy prior to running chmod COPY ./docker-install-tini.sh / RUN chmod a+x /docker-install-tini.sh \ && sleep 1 \ && /docker-install-tini.sh \ && rm /docker-install-tini.sh # Cleanup apt RUN apt-get remove -y --purge jq python \ && apt-get auto-remove -y \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # Install cryptpad COPY . /cryptpad WORKDIR /cryptpad RUN npm install --production \ && npm install -g bower \ && bower install --allow-root # Unsafe / Safe ports EXPOSE 3000 3001 # Run cryptpad on startup CMD ["/sbin/tini", "--", "/cryptpad/container-start.sh"]