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 4ae3b7ef2d
chore: manually publish potential label
7 months ago
.env.sample fix: external coturn, better certs 7 months ago
.gitignore Initial commit 10 months ago
README.md docs: forks gone, still experimental [ci skip] 7 months ago
abra.sh fix: get back on mainline 7 months ago
cert-monitor.sh.tmpl fix: get back on mainline 7 months ago
compose.coturn-int.yml fix: external coturn, better certs 7 months ago
compose.yml chore: manually publish potential label 7 months ago
entrypoint.sh.tmpl fix: external coturn, better certs 7 months ago
http.template.tmpl fix: get back on mainline 7 months ago
prosody.cfg.lua.tmpl fix: get back on mainline 7 months ago
start-coturn.sh.tmpl fix: get back on mainline 7 months ago

README.md

snikket

It's very experimental and we're forking a number of configs right now, see the issues list for more.

Chat that is simple, secure, and private.

Tricks & Tips

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.