Code Monkey home page Code Monkey logo

docker.official.image's Introduction

Rocket.Chat

Rocket.Chat is a Web Chat Server, developed in JavaScript, using the Meteor fullstack framework.

It is a great solution for communities and companies wanting to privately host their own chat service or for developers looking forward to build and evolve their own chat platforms.

%%LOGO%%

How to use this image

Docker Compose

If you need both the mongo and Rocket.Chat containers, use a docker compose one-liner:

docker-compose up -d

Which will run both containers, with Rocket.Chat listening on http://localhost:3000 Then, access it via http://localhost:3000 in a browser. Replace localhost in ROOT_URL with your own domain name if you are hosting at your own domain.

Stop the containers with:

docker compose down

Individual containers

First, start an instance of mongo:

docker run --name db -d mongo:4.0 mongod --smallfiles

Then start Rocket.Chat linked to this mongo instance:

docker run --name rocketchat --link db:db -d rocket.chat

This will start a Rocket.Chat instance listening on the default Meteor port of 3000 on the container.

If you'd like to be able to access the instance directly at standard port on the host machine:

docker run --name rocketchat -p 80:3000 --env ROOT_URL=http://localhost --link db:db -d rocket.chat

Then, access it via http://localhost in a browser. Replace localhost in ROOT_URL with your own domain name if you are hosting at your own domain.

If you're using a third party Mongo provider, or working with Kubernetes, you need to override the MONGO_URL environment variable:

docker run --name rocketchat -p 80:3000 --env ROOT_URL=http://localhost --env MONGO_URL=mongodb://mymongourl/mydb -d rocket.chat

docker.official.image's People

Contributors

aagallag avatar aminvakil avatar avelino avatar debdutdeb avatar dnalchemist avatar docker-library-bot avatar dudanogueira avatar engelgabriel avatar geekgonecrazy avatar genkaok avatar j-stahl avatar jasperla avatar knrt10 avatar kumm avatar magenbrot avatar mide avatar pierreozoux avatar rflett avatar sampaiodiego avatar sandrotanner avatar sing-li avatar srsbzns avatar tianon avatar wreiske avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker.official.image's Issues

Version out of date.

Can we keep this in sync more with the current version in the rocket.chat repo?

Looks like we're at least one version behind. I've seen other docker images have a dev label.

Docker Error

Try running the commands listed on the read me but getting the error

Error: image library/rocket.chat:latest not found

commands run

docker run --name db -d mongo mongod --smallfiles
docker run --name rocketchat --env ROOT_URL=http://robrotheram.com --link db rocket.chat

Tried replacing it with

docker run --name rocketchat --env ROOT_URL=http://robrotheram.com --link db rocketchat/rocket.chat

to pull from the docker repository but then getting the error

Status: Downloaded newer image for rocketchat/rocket.chat:latest
=> Starting meteor app on port:80

/built_app/programs/server/node_modules/fibers/future.js:245
                    throw(ex);
                          ^
Error: MONGO_URL must be set in environment
    at Object.<anonymous> (packages/mongo/remote_collection_driver.js:36:1)
    at Object.defaultRemoteCollectionDriver (packages/underscore/underscore.js:750:1)
    at new Mongo.Collection (packages/mongo/collection.js:98:1)
    at packages/accounts-base/accounts_common.js:141:1
    at /built_app/programs/server/packages/accounts-base.js:243:4
    at /built_app/programs/server/packages/accounts-base.js:1659:3
    at /built_app/programs/server/boot.js:222:10
    at Array.forEach (native)
    at Function._.each._.forEach          (/built_app/programs/server/node_modules/underscore/underscore.js:79:11)
at /built_app/programs/server/boot.js:117:5

Rocket chat file storage ?

Hi,

I used your image to install my rocket.chat instance, it works fine but i cannot manage to find
where the uploaded files and avatars are stored ?
I think there is a volume missing so that they would get saved if the image is restarted ?
Thanks,
Regards,

Add Volume for MongoDb

When we stop the container by docker-compose down and after that when we restart it then all our stored DB data is gone. So to solve this we will need to use volumes to persist data.

I will make a PR for the same

Unable to access rocket.chat from localhost after deployment

Ran through the example steps on Mac OSX El Capitan for the port forwarding but I can't seem to access it via http://localhost.

Here's the relevant config:

...
        "HostConfig": {
            ...
            "NetworkMode": "default",
            "PortBindings": {
                "3000/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "80"
                    }
                ]
            },
...
        "Config": {
            "Hostname": "444eb6448532",
            "Domainname": "",
            "User": "rocket chat"
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "3000/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "ROOT_URL=http://localhost",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "NODE_VERSION=0.10.43",
                "NPM_VERSION=2.14.1",
                "RC_VERSION=0.22.0",
                "MONGO_URL=mongodb://db:27017/meteor",
                "PORT=3000",
                "Accounts_AvatarStorePath=/app/uploads"
            ],
            "Cmd": [
                "node",
                "main.js"
            ],
            "Image": "rocket.chat",
            "Volumes": {
                "/app/uploads": {}
            },
            "WorkingDir": "/app/bundle",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {},
            "StopSignal": "SIGTERM"
        },
...
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "xxx",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "3000/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "80"
                    }
                ]
            },
            "SandboxKey": "/var/run/docker/netns/64a4892b7bb4",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "xxx",
            "Gateway": "172.17.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.3",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "xx:xx:xx:xx:xx:xx",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "xxx",
                    "EndpointID": "xxx",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.3",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "xx:xx:xx:xx:xx:xx"
                }
            }
        }

