Chat that is simple, secure, and private
Go to file
decentral1se 516411935e
docs: number
2022-01-09 16:37:03 +01:00
.env.sample fix: external coturn, better certs 2022-01-09 15:05:14 +01:00
.gitignore Initial commit 2021-10-12 11:35:23 +00:00
README.md docs: number 2022-01-09 16:37:03 +01:00
abra.sh fix: external coturn, better certs 2022-01-09 15:05:14 +01:00
compose.coturn-int.yml fix: external coturn, better certs 2022-01-09 15:05:14 +01:00
compose.yml fix: external coturn, better certs 2022-01-09 15:05:14 +01:00
entrypoint.sh.tmpl fix: external coturn, better certs 2022-01-09 15:05:14 +01:00

README.md

snikket

Chat that is simple, secure, and private.

Tricks & Tips

Snikket forks

We're maintaining two forks of the app & server images due to:

Hopefully we can avoid this Soon ™️

Post-deploy steps

The certs service needs to copy over the right certificates from traefik. If you're deploying for the first time, then this could take a minute. Once the certs are copied over, you'll have to manually restart the app service and potentially the server service.

abra app logs <yoursnikket> certs 
abra app run <yoursnikket> server ls -lha /certs
abra app restart <yoursnikket> server  # check logs to see it picks up certs
abra app restart <yoursnikket> app # your ${DOMAIN} web log in should work now

DNS requirements

You need 3 A records, pointing to the same IP.

  • chat.foo.com: main web log in
  • share.chat.foo.com: file upload
  • groups.chat.foo.com: muc support

Create admin invite

abra app run <app> server create-invite --admin --group default

How does the coturn setup work?

We default to using an external coturn to support the homebrew server as a first class citizen. coturn is known to not work at all if behind a NAT and is better served directlry from a ipv4. For homebrew setups (behind router), it's better to dial out to an external coturn server. Hence, you'll need to bring your own coturn server configuration to use this recipe.

If you want to use the internal Snikket coturn setup, use the following:

COMPOSE_FILE="compose.yml:compose.coturn-int.yml"

There are issues with exposing the required amount of ports, please see #5.