spantaleev / matrix-docker-ansible-deploy

🐳 Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker
GNU Affero General Public License v3.0
4.89k stars 1.04k forks source link

Request to add signal bridge #638

Closed seanfarley closed 3 years ago

seanfarley commented 4 years ago

This is such a great project and has really helped me a lot; thanks so much!

I was hoping to get some help in adding a signal bridge to this ansible deploy: https://github.com/witchent/matrix-puppet-signal

I'm not adverse to trying my hand at this but some guidance would be greatly appreciated!

spantaleev commented 4 years ago

Hey! Thanks for looking into getting Signal bridging working for us!

I guess the first step is to make a Docker image for this bridge, if one is not available already.

You can then copy/paste one of our other bridge roles (see the roles/ directory). Perhaps another mx-puppet-.. will be most similar to this and a good base.

The new role should be plugged into setup.yml as well.

In addition to the default role configuration (roles/.../defaults/main.yml), the Ansible playbook overrides some variables in group_vars/matrix_servers. Make sure to create a block for your new role there.

seanfarley commented 4 years ago

Ok, thanks for the info! I can't promise I'll be quick on this 😰 but I'll try to take a crack!

gjelsas commented 4 years ago

Hey there, same here: I like a signal bridge!

What I've done so far is using this Dockerfile, to create an Image: (clone repo cd into it and create Image) git clone https://github.com/icewind1991/matrix-puppet-signal-docker.git cd matrix-puppet-signal docker build -t matrix-signal-puppet . <- beware the dot at the end! Then create a config.json at the folder you're in with

{ "registrationPath": "signal-registration.yaml", "port": 8090, "bridge": { "homeserverUrl":"https://your.home.server", "domain": "your.home.server", "registration": "signal-registration.yaml" }, "sendReadReceipts": true, "sendTypingEvents": true, "phoneNumber": "+123456789" } Follow the instructions on the Icewind1991 Page but with your own image like this: docker run -it --rm -v $(pwd)/config.json:/conf/config.json -v $(pwd)/data:/data matrix-signal-puppet link Scan the QR code with signal on your phone to finish registration Run this to generate the content of yoursignal-registration.yaml docker run -it --rm -v $(pwd)/config.json:/conf/config.json matrix-signal-puppet registration "http://your.home.server" The last lines of this commands output (e.G. starting with: id:XXXXXXXXXXXXXXXXXXXXXXXXX) should be written to the signal-registration.yamlfile you have to create at the folder you're in.

Here I executed the steps from: https://paste.sr.ht/~e-v/e34a498ecce0fa2b7f7d6d16c7adb01cf072d014 mkdir /matrix/matrix-signal ln -s /path/to/signal-bridge/signal-registration.yaml \ /matrix/matrix-signal/signal-registration.yaml On the client (the computer you've downloaded the Ansible playbook to), add the following lines to the inventory/host_vars/[hostname]/vars.yml file:

matrix_synapse_container_additional_volumes:
  - src: /matrix/matrix-signal/signal-registration.yaml
    dst: /matrix-signal/signal-registration.yaml
    options: ro

matrix_synapse_app_service_config_files:
  - /matrix-signal/signal-registration.yaml

Then run the following command to start the container with the bridge: docker run -it --rm -v $(pwd)/config.json:/conf/config.json -v $(pwd)/signal-registration.yaml:/conf/signal-registration.yaml -v $(pwd)/data:/data --name matrix-signal-puppet matrix-signal-puppet To run the container continuously change the -itto -d

I'm able to receive messages but not always to send them right now, but maybe thats just on my server a Problem...

univdet23 commented 4 years ago

@gjelsas Thank you for the instructions, I followed them and I've been able to set it up, but now, how can I connect my client (element) to the puppet-bridge ?

gjelsas commented 4 years ago

@gjelsas Thank you for the instructions, I followed them and I've been able to set it up, but now, how can I connect my client (element) to the puppet-bridge ?

Adjust the '--network' and 'localhiost:8091' to your settings and the do docker run -it --rm -v /opt/matrix-puppet-signal/config.json:/conf/config.json -v /opt/matrix-puppet-signal/data:/data --network matrix matrix-signal-puppet link

and

docker run -it --rm -v /opt/matrix-puppet-signal/config.json:/conf/config.json -v /opt/matrix-puppet-signal/data:/data --network matrix matrix-signal-puppet registration "localhost:8091" did it for me... Before you start the bridge with '-d'

for further reading look here: https://github.com/icewind1991/matrix-puppet-signal-docker!

univdet23 commented 4 years ago

@gjelsas thanks for the reply. When I follow your indicated steps and I start the bridge with -d, I get a only a long and number & letter code as result, I assume the bridge is running.

After, I open a new room, invite the bot: /invite @signalbot:matrix.myserver.example but nothing happens.

gjelsas commented 4 years ago

But you did register your device with the QRCode? Then let someone text you, and it should show up in your client (maybe element). Starting a new signal chat is not supported yet, I guess...

26.09.2020 23:09:06 univdet23 notifications@github.com:

@gjelsas[https://github.com/gjelsas] thanks for the reply. When I follow your indicated steps and I start the bridge with -d, I get a only a long and number & letter code as result, I assume the bridge is running.

After, I open a new room, invite the bot: /invite @signalbot:matrix.myserver.example but nothing happens.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub[https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/638#issuecomment-699548104], or unsubscribe[https://github.com/notifications/unsubscribe-auth/ABZFSQRB32RGBTIGLYKBTGLSHZJ6BANCNFSM4QOPC6BQ]. [https://github.com/notifications/beacon/ABZFSQUOJPJU7IFNH4LNRITSHZJ6BA5CNFSM4QOPC6B2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFGZEDSA.gif]

borgmanJeremy commented 3 years ago

Any progress on this recently?

seanfarley commented 3 years ago

Any progress on this recently?

There's a PR someone graciously made here: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/686

Just waiting on some design decisions it seems but I'm not sure.

seanfarley commented 3 years ago

Yay, closed in #686 !