Add Simplex SMP (#540)

* Add SimpleX Chat

* Update description.md

* Update docker-compose.yml

* Final Fixes and Instructions

* Update description.md
This commit is contained in:
DrMxrcy 2023-05-17 15:20:54 -04:00 committed by GitHub
parent 3e21db7c8a
commit 08195652b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 76 additions and 0 deletions

View File

@ -0,0 +1,26 @@
{
"$schema": "../schema.json",
"name": "SimpleX SMP",
"port": 5223,
"available": true,
"exposable": true,
"no_gui": true,
"id": "simplex-smp",
"tipi_version": 1,
"version": "v5.1.0",
"categories": ["social"],
"description": "A reference implementation of the SimpleX Messaging Protocol for simplex queues over public networks.",
"short_desc": "A reference implementation of the SimpleX Messaging Protocol for simplex queues over public networks.",
"author": "Simplex Team",
"source": "https://github.com/simplex-chat/simplexmq",
"form_fields": [
{
"type": "password",
"label": "SMP Password",
"max": 50,
"min": 3,
"required": true,
"env_variable": "SIMPLEX_SMP_PASSWORD"
}
]
}

View File

@ -0,0 +1,22 @@
version: '3.9'
services:
simplex-smp:
image: simplexchat/smp-server:v5.1.0
container_name: simplex-smp
volumes:
- ${APP_DATA_DIR}/data/simplex/logs:/var/opt/simplex:z
- ${APP_DATA_DIR}/data/simplex/config:/etc/opt/simplex:z
ports:
- ${APP_PORT}:5223
environment:
- PASS=${SIMPLEX_SMP_PASSWORD}
- ADDR=${APP_DOMAIN}
networks:
- tipi_main_network
labels:
traefik.enable: ${APP_EXPOSED}
traefik.http.routers.simplex.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.simplex.entrypoints: websecure
traefik.http.routers.simplex.service: simplex
traefik.http.routers.simplex.tls.certresolver: myresolver
traefik.http.services.simplex.loadbalancer.server.port: 5223

View File

@ -0,0 +1,28 @@
## Initial Setup
To get the SMP Server Address
1. SSH into your Tipi Server
2. Run `sudo docker logs simplex-smp 2>&1 | grep "Server address:" ` to find out the SMP Server Address.
---
📢 SimpleXMQ v1 is released - with many security, privacy and efficiency improvements, new functionality - see [release notes](https://github.com/simplex-chat/simplexmq/releases/tag/v1.0.0).
**Please note**: v1 is not backwards compatible, but it has the version negotiation built into all protocol layers for forwards compatibility of this version and backwards compatibility of the future versions, that will be backwards compatible for at least two versions back.
If you have a server deployed please deploy a new server to a new host and retire the previous version once it is no longer used.
## [](https://github.com/simplex-chat/simplexmq#message-broker-for-unidirectional-simplex-queues)Message broker for unidirectional (simplex) queues
SimpleXMQ is a message broker for managing message queues and sending messages over public network. It consists of SMP server, SMP client library and SMP agent that implement [SMP protocol](https://github.com/simplex-chat/simplexmq/blob/stable/protocol/simplex-messaging.md) for client-server communication and [SMP agent protocol](https://github.com/simplex-chat/simplexmq/blob/stable/protocol/agent-protocol.md) to manage duplex connections via simplex queues on multiple SMP servers.
SMP protocol is inspired by [Redis serialization protocol](https://redis.io/topics/protocol), but it is much simpler - it currently has only 10 client commands and 8 server responses.
SimpleXMQ is implemented in Haskell - it benefits from robust software transactional memory (STM) and concurrency primitives that Haskell provides.
## [](https://github.com/simplex-chat/simplexmq#simplexmq-roadmap)SimpleXMQ roadmap
- SimpleX service protocol and application template - to enable users building services and chat bots that work over SimpleX protocol stack. The first such service will be a notification service for a mobile app.
- SMP queue redundancy and rotation in SMP agent connections.
- SMP agents synchronization to share connections and messages between multiple agents (it would allow using multiple devices for [simplex-chat](https://github.com/simplex-chat/simplex-chat)).

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB