Open groups are Session group chat servers that can host many thousands of chat participants. This guide explains how to set up a Session open group.
Note: Open groups provide transit encryption, but open group messages are not encrypted while stored on the open group server, making closed groups (which can be created within Session itself) a better solution for high-security communications with groups of 100 or less people.
Open groups are based on an express REST API for serving persistent-history public chat rooms. Open groups are unlimited in size, as they are hosted by your own server. Please be aware these are public groups, and highly sensitive private information should not be shared in this group format.
Open group servers are run by 2 daemons: the platform server, providing an ADN standard REST API, and another daemon with Session-specific behaviors (crypto-key registration and enhanced moderation functions).
A hosting solution with a public IP address
A working DNS hostname that points to your public IP address.
An email address (required by LetsEncrypt)
At least 4GB of free disk space and 512MB of RAM on the host machine (an open group server may run with less resources, but you may attempt to do so at your own risk)
For non-Debian-based installation instructions of Docker: https://docs.docker.com/v17.12/install/#server
Use this guide for additional troubleshooting help: https://docs.docker.com/v17.12/install/linux/docker-ce/debian/#set-up-the-repository or https://docs.docker.com/v17.12/install/linux/docker-ce/ubuntu/
sudo apt-get remove docker docker-engine docker.io
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get install docker-ce
To check to make sure it's all working:
docker run hello-world
curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod u+x /usr/local/bin/docker-compose
git clone https://github.com/loki-project/session-open-group-server.git
git submodule init
git submodule update
chmod 600 docker/acme.json
cp loki_template.ini loki.ini
echo "PUBKEY=true" >> loki.ini (replacing PUBKEY with your public key)
[email protected] with your email address and
yourssl.domain.tld with your public facing hostname. These are required for getting an SSL certification from LetsEncrypt, which we will attempt to do automatically for you.
[email protected] DOMAIN=yourssl.domain.tld docker-compose up -d
Make sure you're in the
[email protected] DOMAIN=yourssl.domain.tld docker-compose down to stop it from running
git pull to grab the latest source and configs
git submodule init to grab any submodule changes
git submodule update to grab any platform/nodepomf changes
[email protected] DOMAIN=yourssl.domain.tld docker-compose build to update the local docker images
[email protected] DOMAIN=yourssl.domain.tld docker-compose up -d to restart the server
If something in this guide doesn't make sense, or if you’re running into issues that you can’t identify on your own, the first place to go would be the Oxen Discord. Alternatively, you can find help on our other communication channels: Telegram, Twitter, or Reddit.
If you've sought help through our communication channels but have not arrived at a solution for your issue, we recommend opening an issue ticket on the Session public server GitHub repository.