Added README.md
This commit is contained in:
parent
75a2512438
commit
51aa549048
73
README.md
Normal file
73
README.md
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
# TORch Subscriber Docker Compose
|
||||||
|
|
||||||
|
This is a [Docker Compose](https://docs.docker.com/compose/) project for assembling a service to receive TORch notifications from remote clients and store them for access via RESTful interface.
|
||||||
|
|
||||||
|
It is composed of the following micro-services:
|
||||||
|
* Tor proxy - for receving notifications from remote TORch clients via Tor
|
||||||
|
* Broker - for managing publications and subscriptions
|
||||||
|
* Torchsub - for receiving notifications, maintaining a database of the latest connection info for each remote note and serving them via HTTP
|
||||||
|
|
||||||
|
## Running
|
||||||
|
|
||||||
|
1. Create an `.env` file based on [`.env.example`](.env.example)
|
||||||
|
|
||||||
|
* CONFIG_DIR: points to the local configuration directory for the broker and torchsub micro-services
|
||||||
|
|
||||||
|
* BROKER_MQTT_PORT: must match the port that you configured mosquitto to listen for MQTT on
|
||||||
|
|
||||||
|
* BROKER_MQTTS_PORT: must match the port that you configured mosquitto to listen for MQTTS on
|
||||||
|
|
||||||
|
* HTTP_PORT: the port that you would like Torchsub to listen on for incoming HTTP-REST requests for client connection info
|
||||||
|
|
||||||
|
2. Create the local configuration directory pointed to by `.env`
|
||||||
|
|
||||||
|
1. Create [Mosquitto](https://mosquitto.org/man/mosquitto-conf-5.html) configuration files
|
||||||
|
|
||||||
|
* Create a `mosquitto.conf` based on the [example](example-config/mosquitto.conf)
|
||||||
|
|
||||||
|
* Add applicable `ca.crt`, key and/or broker certificate files as applicable for the mosquitto configuration
|
||||||
|
|
||||||
|
2. Create a `torch-sub.conf` per the [torch-subscriber-simple](https://git.rudefox.io/bj/torch-subscriber-simple) project
|
||||||
|
|
||||||
|
* Add applicable `ca.crt`, key and/or broker certificate files as applicable for the `torch-sub.conf` configuration
|
||||||
|
|
||||||
|
3. Run `docker-compose up -d` from the project directory to launch the services
|
||||||
|
|
||||||
|
4. Get the Tor onion hostname of your newly launched TORch node monitor
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ docker-compose exec tor svc-hostname
|
||||||
|
*****
|
||||||
|
* Service Onion Hostname: 24xb3hb2pajid44ugroua2ndvpipvmuw6pfjrivlbupxhpwbugfhdeqd.onion
|
||||||
|
*****
|
||||||
|
```
|
||||||
|
|
||||||
|
5. Configure any remote [TORch agent](https://git.rudefox.io/bj/torch-agent) instances with the above onion hostname by editing their `torch.conf` files
|
||||||
|
|
||||||
|
* Set `BrokerHost` to the Tor onion hostname
|
||||||
|
|
||||||
|
* Set `BrokerPort` to the Mosquitto MQTT broker port you used above (ex. `1883`)
|
||||||
|
|
||||||
|
* You should set `RequiredCertificate` to `false` because torch-agent won't be able to match the broker's certificate to the Tor onion hostname
|
||||||
|
|
||||||
|
* Be sure to match the `Topic` with the pattern you told Torchsub to subscribe to when you configured Torchsub using `torch-sub.conf` above
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Example TORch Agent torch.conf configuration
|
||||||
|
|
||||||
|
[tor]
|
||||||
|
ControllerPort = 9051
|
||||||
|
|
||||||
|
[ssh]
|
||||||
|
Port = 22
|
||||||
|
|
||||||
|
[mqtt]
|
||||||
|
BrokerHost = 7v4jfonpcvvv4cy32po3uwqr56hvjag6ljpauennshecmzv4deq27lyd.onion
|
||||||
|
BrokerPort = 1883
|
||||||
|
ClientID = vagrant
|
||||||
|
Topic = torch/vagrant/wake
|
||||||
|
RequireCertificate = false
|
||||||
|
CaFile = ca.crt
|
||||||
|
CertFile = vagrant.crt
|
||||||
|
KeyFile = vagrant.key
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user