snikket/README.md

69 lines
1.9 KiB
Markdown

# snikket
> It's very experimental and we're forking a number of configs right now, see
> the [issues list](https://git.coopcloud.tech/coop-cloud/snikket/issues) for
> more.
Chat that is simple, secure, and private.
<!-- metadata -->
* **Category**: Apps
* **Status**:
* **Image**: [`thecoopcloud/snikket-*`](https://hub.docker.com/u/thecoopcloud)
* **Healthcheck**:
* **Backups**:
* **Email**:
* **Tests**:
* **SSO**:
<!-- endmetadata -->
## 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`](https://git.coopcloud.tech/coop-cloud/snikket/issues/5).