Spaces:
Runtime error
Runtime error
Update Dockerfile
Browse files- Dockerfile +29 -27
Dockerfile
CHANGED
|
@@ -1,32 +1,34 @@
|
|
| 1 |
-
# Base image for Rocket.Chat
|
| 2 |
FROM rocketchat/base:8
|
| 3 |
|
| 4 |
ENV RC_VERSION 0.65.2
|
| 5 |
|
| 6 |
MAINTAINER buildmaster@rocket.chat
|
| 7 |
|
| 8 |
-
# Install
|
| 9 |
-
RUN set -x \
|
| 10 |
-
&& curl -SLf "https://releases.rocket.chat/${RC_VERSION}/download/" -o rocket.chat.tgz \
|
| 11 |
-
&& curl -SLf "https://releases.rocket.chat/${RC_VERSION}/asc" -o rocket.chat.tgz.asc \
|
| 12 |
-
&& gpg --verify rocket.chat.tgz.asc \
|
| 13 |
-
&& mkdir -p /app \
|
| 14 |
-
&& tar -zxf rocket.chat.tgz -C /app \
|
| 15 |
-
&& rm rocket.chat.tgz rocket.chat.tgz.asc \
|
| 16 |
-
&& cd /app/bundle/programs/server \
|
| 17 |
-
&& npm install \
|
| 18 |
-
&& npm cache clear --force \
|
| 19 |
-
&& chown -R rocketchat:rocketchat /app
|
| 20 |
-
|
| 21 |
-
# Install http-proxy to enable reverse proxy
|
| 22 |
RUN npm install -g http-proxy
|
| 23 |
|
| 24 |
-
#
|
| 25 |
-
RUN
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
|
| 31 |
USER rocketchat
|
| 32 |
|
|
@@ -34,17 +36,17 @@ VOLUME /app/uploads
|
|
| 34 |
|
| 35 |
WORKDIR /app/bundle
|
| 36 |
|
| 37 |
-
#
|
| 38 |
ENV DEPLOY_METHOD=docker \
|
| 39 |
NODE_ENV=production \
|
| 40 |
MONGO_URL=mongodb://mongo:27017/rocketchat \
|
| 41 |
HOME=/tmp \
|
| 42 |
-
PORT=
|
| 43 |
ROOT_URL=http://localhost:3000 \
|
| 44 |
Accounts_AvatarStorePath=/app/uploads
|
| 45 |
|
| 46 |
-
# Expose
|
| 47 |
-
EXPOSE 7860
|
| 48 |
|
| 49 |
-
#
|
| 50 |
-
CMD node /
|
|
|
|
|
|
|
| 1 |
FROM rocketchat/base:8
|
| 2 |
|
| 3 |
ENV RC_VERSION 0.65.2
|
| 4 |
|
| 5 |
MAINTAINER buildmaster@rocket.chat
|
| 6 |
|
| 7 |
+
# Install http-proxy for port forwarding
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
RUN npm install -g http-proxy
|
| 9 |
|
| 10 |
+
# Original RocketChat installation
|
| 11 |
+
RUN set -x \
|
| 12 |
+
&& curl -SLf "https://releases.rocket.chat/${RC_VERSION}/download/" -o rocket.chat.tgz \
|
| 13 |
+
&& curl -SLf "https://releases.rocket.chat/${RC_VERSION}/asc" -o rocket.chat.tgz.asc \
|
| 14 |
+
&& gpg --verify rocket.chat.tgz.asc \
|
| 15 |
+
&& mkdir -p /app \
|
| 16 |
+
&& tar -zxf rocket.chat.tgz -C /app \
|
| 17 |
+
&& rm rocket.chat.tgz rocket.chat.tgz.asc \
|
| 18 |
+
&& cd /app/bundle/programs/server \
|
| 19 |
+
&& npm install \
|
| 20 |
+
&& npm cache clear --force \
|
| 21 |
+
&& chown -R rocketchat:rocketchat /app
|
| 22 |
+
|
| 23 |
+
# Create proxy script
|
| 24 |
+
RUN mkdir -p /app/proxy \
|
| 25 |
+
&& echo 'const httpProxy = require("http-proxy");' > /app/proxy/proxy.js \
|
| 26 |
+
&& echo 'const proxy = httpProxy.createProxyServer({});' >> /app/proxy/proxy.js \
|
| 27 |
+
&& echo 'const server = require("http").createServer(function(req, res) {' >> /app/proxy/proxy.js \
|
| 28 |
+
&& echo ' proxy.web(req, res, { target: "http://localhost:7860" });' >> /app/proxy/proxy.js \
|
| 29 |
+
&& echo '});' >> /app/proxy/proxy.js \
|
| 30 |
+
&& echo 'console.log("Proxy server listening on port 3000");' >> /app/proxy/proxy.js \
|
| 31 |
+
&& echo 'server.listen(3000);' >> /app/proxy/proxy.js
|
| 32 |
|
| 33 |
USER rocketchat
|
| 34 |
|
|
|
|
| 36 |
|
| 37 |
WORKDIR /app/bundle
|
| 38 |
|
| 39 |
+
# Modified environment variables to accommodate proxy
|
| 40 |
ENV DEPLOY_METHOD=docker \
|
| 41 |
NODE_ENV=production \
|
| 42 |
MONGO_URL=mongodb://mongo:27017/rocketchat \
|
| 43 |
HOME=/tmp \
|
| 44 |
+
PORT=7860 \
|
| 45 |
ROOT_URL=http://localhost:3000 \
|
| 46 |
Accounts_AvatarStorePath=/app/uploads
|
| 47 |
|
| 48 |
+
# Expose both ports
|
| 49 |
+
EXPOSE 3000 7860
|
| 50 |
|
| 51 |
+
# Modified startup command to run both the proxy and RocketChat
|
| 52 |
+
CMD ["sh", "-c", "node ../proxy/proxy.js & node main.js"]
|