Tried access 172.17.0.3 as well but no luck :(

The containers appear to be running, docker ps shows me:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
444eb6448532        rocket.chat         "node main.js"           About an hour ago   Up About an hour    0.0.0.0:80->3000/tcp   rocket chat
d8673a449356        mongo               "/entrypoint.sh --sma"   About an hour ago   Up About an hour    27017/tcp              db

Keyserver issues

[ha.]pool.sks-keyservers.net seems to have a IPv4 vs. IPv6 thing: GPG's dirmngr might select a v6 server from the pool and try to connect to it, even though it doesn't have v6 connectivity inside the container. So build fails every now and then.

(could be this bug: https://bugs.launchpad.net/ubuntu/+source/gnupg2/+bug/1625845)

If one wants stay with sks-keyservers, ipv4.pool.sks-keyservers.net can be used.

FATAL ERROR: Zone Allocation failed - process out of memory --- during import

Warning: connect.session() MemoryStore is not
designed for a production environment, as it will leak
memory, and will not scale past a single process.
Tue, 24 Jul 2018 14:53:34 GMT connect deprecated multipart: use parser (multiparty, busboy, formidable) npm module instead at npm/node_modules/connect/lib/middleware/bodyParser.js:56:20
Tue, 24 Jul 2018 14:53:34 GMT connect deprecated limit: Restrict request size at location of read at npm/node_modules/connect/lib/middleware/multipart.js:86:15
FATAL ERROR: Zone Allocation failed - process out of memory
1: node::Abort() [node]
2: 0x121a2cc [node]
3: v8::Utils::ReportOOMFailure(char const*, bool) [node]
4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [node]
5: v8::internal::Zone::New(unsigned long) [node]
6: v8::internal::compiler::SimplifiedOperatorBuilder::LoadField(v8::internal::compiler::FieldAccess const&) [node]
7: v8::internal::compiler::JSTypedLowering::ReduceJSLoadContext(v8::internal::compiler::Node*) [node]
8: v8::internal::compiler::JSTypedLowering::Reduce(v8::internal::compiler::Node*) [node]
9: v8::internal::compiler::GraphReducer::Reduce(v8::internal::compiler::Node*) [node]
10: v8::internal::compiler::GraphReducer::ReduceTop() [node]
11: v8::internal::compiler::GraphReducer::ReduceNode(v8::internal::compiler::Node*) [node]
12: v8::internal::compiler::TypedLoweringPhase::Run(v8::internal::compiler::PipelineData*, v8::internal::Zone*) [node]
13: v8::internal::compiler::PipelineImpl::CreateGraph() [node]
14: v8::internal::compiler::PipelineCompilationJob::PrepareJobImpl() [node]
15: v8::internal::CompilationJob::PrepareJob() [node]
16: 0xdc6269 [node]
17: v8::internal::Compiler::CompileOptimized(v8::internal::Handlev8::internal::JSFunction, v8::internal::ConcurrencyMode) [node]
18: v8::internal::Runtime_CompileOptimized_Concurrent(int, v8::internal::Object**, v8::internal::Isolate*) [node]
19: 0x1c0923b0463d

Running in a sub folder

Hi there,

i'm trying to run RocketChat as a docker container with reverse proxy in a sub folder (https://001docker2t/rocketchat).
My problem is that file upload is using the wrong url (https://001docker2t/ufs/...) and stay at 0%.

Docker calls:
docker run --name rocketchatdb --restart unless-stopped -d -v /var/docker/rocketchat/db:/data/db mongo:3.0 --smallfiles
docker run --name rocketchat --restart unless-stopped -p 172.17.0.1:3000:3000 --link rocketchatdb --env ROOT_URL=https://001docker2t/rocketchat/ --env MONGO_URL=mongodb://rocketchatdb:27017/meteor -d rocket.chat

As in the documentation for sub folders (https://rocket.chat/docs/installation/manual-installation/running-in-a-sub-folder) i set the ROOT_URL to https://001docker2t/rocketchat/. In the application i set under Admin > General only the domain.

Do i have a wrong configuration or is there something wrong with uploads using subfolders?

Versions:
NODE_VERSION 4.8.1
YARN_VERSION 0.21.3
RC_VERSION 0.54.0

problem at start - duplicate key error

hi, i cant start the containers that already has working, here is the logs.

thanks.

docker-compose up -d && docker-compose logs -f
Creating rocket_db_1 ... done
Creating rocket_rocket_1 ... done
Attaching to rocket_rocket_1, rocket_db_1
db_1 | 2019-03-26T23:32:48.407+0000 I CONTROL [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=2a49f7d6d3e1
db_1 | 2019-03-26T23:32:48.407+0000 I CONTROL [initandlisten] db version v3.0.15
db_1 | 2019-03-26T23:32:48.407+0000 I CONTROL [initandlisten] git version: b8ff507269c382bc100fc52f75f48d54cd42ec3b
db_1 | 2019-03-26T23:32:48.407+0000 I CONTROL [initandlisten] build info: Linux ip-10-166-66-3 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1 x86_64 BOOST_LIB_VERSION=1_49
db_1 | 2019-03-26T23:32:48.407+0000 I CONTROL [initandlisten] allocator: tcmalloc
db_1 | 2019-03-26T23:32:48.407+0000 I CONTROL [initandlisten] options: { storage: { mmapv1: { smallFiles: true } } }
db_1 | 2019-03-26T23:32:48.410+0000 W - [initandlisten] Detected unclean shutdown - /data/db/mongod.lock is not empty.
db_1 | 2019-03-26T23:32:48.423+0000 I JOURNAL [initandlisten] journal dir=/data/db/journal
db_1 | 2019-03-26T23:32:48.423+0000 I JOURNAL [initandlisten] recover begin
db_1 | 2019-03-26T23:32:48.424+0000 I JOURNAL [initandlisten] info no lsn file in journal/ directory
db_1 | 2019-03-26T23:32:48.424+0000 I JOURNAL [initandlisten] recover lsn: 0
db_1 | 2019-03-26T23:32:48.424+0000 I JOURNAL [initandlisten] recover /data/db/journal/j._0
db_1 | 2019-03-26T23:32:48.424+0000 I JOURNAL [initandlisten] recover applying initial journal section with sequence number 90
db_1 | 2019-03-26T23:32:48.433+0000 I JOURNAL [initandlisten] recover cleaning up
db_1 | 2019-03-26T23:32:48.433+0000 I JOURNAL [initandlisten] removeJournalFiles
db_1 | 2019-03-26T23:32:48.451+0000 I JOURNAL [initandlisten] recover done
db_1 | 2019-03-26T23:32:48.452+0000 I JOURNAL [initandlisten] preallocating a journal file /data/db/journal/prealloc.0
db_1 | 2019-03-26T23:32:49.043+0000 I JOURNAL [durability] Durability thread started
db_1 | 2019-03-26T23:32:49.044+0000 I JOURNAL [journal writer] Journal writer thread started
db_1 | 2019-03-26T23:32:49.055+0000 I NETWORK [initandlisten] waiting for connections on port 27017
db_1 | 2019-03-26T23:32:50.088+0000 I NETWORK [initandlisten] connection accepted from 172.17.0.6:54164 #1 (1 connection now open)
db_1 | 2019-03-26T23:32:50.251+0000 I NETWORK [initandlisten] connection accepted from 172.17.0.6:54166 #2 (2 connections now open)
db_1 | 2019-03-26T23:32:50.910+0000 I NETWORK [initandlisten] connection accepted from 172.17.0.6:54172 #3 (3 connections now open)
db_1 | 2019-03-26T23:32:52.220+0000 I NETWORK [initandlisten] connection accepted from 172.17.0.6:54176 #4 (4 connections now open)
db_1 | 2019-03-26T23:32:52.241+0000 I NETWORK [initandlisten] connection accepted from 172.17.0.6:54178 #5 (5 connections now open)
rocket_1 | Updating process.env.MAIL_URL
rocket_1 | LocalStore: store created at
rocket_1 | LocalStore: store created at
rocket_1 | LocalStore: store created at
rocket_1 | Starting Email Intercepter...
rocket_1 | Setting default file store to GridFS
rocket_1 | Warning: connect.session() MemoryStore is not
rocket_1 | designed for a production environment, as it will leak
rocket_1 | memory, and will not scale past a single process.
rocket_1 | {"line":"121","file":"migrations.js","message":"Migrations: Not migrating, already at version 137","time":{"$date":1553643182655},"level":"info"}
rocket_1 | ufs: temp directory created at "/tmp/ufs"
rocket_1 | Updating process.env.MAIL_URL
db_1 | 2019-03-26T23:33:03.413+0000 I INDEX [conn3] build index on: meteor.rocketchat_cron_history properties: { v: 1, unique: true, key: { intendedAt: 1, name: 1 }, name: "intendedAt_1_name_1", ns: "meteor.rocketchat_cron_history" }
db_1 | 2019-03-26T23:33:03.413+0000 I INDEX [conn3] building index using bulk method
rocket_1 | Exception in callback of async function: { MongoError: exception: E11000 duplicate key error index: meteor.rocketchat_cron_history.$intendedAt_1_name_1 dup key: { : new Date(1553616000000), : "Generate download files for user data" }
rocket_1 | at /app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/pool.js:581:63
rocket_1 | at authenticateStragglers (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/pool.js:504:16)
rocket_1 | at Connection.messageHandler (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/pool.js:540:5)
rocket_1 | at emitMessageHandler (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/connection.js:310:10)
rocket_1 | at Socket. (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/connection.js:453:17)
rocket_1 | at emitOne (events.js:116:13)
rocket_1 | at Socket.emit (events.js:211:7)
rocket_1 | at addChunk (_stream_readable.js:263:12)
rocket_1 | at readableAddChunk (_stream_readable.js:250:11)
rocket_1 | at Socket.Readable.push (_stream_readable.js:208:10)
rocket_1 | at TCP.onread (net.js:597:20)
rocket_1 | createdCollectionAutomatically: false,
rocket_1 | numIndexesBefore: 1,
rocket_1 | errmsg: 'exception: E11000 duplicate key error index: meteor.rocketchat_cron_history.$intendedAt_1_name_1 dup key: { : new Date(1553616000000), : "Generate download files for user data" }',
rocket_1 | code: 11000,
rocket_1 | ok: 0,
rocket_1 | name: 'MongoError',
rocket_1 | [Symbol(mongoErrorContextSymbol)]: {} }

Feature request: option to run rocketchat disconnected without internet access

I would like to use rocketchat on-premise in an environment without internet access.
I used the rocketchat stable helm chart (multiple versions) to install rocketchat in kubernetes (kubespray 1.14.1)
Rocketchat wasn't able to start until I added extra args for http_proxy, https_proxy and no_proxy to the vars of the helm chart.

Took me a lot of time to find out why rocket chat would't start because there where no errors in the logs beside the health check fails for port 3000. And because of that the container kept restarting.

Build fails: gpg: BAD signature

Looks like there might be a new key signing Rocket.Chat releases now?

Step 8/13 : RUN curl -fSL "https://releases.rocket.chat/${RC_VERSION}/download" -o rocket.chat.tgz &&  curl -fSL "https://releases.rocket.chat/${RC_VERSION}/asc" -o rocket.chat.tgz.asc &&  gpg --batch --verify rocket.chat.tgz.asc rocket.chat.tgz &&  tar zxvf rocket.chat.tgz &&  rm rocket.chat.tgz rocket.chat.tgz.asc &&  cd bundle/programs/server &&  npm install
 ---> Running in c7f761dd80d4
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   225  100   225    0     0    608      0 --:--:-- --:--:-- --:--:--   609
100  141M  100  141M    0     0  8594k      0  0:00:16  0:00:16 --:--:-- 9972k
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   233  100   233    0     0    661      0 --:--:-- --:--:-- --:--:--   661
100   819  100   819    0     0   1493      0 --:--:-- --:--:-- --:--:--  1493
gpg: Signature made Tue May 29 20:25:09 2018 UTC using RSA key ID 4FD08104
gpg: BAD signature from "Rocket.Chat Buildmaster <[email protected]>"

Just pulled new image push notifications not going out anymore?

Description: Push notifications suddently stopped working, iOS all users/devices (messages sent just not push notifications)
Server Setup Information: official docker image (ubuntu host) with nginx proxy and letsencrypt
Version of Rocket.Chat Server:latest
Operating System: 0.63.2
Deployment Method(snap/docker/tar/etc): docker
Number of Running Instances:1
DB Replicaset Oplog: disabled
Node Version: v8.11.1
mongoDB Version: latest
Steps to Reproduce: Send Test notifcation via Admin console/gui; via mobile/thin client apps on mac/windows/ios.
Expected behavior: Messages sent via channels/direct messages but also push notification banners on mobiles.
Actual behavior:
Messages received fine; no push notifications.
This was working perfectly. Scripted calls working, notification agents working, webhook and channel override working.

I just recently got rocketchat up via Docker image/docker compose. After finally getting proxy sorted out everything was wonderful.
But did docker compose pull and docker compose up today and now while notifications sent, no push notifications are being fired?

Error tar: "Directory renamed before its status could be extracted"

The dockerfile use tar which is broken in docker(?)
docker/hub-feedback#727

tar: bundle/programs/server/npm/node_modules/express/node_modules/.bin: Directory renamed before its status could be extracted
tar: bundle/programs/server/npm/node_modules/express/node_modules: Directory renamed before its status could be extracted
tar: bundle/programs/server/npm/node_modules/express: Directory renamed before its status could be extracted
tar: Exiting with failure status due to previous errors
The command '/bin/sh -c curl -fSL "https://releases.rocket.chat/${RC_VERSION}/download" -o rocket.chat.tgz &&  curl -fSL "https://releases.rocket.chat/${RC_VERSION}/asc" -o rocket.chat.tgz.asc &&  gpg --batch --verify rocket.chat.tgz.asc rocket.chat.tgz &&  tar zxvf rocket.chat.tgz &&  rm rocket.chat.tgz rocket.chat.tgz.asc &&  cd bundle/programs/server &&  npm install' returned a non-zero code: 2

System Error

Hello,

I am unable to use this image.
The box is a Debian 8 fully upgraded.

Info:

docker run --name rocketchat --link rocketchatdb -d rocketchat/rocket.chat -ti

e7099b4a072358236e2930abc438af2643a89eba879e7640c398215ea697b219
Error response from daemon: Cannot start container e7099b4a072358236e2930abc438af2643a89eba879e7640c398215ea697b219: [8] System error: exec: "-ti": executable file not found in $PATH

19:54:18  ✘ ⚡  /data 

docker version

Client:
Version: 1.9.1
API version: 1.21
Go version: go1.4.2
Git commit: a34a1d5
Built: Fri Nov 20 12:59:02 UTC 2015
OS/Arch: linux/amd64

Server:
Version: 1.9.1
API version: 1.21
Go version: go1.4.2
Git commit: a34a1d5
Built: Fri Nov 20 12:59:02 UTC 2015
OS/Arch: linux/amd64

19:55:31  ⚡  /data 

docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e7099b4a0723 rocketchat/rocket.chat "-ti" About a minute ago Created rocketchat
1582f0c0ac95 mongo "/entrypoint.sh --sma" 6 minutes ago Up 6 minutes 27017/tcp rocketchatdb

Using RocketChat Docker's image behind a proxy (nginx-letsencrypt-companion)

Hi guys!

note:

  • i'm running a Ubuntu Xenial install
  • i managed to get RocketChat running on it's own before following these instructions
  • when accessing my ip x.x.x.x:3000 i successfully get the rocketchat login screen so it's obviously the networking that grips

I'm trying to make a RocketChat instance work in parallel with other services (i plan to have rocket+nextcloud on a server) with letsencrypt-nginx-proxy-companion. I've already managed to use this tool on another project to run multiple Wordpress/mysql installs on the same server.

Here are the two files i use

docker-compose.yml for RocketChat

version: '3.3'

services:
  db:
    image: mongo
    volumes:
      - ./datatest/runtime/db:/data/db
      - ./datatest/dump:/dump
    command: mongod --smallfiles

  rocketchat:
    image: rocketchat/rocket.chat:latest
    environment:
      MONGO_URL: mongodb://db:27017/rocketchat
      ROOT_URL: http://sub.mydomain.fr
      Accounts_UseDNSDomainCheck: "true"
      MAIL_URL: smtp://[email protected]
      Accounts_UseDNSDomainCheck: "false"
      VIRTUAL_HOST: sub.mydomain.fr
      LETSENCRYPT_HOST: sub.mydomain.fr
      LETSENCRYPT_EMAIL: [email protected]
    links:
      - db:db
    ports:
      - 3000:3000
    restart: always
  hubot:
    # doesnt matter for now
networks:
    default:
       external:
         name: mywebproxy

docker-compose-yml for the proxy

version: '3.3'
services:
  nginx-web:
    image: nginx
    labels:
        com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
    container_name: ${NGINX_WEB}
    restart: always
    ports:
      - "${IP}:80:80"
      - "${IP}:443:443"
    volumes:
      - ${NGINX_FILES_PATH}/conf.d:/etc/nginx/conf.d
      - ${NGINX_FILES_PATH}/vhost.d:/etc/nginx/vhost.d
      - ${NGINX_FILES_PATH}/html:/usr/share/nginx/html
      - ${NGINX_FILES_PATH}/certs:/etc/nginx/certs:ro
      - ${NGINX_FILES_PATH}/htpasswd:/etc/nginx/htpasswd:ro

  nginx-gen:
    image: jwilder/docker-gen
    command: -notify-sighup ${NGINX_WEB} -watch -wait 5s:30s /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf
    container_name: ${DOCKER_GEN}
    restart: always
    volumes:
      - ${NGINX_FILES_PATH}/conf.d:/etc/nginx/conf.d
      - ${NGINX_FILES_PATH}/vhost.d:/etc/nginx/vhost.d
      - ${NGINX_FILES_PATH}/html:/usr/share/nginx/html
      - ${NGINX_FILES_PATH}/certs:/etc/nginx/certs:ro
      - ${NGINX_FILES_PATH}/htpasswd:/etc/nginx/htpasswd:ro
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - ./nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro

  nginx-letsencrypt:
    image: jrcs/letsencrypt-nginx-proxy-companion
    container_name: ${LETS_ENCRYPT}
    restart: always
    volumes:
      - ${NGINX_FILES_PATH}/conf.d:/etc/nginx/conf.d
      - ${NGINX_FILES_PATH}/vhost.d:/etc/nginx/vhost.d
      - ${NGINX_FILES_PATH}/html:/usr/share/nginx/html
      - ${NGINX_FILES_PATH}/certs:/etc/nginx/certs:rw
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      NGINX_DOCKER_GEN_CONTAINER: ${DOCKER_GEN}
      NGINX_PROXY_CONTAINER: ${NGINX_WEB}

networks:
  default:
    external:
      name:mywebproxy

Any idea? I think that could be a great thing to have a working way of doing this for everyone. It would facilitate a lot for people wanting to run RocketChat along other services (a website/a cloud) that run via Docker.

RocketChat Dockerfile Build Issues

I dont know if im just so bad at this but here's my issue:
Im trying to build my own image of RocketChat so that i can push updates to it and re create images for Production

In this case im using this rocketchat repository that I can edit and then build from it, but it doesnt work.

Here is the repo im using: https://github.com/RocketChat/Rocket.Chat

Now i want to build with Dockerfile which is like this:

FROM rocketchat/base:8

ADD . /app
MAINTAINER [email protected]

RUN set -x \
&&  cd app/bundle/programs/server \
&&  npm install \
&&  npm cache clear --force \
&&  chown -R rocketchat:rocketchat /app

VOLUME /app/uploads

USER rocketchat

WORKDIR /app/bundle

ENV DEPLOY_METHOD=docker \
    MONGO_URL=mongodb://mongo-test:27017/rocket \
    HOME=/tmp \
    PORT=3000 \
    ROOT_URL=http://localhost:3000 \
    Accounts_AvatarStorePath=/app/uploads

EXPOSE 3000

CMD ["node", "main.js"]

And the problem is that i dont know where its building from since i modify the Dockerfile which is located in ".docker" and i build with:
docker build -t rocketchat:custom -f .docker/Dockerfile .

the output is always the same:

Step 1/10 : FROM rocketchat/base:8
 ---> 1dc2a21e1890
Step 2/10 : ADD . /app
 ---> b71e563c6065
Step 3/10 : MAINTAINER [email protected]
 ---> Running in bca3ee37f262
Removing intermediate container bca3ee37f262
 ---> 4c53e4e67565
Step 4/10 : RUN set -x &&  cd app/bundle/programs/server &&  npm install &&  npm cache clear --force &&  chown -R rocketchat:rocketchat /app
 ---> Running in efff8d296304
+ cd app/bundle/programs/server
/bin/sh: 1: cd: can't cd to app/bundle/programs/server
The command '/bin/sh -c set -x &&  cd app/bundle/programs/server &&  npm install &&  npm cache clear --force &&  chown -R rocketchat:rocketchat /app' returned a non-zero code: 2

While using ls in the Dockerfile, I see that there is no bundle directory so it cannot cd into it, but i dont know why its not building it.
Thanks in advance!

MongoError: not master and slaveOk=false

This is #50 , which was closed w/o a fix.

Trying to use RocketChat which uses Mongo 4.0. I've used MySQL for over 20 years and it's amazing. People also love Postgress. Redis is rock solid. I've used Mongo in production; it's total crap.

Exception in setInterval callback: { MongoError: not master and slaveOk=false

MongoError: not master and slaveOk=false

I'm trying to make RocketChat work with a MongoDB replicaset, but I get the following error:

Exception in callback of async function: MongoError: not master and slaveOk=false

    at Function.MongoError.create (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/error.js:31:11)

    at queryCallback (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/cursor.js:212:36)

    at /app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/pool.js:469:18

    at _combinedTickCallback (internal/process/next_tick.js:131:7)

    at process._tickDomainCallback (internal/process/next_tick.js:218:9)

Exception in setInterval callback: MongoError: not master

    at Function.MongoError.create (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/error.js:31:11)

    at /app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/pool.js:497:72

    at authenticateStragglers (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/pool.js:443:16)

    at Connection.messageHandler (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/pool.js:477:5)

    at Socket.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/connection.js:333:22)

    at emitOne (events.js:116:13)

    at Socket.emit (events.js:211:7)

    at addChunk (_stream_readable.js:263:12)

    at readableAddChunk (_stream_readable.js:250:11)

    at Socket.Readable.push (_stream_readable.js:208:10)

    at TCP.onread (net.js:594:20)

Looks like Rocket.Chat don't allow to read from a replica. Would it be possible to change this behaviour?

Direct messages are visible in docker logs

Title says it all. I was checking docker logs when I saw that all messages on the rocketchat instance are logged to stdout in mail format. To be specific, messages are something like this:

rocketchat_1          | ====== BEGIN MAIL #251 ======
rocketchat_1          | (Mail not sent; to enable sending, set the MAIL_URL environment variable.)
rocketchat_1          | Content-Type: text/html; charset=utf-8
rocketchat_1          | To: [redacted for issue]
rocketchat_1          | Subject: [chat.myserver.com] You have been direct messaged by [redacted for issue]
...
[some HTML body with the text of the message in it]
...
rocketchat_1          | ====== END MAIL #251 ======

Is there any way to stop this from happening?

It fails to run on arm64 architecture because of sharp.node

Hi,

With the "fix" mentioned in issue #48, I can successfully build rocket.chat image on arm64 architecture. But when trying to run the image, I got the following exception caused by sharp.node.

$ docker run --name rocketchat -p 80:3000 --env ROOT_URL=http://localhost --link db:db rocket.chat
Note: you are using a pure-JavaScript implementation of bcrypt.
While this implementation will work correctly, it is known to be
approximately three times slower than the native implementation.
In order to use the native implementation instead, run

  meteor npm install --save bcrypt

in the root directory of your application.
Will load cache for users
0 records load from users
Will load cache for rocketchat_room
0 records load from rocketchat_room
Will load cache for rocketchat_subscription
0 records load from rocketchat_subscription
Will load cache for rocketchat_settings
373 records load from rocketchat_settings
Updating process.env.MAIL_URL
Starting Email Intercepter...
Will load cache for rocketchat_permissions
0 records load from rocketchat_permissions
Will load cache for rocketchat_roles
0 records load from rocketchat_roles
Exception in callback of async function: Error: /app/bundle/programs/server/npm/node_modules/sharp/build/Release/sharp.node: cannot open shared object file: No such file or directory
    at Object.Module._extensions..node (module.js:681:18)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/app/bundle/programs/server/npm/node_modules/sharp/lib/constructor.js:10:15)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/app/bundle/programs/server/npm/node_modules/sharp/lib/index.js:3:15)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at npmRequire (/app/bundle/programs/server/npm-require.js:133:10)
    at Module.useNode (packages/modules-runtime.js:697:18)
    at fileEvaluate (packages/modules-runtime.js:342:20)
    at require (packages/modules-runtime.js:238:16)
    at FileUpload.js (packages/rocketchat:file-upload/server/lib/FileUpload.js:1:351)
    at fileEvaluate (packages/modules-runtime.js:343:9)
    at require (packages/modules-runtime.js:238:16)
    at /app/bundle/programs/server/packages/rocketchat_file-upload.js:2252:1
    at /app/bundle/programs/server/packages/rocketchat_file-upload.js:2266:3
    at /app/bundle/programs/server/boot.js:411:36
    at Array.forEach (<anonymous>)
    at /app/bundle/programs/server/boot.js:220:19
    at /app/bundle/programs/server/boot.js:471:5
    at Function.run (/app/bundle/programs/server/profile.js:510:12)
    at /app/bundle/programs/server/boot.js:470:11

The cause is that this sharp.node in meteor bundle is an x86-64 executable file.

$ file bundle/programs/server/npm/node_modules/sharp/build/Release/sharp.node
bundle/programs/server/npm/node_modules/sharp/build/Release/sharp.node: ELF 64-bit LSB  shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f0b3b64efe073fbfdd69b6a2778eb95102b58431, stripped

It seems that we should build this sharp package from source rather than always having a x86-64 binary in there? Thanks.

Shawn

Use alpine versions of node

The official node images are also available as "alpine" versions - please consider using these as base images which would reduce the image size a lot.

Problem with rocketchat mails, smtp send an IP addres in HELO name

HI, first, congratulations for this great proyect.
We have implemented time ago some rocketchat docker stack, with

database image: mongo:3.0
rocketchat image: rocket.chat:latest
https layer: remynoulin/stud

we have a problem for send email with rocketchat, because the mail are arriving to exim4 with "an IP in HELO Name", as can you see in this line of log of our exim service (is in other server external of the docker stack)
2018-04-20 11:43:11 H=xxx.members.linode.com ([127.0.0.1]) [74.xxx.xx.2xx] rejected MAIL [email protected]: Helo name contains a ip address (HELO was [127.0.0.1]) and not is valid

obviously if we comment the ACL in exim4 that reject a mail with an IP in HELO name, this mail is sended OK.

We saw changes in the smtp sections are done little time ago, and keeping in mind that we had worked with this rocketchat image time ago, with our exim smtp server, we tried to dowgrade the rocket chat docker version to rocket.chat:0.50.1 in wich we saw difference in the smtp section (have not "ignore TLS" and "SMTP pool" options) but the mail arrive with the same "an IP in HELO Name".

We think that it can be a missconfiguration in our docker, but we cannot find the solution for this problem.

We launch the dockers in this order

docker run --restart=always --name example-rc-db -v /datos/docker/example/rc-db:/data/db -d mongo:3.0 --smallfiles
docker run --restart=always --name example-rc-chat --link example-rc-db:db -d rocket.chat:0.50.1
docker run --restart=always --name example-rc-stud -p 5443:443 --link example-rc-chat:app -v /datos/docker/example/rc-stud/certs:/opt/certs -d remynoulin/stud

as you can see, we are not exposing the port 3000 of rocketchat, we are only forwarding the 443 port of stud (HTTPS)
The rocketchat is working fine, the HTTPS certificate too, and its connect OK with mongodb, the only problem that we have is that when rocketchat send a mail, include ([127.0.0.1]) in the header, and we dont find any configuration for this.

We'll like to know if somebody more had for this problem and can solve it
THanks a lot
Best regards
Ramiro Polverini - Bantics Cooperativa

imagemagick - graphicsmagick

I just noticed that our image is not complete, it misses this library. Would you like me to PR to add it? should I add imagemagick or graphicsmagick ?

0.62.2 broken (crashes on startup)

Hello,

I got this issue when I switched from 0.61.2 to 0.62.2: RocketChat/Rocket.Chat#10114 (comment)

The cause is a segmentation fault with node js 8.10: nodejs/node#19274

The breaking change is between 0.62.0 and 0.62.1 docker image:

docker run --rm -it library/rocket.chat:0.62.0 node --version
v8.9.4
docker run --rm -it library/rocket.chat:0.62.1 node --version
v8.10.0

Proposed fix: use node version 8.9 as base image.

Improve release process

@tianon @pierreozoux

I'm not sure who to ping here. Pretty much from the start this has been a community maintained repo. Because of that its been a bit hands off and just let things run.

We'd like to get a bit more hands on and assure this image gets the same sort of quality as the one in our own repo.

So we'd really like to understand how exactly the pieces here fit together and how we can improve. I don't know if here is the best way or if via email.

If email is better please shoot me an email aaron.ogle [@] our company domain :)

[question] where is the log file?

I run rocketchat docker container, follow the README and running now.
I am not sure where can I know something like who login, logout event log.
Can it be specify in the command line?
Thanks.

What is the URL for Meteor.connect from a client?

Hi, I'm making a React Native client for Rocket.Chat. I deployed the docker image to an aws ec2 server, following the tutorial .

The web client is now up and running. I can connect to it with the official Mac OS client too. But I'm not sure what is the right URL to connect to with Meteor client, tried

ws:mydomain.com/websocket

but it didn't work.

Update: It seems

https://mydomain.com

Is the right direction, but I'm getting: socketrocket in debug mode allowing connection to any root cert error

unable to install without replica set for MongoDB

Starting In Release 1.0, Rocket.Chat requires the use of MongoDB REPLICASET to improve performance via Meteor Oplog tailing. (See [BREAK] Require OPLOG/REPLICASET to run Rocket.Chat #14227)

the current docker-compose file leads to

rocketchat_1 | ➔ +---------------------------------------------------------------------------+
rocketchat_1 | ➔ | SERVER ERROR |
rocketchat_1 | ➔ +---------------------------------------------------------------------------+
rocketchat_1 | ➔ | |
rocketchat_1 | ➔ | Rocket.Chat Version: 1.0.3 |
rocketchat_1 | ➔ | NodeJS Version: 8.11.4 - x64 |
rocketchat_1 | ➔ | MongoDB Version: 3.2.21 |
rocketchat_1 | ➔ | MongoDB Engine: wiredTiger |
rocketchat_1 | ➔ | Platform: linux |
rocketchat_1 | ➔ | Process Port: 3000 |
rocketchat_1 | ➔ | Site URL: https://chat.flinker-freddy.de |
rocketchat_1 | ➔ | ReplicaSet OpLog: Disabled |
rocketchat_1 | ➔ | Commit Hash: f19473c626 |
rocketchat_1 | ➔ | Commit Branch: HEAD |
rocketchat_1 | ➔ | |
rocketchat_1 | ➔ | OPLOG / REPLICASET IS REQUIRED TO RUN ROCKET.CHAT, MORE INFORMATION AT: |
rocketchat_1 | ➔ | https://go.rocket.chat/i/oplog-required |

I think there is some change to docker-compose.yml nessesary

It doesn't build on arm64 architecture due to Node.js Fibers package

Hi,

I'm trying to do an arm64 native build of rocket.chat docker image. The problem I'm facing is that there is a prebuilt Fibers package for x64, but it has to be built from source on arm64. However, the build fails with -slim node image from which some tools like python are missing.

  • x64 architecture

[email protected] install /app/bundle/programs/server/node_modules/fibers
node build.js || nodejs build.js
linux-x64-57 exists; testing
Binary is fine; exiting

  • arm64 architecture

[email protected] install /app/bundle/programs/server/node_modules/fibers
node build.js || nodejs build.js
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack at PythonFinder.failNoPython (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:483:19)
gyp ERR! stack at PythonFinder. (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:397:16)
gyp ERR! stack at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:68:16)
gyp ERR! stack at E (/usr/local/lib/node_modules/npm/node_modules/which/which.js:80:29)
gyp ERR! stack at /usr/local/lib/node_modules/npm/node_modules/which/which.js:89:16
gyp ERR! stack at /usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:42:5
gyp ERR! stack at /usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe/mode.js:8:5
gyp ERR! stack at FSReqWrap.oncomplete (fs.js:152:21)
gyp ERR! System Linux 4.17.0-rc4-00005-g8f0d93ff4870
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
gyp ERR! cwd /app/bundle/programs/server/node_modules/fibers
gyp ERR! node -v v8.9.4
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
node-gyp exited with code: 1
Please make sure you are using a supported platform and node version. If you
would like to compile fibers on this machine please make sure you have setup your
build environment--
Windows + OS X instructions here: https://github.com/nodejs/node-gyp
Ubuntu users please run: sudo apt-get install g++ build-essential
Alpine users please run: sudo apk add python make g++

It can be successfully built with changing base image from node:8.9-slim to node:8.9 in Dockerfile.

[email protected] install /app/bundle/programs/server/node_modules/fibers
node build.js || nodejs build.js
make: Entering directory '/app/bundle/programs/server/node_modules/fibers/build'
CXX(target) Release/obj.target/fibers/src/fibers.o
CXX(target) Release/obj.target/fibers/src/coroutine.o
CC(target) Release/obj.target/fibers/src/libcoro/coro.o
SOLINK_MODULE(target) Release/obj.target/fibers.node
COPY Release/fibers.node
make: Leaving directory '/app/bundle/programs/server/node_modules/fibers/build'
Installed in /app/bundle/programs/server/node_modules/fibers/bin/linux-arm64-57/fibers.node

But is it the correct fix? Thanks.

Shawn

Docker-compose fails after extracting rocketchat/rocket.chat:latest

Description:

I tried to setup Rocket.Chat with the provided docker-compose.yml file and get an error message after the rocket.chat image got extracted.

Steps to reproduce:

  1. Download docker-compose.yml file from https://github.com/RocketChat/Rocket.Chat/blob/develop/docker-compose.yml
  2. Modify volume paths to fit local directory structure
  3. Do a docker-compose up

Expected behavior:

Images should be downloaded, extracted without errors and then started.

Actual behavior:

After extracting the image rocketchat/rocket.chat:latest I get the message

ERROR: failed to register layer: ApplyLayer exit status 1 stdout:  stderr: lchown /app: invalid argument

Server Setup Information:

  • Version of Rocket.Chat Server: latest. Also tried 1.2.1 but the error remains the same.
  • Operating System: Ubuntu 18.04.2 LTS
  • Deployment Method: docker / docker-compose
  • Number of Running Instances: 1
  • MongoDB Version: mongo:4.0

Relevant logs:

Pulling rocketchat (rocketchat/rocket.chat:latest)...
latest: Pulling from rocketchat/rocket.chat
bc9ab73e5b14: Pull complete
3f117e0d3349: Pull complete
29f0971335c1: Pull complete
a717aa7e730b: Pull complete
0a2d97db0648: Pull complete
964c6c38250f: Pull complete
2e372371e9f6: Extracting [==================================================>]  143.6MB/143.6MB
ERROR: failed to register layer: ApplyLayer exit status 1 stdout:  stderr: lchown /app: invalid argument

Info

I've created an issue at the Rocket.Chat repository at RocketChat/Rocket.Chat#14914 and noticed that this issue is better located here since it is related to the docker image specifically. I will close the other issue after this has been created.

Exception in callback of async function: Error: [Can't find migration version 143]

Can't find migration version 143

I just pulled a new docker image and I see the age-old recurrent error: Can't find migration version 143; my Mongo version does show it's 143:

{ "_id" : "control", "version" : 143, "locked" : true, "lockedAt" : ISODate("2019-05-09T00:29:47.791Z"), "buildAt" : "2018-06-21T18:28:04.858Z" }

Here's the log:

Exception in callback of async function: Error: [Can't find migration version 143]--
  | at Object.Migrations._findIndexByVersion (/app/bundle/programs/server/packages/rocketchat_migrations.js:405:8)
  | at Object.Migrations._migrateTo (/app/bundle/programs/server/packages/rocketchat_migrations.js:272:22)
  | at Object.Migrations.migrateTo (/app/bundle/programs/server/packages/rocketchat_migrations.js:201:20)
  | at meteorInstall.server.startup.migrations.xrun.js (/app/bundle/programs/server/app/app.js:5229:24)
  | at fileEvaluate (packages/modules-runtime.js:197:9)
  | at require (packages/modules-runtime.js:120:16)
  | at /app/bundle/programs/server/app/app.js:10077:1
  | at /app/bundle/programs/server/boot.js:303:34
  | at Array.forEach (native)
  | at Function._.each._.forEach (/app/bundle/programs/server/node_modules/underscore/underscore.js:79:11)
  | at /app/bundle/programs/server/boot.js:128:5
  | at /app/bundle/programs/server/boot.js:352:5
  | at Function.run (/app/bundle/programs/server/profile.js:510:12)
  | at /app/bundle/programs/server/boot.js:351:11

ImageMagick or GraphicsMagick can not be found

I have got Rocket.Chat up and running on Plesk Onyx (ubuntu 16.04.3) using the docker system by running these commands.

docker run --name db -d mongo:3.0 --smallfiles

docker run --name rocketchat --link db -d rocket.chat

Everything is working accept the Avatar Resize which is giving and error:
'The image resize will not work because we can not detect ImageMagick or GraphicsMagick installed on your server.'

I have both installed on the server but for some reason it's not being detected by Rocket.Chat.

Am I missing something?

2018-01-07_01-00-42

The other issue I get is when I go into the docker settings I have to change Accounts_AvatarStorePath to ACCOUNTS_AVATARSOREPATH and remove Accounts_AvatarStorePath otherwize I get an error about lowercase letters.

Can't find migration version 128

It appears that my instance of watchtower has automagically updated my RocketChat instance to the latest version.

Now it wont launch because of a missing database migration.

Will load cache for users
5 records load from users
Will load cache for rocketchat_room
5 records load from rocketchat_room
Will load cache for rocketchat_subscription
14 records load from rocketchat_subscription
Will load cache for rocketchat_settings
720 records load from rocketchat_settings
Updating process.env.MAIL_URL
Will load cache for rocketchat_permissions
80 records load from rocketchat_permissions
Will load cache for rocketchat_roles
11 records load from rocketchat_roles
Starting Email Intercepter...
Warning: connect.session() MemoryStore is not
designed for a production environment, as it will leak
memory, and will not scale past a single process.
LocalStore: store created at
LocalStore: store created at
LocalStore: store created at
Setting default file store to GridFS
Thu, 21 Jun 2018 16:07:28 GMT connect deprecated multipart: use parser (multiparty, busboy, formidable) npm module instead at npm/node_modules/connect/lib/middleware/bodyParser.js:56:20
Thu, 21 Jun 2018 16:07:28 GMT connect deprecated limit: Restrict request size at location of read at npm/node_modules/connect/lib/middleware/multipart.js:86:15
Exception in callback of async function: Error: [Can't find migration version 128]
    at Object.Migrations._findIndexByVersion (/app/bundle/programs/server/packages/rocketchat_migrations.js:435:9)
    at Object.Migrations._migrateTo (/app/bundle/programs/server/packages/rocketchat_migrations.js:300:25)
    at Object.Migrations.migrateTo (/app/bundle/programs/server/packages/rocketchat_migrations.js:227:23)
    at xrun.js (/app/bundle/programs/server/app/app.js:7213:25)
    at fileEvaluate (packages/modules-runtime.js:343:9)
    at require (packages/modules-runtime.js:238:16)
    at /app/bundle/programs/server/app/app.js:12922:1
    at /app/bundle/programs/server/boot.js:411:36
    at Array.forEach (<anonymous>:null:null)
    at /app/bundle/programs/server/boot.js:220:19
    at /app/bundle/programs/server/boot.js:471:5
    at Function.run (/app/bundle/programs/server/profile.js:510:12)
    at /app/bundle/programs/server/boot.js:470:11

Can I run the migration manually somehow, and how do I avoid this happening in the future?

My docker-compose.yml for context:

version: '2'

services:
  rocketchat:
    image: rocketchat/rocket.chat:latest
    restart: unless-stopped
    volumes:
      - ./uploads:/app/uploads
    environment:
      - PORT=3000
      - ROOT_URL=<snip>
      - MONGO_URL=mongodb://mongo:27017/rocketchat
      - MONGO_OPLOG_URL=mongodb://mongo:27017/local
    depends_on:
      - mongo
    ports:
      - 3000:3000
    networks:
    - proxy
    labels:
    - "traefik.enable=true"
    - "traefik.backend=rocketchat"
    - "traefik.frontend.rule=Host:<snip>"
    - "traefik.docker.network=reverseproxy_default"

  mongo:
    image: mongo:3.2
    restart: unless-stopped
    volumes:
     - ./data/db:/data/db
    command: mongod --smallfiles --oplogSize 128 --replSet rs0 --storageEngine=mmapv1
    labels:
      - "traefik.enable=false"
    networks:
    - proxy

networks:
  proxy:
    external:
      name: reverseproxy_default

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.