# snikket Chat that is simple, secure, and private. * **Category**: Apps * **Status**: * **Image**: [`thecoopcloud/snikket-*`](https://hub.docker.com/u/thecoopcloud) * **Healthcheck**: * **Backups**: * **Email**: * **Tests**: * **SSO**: ## Tricks & Tips ### Snikket forks We're maintaining two forks of the `app` & `server` images due to: - [`snikket-im/snikket-web-proxy#5`](https://github.com/snikket-im/snikket-web-proxy/issues/5) - [`snikket-im/snikket-server#88`](https://github.com/snikket-im/snikket-server/issues/88) Hopefully we can avoid this Soon :tm: ### 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 certs abra app run server ls -lha /certs abra app restart server # check logs to see it picks up certs abra app restart 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 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).