62 lines
3.0 KiB
Markdown
62 lines
3.0 KiB
Markdown
# Requirements
|
|
- Hosting with a public IP address
|
|
- make sure you have a working DNS hostname that points to your public IP address.
|
|
- an email address (LetsEncrypt requires this)
|
|
- We recommend you have at least 4GB of free disk space and 512mb of ram (it may runs with less but use at your own risk)
|
|
|
|
# Installation
|
|
|
|
## 1. Install docker (debian)
|
|
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/
|
|
### remove any possibly previously installed docker installations
|
|
`sudo apt-get remove docker docker-engine docker.io`
|
|
### install official docker repo
|
|
- `sudo apt-get update`
|
|
- `sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common`
|
|
#### For Debian
|
|
- `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"`
|
|
#### For Ubuntu
|
|
- `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"`
|
|
### install and test docker
|
|
- `apt-get update`
|
|
- `sudo apt-get install docker-ce`
|
|
- To check to make sure it's all working: `docker run hello-world`
|
|
|
|
## 2. Install docker-compose
|
|
|
|
### create docker-compose script
|
|
`curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose`
|
|
### make sure it's executable
|
|
`chmod u+x /usr/local/bin/docker-compose`
|
|
|
|
## 3. Install SOGS
|
|
- `git clone https://github.com/loki-project/session-open-group-server.git`
|
|
### install SOGS git submodules
|
|
- `cd session-open-group-server`
|
|
- `git submodule init`
|
|
- `git submodule update`
|
|
### make sure permissions on acme.json is correct
|
|
`chmod 600 docker/acme.json`
|
|
### set up config
|
|
- `cp loki_template.ini loki.ini`
|
|
### Give your Session ID moderator access
|
|
- replace PUBKEY with your Session ID and run `echo "PUBKEY=true" >> loki.ini`
|
|
### start it
|
|
Replace `your@email.tld` 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 automatically do for you.
|
|
|
|
`EMAIL=your@email.tld DOMAIN=yourssl.domain.tld docker-compose up -d`
|
|
|
|
# Upgrade instruction
|
|
- make sure you're in the `loki-messenger-public-server` directory
|
|
- `EMAIL=your@email.tld 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=your@email.tld DOMAIN=yourssl.domain.tld docker-compose build` to update the local docker images
|
|
- `EMAIL=your@email.tld DOMAIN=yourssl.domain.tld docker-compose up -d` to restart the server
|