Official Repository

Last pushed: 9 days ago
Short Description
The Complete Open Source Chat Solution
Full Description

Supported tags and respective Dockerfile links

Quick reference

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.

How to use this image

First, start an instance of mongo:

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

Then start Rocket.Chat linked to this mongo instance:

$ docker run --name rocketchat --link 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 -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

License

View license information for the software contained in this image.

Docker Pull Command

Comments (12)
federico87
a month ago

Using the following command to run rocket.chat

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

However I get connection reset and I am not able to access via Internet (is ok via local IP)
Any idea?

michieltjuh11
6 months ago

For people struggling with getting mongoDB to work error:

chown: cannot dereference '/proc/1/fd/1': Permission denied
chown: cannot dereference '/proc/1/fd/2': Permission denied
about to fork child process, waiting until server is ready for connections.
forked process: 18
ERROR: child process failed, exited with error number 1

issue: 164
use for the db container instead the 3.2 image:

$ docker run --name db -d mongo:3.2 --smallfiles
mduda
8 months ago

@singli how to modify hubot .coffee files? I have to add API keys.

lupa18
a year ago

This is not working for us. We use this instead: https://hub.docker.com/r/rocketchat/rocket.chat/

jameshowe
2 years ago

Trying to run the above example on OSX El Capitan, ran the port forwarding example 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": "rocketchat",
            "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 :(

dlfryar
2 years ago

The --link syntax needs to be updated to add the alias

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

kuhnn
2 years ago

Hi,I pull the images and run the container,but the website cannot open .
Please make sure if it can use.TKS

singli
2 years ago

@carteraj - there is absolutely no need to use terminal access or change anything inside the running container to get HTTPS proxy configured. Please see our wiki for an example (modifiable to use this image) https://github.com/RocketChat/Rocket.Chat/wiki/Docker---Ubuntu-with-Nginx-SSL-and-Hubot

If you need any further help, come visit as at https://demo.rocket.chat/ - a member of the core team or community will be glad to assist you.

carteraj
2 years ago

How can we configure things like HTTPS proxy (or make other changes that require terminal access). I'm having trouble figuring out how to make any changes from within the container - the sticking point is that it requires terminal access. I would love to make this HTTPS so that I feel comfortable using it in my environment. Thanks!

engelgabriel
2 years ago

Check-out the demo deployment at https://demo.rocket.chat