diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel new file mode 100644 index 000000000000..935c47ff829f --- /dev/null +++ b/.docker/Dockerfile.rhel @@ -0,0 +1,44 @@ +FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7 + +ENV RC_VERSION 0.64.0-develop + +MAINTAINER buildmaster@rocket.chat + +LABEL name="Rocket.Chat" \ + vendor="Rocket.Chat" \ + version="${RC_VERSION}" \ + release="1" \ + url="https://rocket.chat" \ + summary="The Ultimate Open Source Web Chat Platform" \ + description="The Ultimate Open Source Web Chat Platform" \ + run="docker run -d --name ${NAME} ${IMAGE}" + + +# This is ugly... But for some reason npm and node aren't available at this stage. +ENV PATH /opt/rh/rh-nodejs8/root/usr/bin:/opt/app-root/src/node_modules/.bin/:/opt/app-root/src/.npm-global/bin/:/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + +RUN set -x \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys 0E163286C20D07B9787EBE9FD7F9D0414FD08104 \ + && curl -SLf "https://releases.rocket.chat/${RC_VERSION}/download" -o rocket.chat.tgz \ + && curl -SLf "https://releases.rocket.chat/${RC_VERSION}/asc" -o rocket.chat.tgz.asc \ + && gpg --verify rocket.chat.tgz.asc \ + && tar -zxf rocket.chat.tgz -C /opt/app-root/src/ \ + && cd /opt/app-root/src/bundle/programs/server \ + && npm install + +COPY licenses /licenses + +VOLUME /opt/app-root/src/uploads + +WORKDIR /opt/app-root/src/bundle + +ENV DEPLOY_METHOD=docker-redhat \ + NODE_ENV=production \ + MONGO_URL=mongodb://mongo:27017/rocketchat \ + HOME=/tmp \ + PORT=3000 \ + ROOT_URL=http://localhost:3000 + +EXPOSE 3000 + +CMD ["node", "main.js"] diff --git a/.docker/licenses/LICENSE b/.docker/licenses/LICENSE new file mode 100644 index 000000000000..b3435a104885 --- /dev/null +++ b/.docker/licenses/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015-2017 Rocket.Chat Technologies Corp. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +