simplex-chat / simplexmq

⚙️ SimpleXMQ - A reference implementation of the SimpleX Messaging Protocol for simplex queues over public networks.
https://simplex.chat
GNU Affero General Public License v3.0
544 stars 62 forks source link

Improve documentation with docker compose example. #1301

Open eric72777 opened 2 months ago

eric72777 commented 2 months ago

I think it would be helpful to have a docker compose example for users. It may be simpler than the docker run example. If you think a docker compose suggestion would be helpful, I provided some recommended documentation for the README.md below:

Deploy SMP/XFTP servers on Linux

Docker Compose

Create a directory of your choice (e.g. ./simplexchat) to hold the compose.yml file.

mkdir ./simplexchat
cd ./simplexchat

Create a compose.yml file with the following contents. Change 1) your_ip_or_domain in both containers 2) "PASS=password" This password cannot contain special characters and 3) maximum_storage to a value such as 2GB.

---
name: simplex
services:
  simplex.smp:
    container_name: simplex.smp
    environment:
      - ADDR=your_ip_or_domain
      - PASS=password
    ports:
      - 5223:5223
    volumes:
      - ./simplex/smp/config:/etc/opt/simplex:z
      - ./simplex/smp/logs:/var/opt/simplex:z
    image: simplexchat/smp-server:latest
    restart: unless-stopped
  simplex.xftp:
    container_name: simplex.xftp
    environment:
      - ADDR=your_ip_or_domain
      - QUOTA=maximum_storage
    ports:
      - 443:443
    volumes:
      - ./simplex/xftp/config:/etc/opt/simplex-xftp:z
      - ./simplex/xftp/logs:/var/opt/simplex-xftp:z
      - ./simplex/xftp/files:/srv/xftp:z
    image: simplexchat/xftp-server:latest
    restart: unless-stopped

Then while in the same folder as the compose.yml run:

docker compose up

Once the container is running, you can find the smp and xftp server address: by viewing the docker logs.

docker logs simplex.smp
docker logs simplex.xftp