100 lines
3.5 KiB
Markdown
100 lines
3.5 KiB
Markdown
![example workflow](https://github.com/nielsandriesse/session-open-group-server/actions/workflows/check.yml/badge.svg)
|
|
|
|
[API Documentation](https://github.com/nielsandriesse/session-open-group-server/blob/main/DOCUMENTATION.md)
|
|
|
|
[CLI Reference](https://github.com/nielsandriesse/session-open-group-server/blob/main/CLI.md)
|
|
|
|
Want to build from source? See [BUILDING.md](https://github.com/nielsandriesse/session-open-group-server/blob/main/BUILDING.md).
|
|
Want to deploy using Docker? See [DOCKER.md](https://github.com/nielsandriesse/session-open-group-server/blob/main/DOCKER.md).
|
|
|
|
## Installation Instructions
|
|
|
|
### [Video Guide](https://www.youtube.com/watch?v=D83gKXn6iTI)
|
|
|
|
**Note:** .debs for the Session Open Group server are currently only available for Ubuntu 20.04.
|
|
For other operating systems, you can either [build from source](https://github.com/nielsandriesse/session-open-group-server/blob/main/BUILDING.md) or use [Docker](https://github.com/nielsandriesse/session-open-group-server/blob/main/DOCKER.md).
|
|
|
|
### Step 1: Pull in the Session open group server executable:
|
|
|
|
```
|
|
sudo curl -so /etc/apt/trusted.gpg.d/oxen.gpg https://deb.oxen.io/pub.gpg
|
|
echo "deb https://deb.oxen.io $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/oxen.list
|
|
sudo apt update
|
|
sudo apt install session-open-group-server
|
|
sudo chown _loki /var/lib/session-open-group-server -R
|
|
```
|
|
|
|
### Step 2: Add a room
|
|
|
|
Add a room of your choice with the following command:
|
|
|
|
```
|
|
session-open-group-server --add-room {room_id} {room_name}
|
|
```
|
|
|
|
`room_id` must be lowercase and consist of only letters, numbers and underscores.
|
|
|
|
For **example**:
|
|
|
|
```
|
|
session-open-group-server --add-room fish FishingAustralia
|
|
```
|
|
|
|
### Step 3: Print your server's URL
|
|
|
|
Print the URL users can use to join rooms on your open group server by running:
|
|
|
|
```
|
|
session-open-group-server --print-url
|
|
```
|
|
|
|
This will output a result similar to:
|
|
|
|
```
|
|
http://[host_name_or_ip]/[room_id]?public_key=2054fa3271f27ec9e55492c85d022f9582cb4aa2f457e4b885147fb913b9c131
|
|
```
|
|
|
|
You will need to replace `[host_name_or_ip]` with the IP address of your VPS or the domain mapping to your IP address, and `[room_id]` with the ID of one of the rooms you created earlier.
|
|
|
|
For **example**:
|
|
|
|
```
|
|
http://116.203.217.101/fish?public_key=2054fa3271f27ec9e55492c85d022f9582cb4aa2f457e4b885147fb913b9c131
|
|
```
|
|
|
|
This URL can then be used to join the group inside the Session app.
|
|
|
|
### Step 4: Make yourself a moderator
|
|
|
|
Make yourself a moderator using the following command:
|
|
|
|
```
|
|
session-open-group-server --add-moderator {your_session_id} {room_id}
|
|
```
|
|
|
|
For **example**:
|
|
|
|
```
|
|
session-open-group-server --add-moderator 05d871fc80ca007eed9b2f4df72853e2a2d5465a92fcb1889fb5c84aa2833b3b40 fish
|
|
```
|
|
|
|
|
|
### Step 5: Add an image for your new room (Optional)
|
|
|
|
- Add your room on Session desktop using the URL printed earlier
|
|
- Use Session desktop to upload a picture for your room
|
|
|
|
Or
|
|
|
|
- Upload a JPG to your VPS
|
|
- Put it in `/var/lib/session-open-group-server/files`
|
|
- Rename it to `{room_id}` (no file extension)
|
|
|
|
## Customization
|
|
|
|
The default options the Session open group server runs with should be fine in most cases, but if you like you can run on a custom port or host, specify the path to the X25519 key pair you want to use, etc. To do this, simply add [the right arguments](https://github.com/nielsandriesse/session-open-group-server/blob/main/BUILDING.md#step-3-run-it) to the `ExecStart` line in your systemd service file (normally located under `/etc/systemd/system`) and restart your service using:
|
|
|
|
```
|
|
systemctl restart session-open-group-server.service
|
|
```
|