Chat that is simple, secure, and private
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cellarspoon 516411935e
docs: number
1 week ago
.env.sample fix: external coturn, better certs 1 week ago
.gitignore Initial commit 3 months ago
README.md docs: number 1 week ago
abra.sh fix: external coturn, better certs 1 week ago
compose.coturn-int.yml fix: external coturn, better certs 1 week ago
compose.yml fix: external coturn, better certs 1 week ago
entrypoint.sh.tmpl fix: external coturn, better certs 1 week ago

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.