48 Commits

Author SHA1 Message Date
ad694d6436 prosody: Enable mod_measure_active_users
This allows an operator (via Prometheus, or eventually the web portal) to keep
tabs on how many people are using the server, e.g. to assist with capacity
planning. This will become more important once we allow user-to-user account
invitations.
2021-11-17 13:51:05 +00:00
569fce239c prosody: Switch to and enable mod_lastlog2
This records a timestamp of various account events - account registration
time, last connection and last disconnection.

In the future I would like to keep a time-limited record of account activity
so we can also present it to the user for security purposes (e.g. detecting
account compromise and access by third-parties). That will need additional
design work to figure out how to do it in a privacy-preserving way.
2021-11-17 13:47:42 +00:00
17444cc3bd prosody: Enable push notifications for offline group members by default
This avoids the app needing to gain logic to opt-in to push notifications.
Such logic may be fragile, and introduce additional traffic and round-trips
that would hurt performance.

Note that this will trigger pushes even to users who only use Android or
non-mobile devices. That should cause no issues, and the impact would be
minor. Also considering that non-iOS devices usually remain online most of the
time anyway.

Not accounted for in this commit is the MUC notification filtering side of
things. By default the MUC will push all messages, and
mod_cloud_notify(_filters) will allow all of them through to the device unless
the user explicitly configures otherwise within the app.

If the server can detect whether a MUC is public or private, it can make the
default behaviour more sensible (maybe when adding bookmarks or something?).
In any case, public channels are not a primary use-case for Snikket and can
easily be configured manually in the app for now.
2021-11-16 16:08:16 +00:00
a24eddab8b prosody: Add symlink for mod_muc_offline_delivery 2021-11-15 14:15:56 +00:00
5dddfeb876 prosody: Prevent federation for users with prosody:restricted role (#37) 2021-11-08 12:51:14 +00:00
00ad72bcf1 prosody: add symlink for mod_cloud_notify_extensions 2021-11-02 12:52:51 +00:00
dae151c7c9 prosody: Add new module to load push registration for new sessions 2021-10-18 14:17:20 +01:00
ff38924c47 Merge pull request #71 from Zash/repo-filename
Specify a filename for repository
2021-10-18 13:52:15 +01:00
83c757c786 prosody: Add module to expose stable client id across sessions 2021-10-18 13:50:36 +01:00
30e05e8754 Specify a filename for repository
So that it stays the same even if the URL is changed.
2021-10-18 14:15:32 +02:00
bd10b2a861 Update luaunbound source URL while code.zash.se is offline 2021-08-27 07:49:37 +01:00
2c3ca07ee0 Add and enable mod_spam_reporting/mod_watch_spam_reports 2021-08-26 19:42:26 +01:00
37f2af4acd Switch to mod_http_file_share
More future-proof, allowing for larger uploads.
2021-07-31 21:05:09 +02:00
a163990ef8 ansible/scripts: Install qrencode
Used by create-invite when called with --qr
2021-07-31 20:54:31 +02:00
ff977f55b5 Allow to load the prometheus exposition module based on env vars
Useful for monitoring.
2021-05-27 18:08:26 +02:00
690f58bb27 Expose prosody metrics to the web portal
This requires mod_measure_process loaded and a recent version
of mod_http_admin_api to expose the metrics to the web portal in
a reduced and specialized form.
2021-05-27 18:08:26 +02:00
a948cc141f Install latest prosody from deb, factor out variables 2021-05-17 21:22:01 +01:00
2bee41057b prosody: bump prosody-modules rev to latest (no particular reason) 2021-03-16 07:18:03 +00:00
173ca8b0c9 Add lua-unbound for more robust DNS resolution 2021-03-15 19:55:33 +00:00
7f26c50ba8 prosody: Add mod_http_host_status_check 2021-03-10 14:37:19 +00:00
36ffd5d4a0 mod_invites_bootstrap: Module/API to create initial admin invite at startup 2021-03-09 16:33:12 +00:00
3c3a74f1cc prosody: Bump prosody-modules to 6d595857164a 2021-02-23 21:00:18 +00:00
c6aa7a9732 prosody: Bump prosody-modules to 38bd4d557413 2021-02-23 16:45:36 +00:00
a9ee76b2f1 Bump prosody-modules to ea820de69265 2021-02-23 15:26:00 +00:00
e881c983a6 prosody: Bump to latest prosody-modules 2021-02-22 13:18:42 +00:00
5e74fba75d Import fixes from prosody-modules
- Fix room destruction of circle rooms when circle is deleted or
  fails to be created (fixes #17)
- Add circle rooms to bookmarks of (newly added) members
  (fixes #16)
2021-02-04 16:18:47 +01:00
a624aaebf4 prosody: Specify prosody-modules revision 2021-01-31 20:30:59 +00:00
a301eb4bb7 prosody: Re-add some modules that we're still using (for now) 2021-01-29 17:31:33 +00:00
4914d83bd8 mail: Remove mailhog 2021-01-28 22:19:01 +00:00
dfb6cab374 prosody: Add new module mod_invites_default_group to add the default group to in-app invites 2021-01-28 21:28:40 +00:00
eae03273ed prosody: Add lua-luaossl for mod_cloud_notify_encrypted 2021-01-27 18:07:27 +00:00
6cb87092bf mod_authz_internal: Remove in favour of upstream (prosody) module 2021-01-27 16:23:12 +00:00
cd8638e154 prosody: Add mod_groups_internal from prosody-modules 2021-01-27 13:56:07 +00:00
1bff00eba7 prosody: Broad update to upstream (prosody-modules) where appropriate 2021-01-27 13:11:36 +00:00
2207199a60 prosody: Remove some unused modules 2021-01-22 23:04:42 +00:00
c8f5179564 prosody: Add new push notification extensions for iOS app 2021-01-22 12:47:24 +00:00
2d64f7be49 Add modules required for web portal 2021-01-22 12:39:07 +00:00
e430586282 Update update checks so they hopefully work 2020-11-11 16:50:30 +00:00
cd78ad3241 Switch to Lua 5.2 (fixes build with new trunk packages) 2020-11-11 12:20:37 +00:00
4d3a1cd274 Transition to split containers, remove certbot in favour of externally-supplied certs 2020-11-11 12:20:33 +00:00
cb853ed32f Restrict general chat to local users 2020-05-13 12:20:25 +01:00
0793106447 Flesh out coturn config, autodiscover external IP 2020-05-12 15:10:59 +01:00
166e000b12 docker-compose, prosody: Switch to host networking for the container
This simplifies things in preparation for adding coturn and its large
number of ports.

As Prosody now must listen on the "real" HTTP ports, we had to give
permission to the Lua binary to bind low network ports.
2020-05-12 15:05:42 +01:00
88402bb73f ansible, docker: Initial attempt at adding coturn 2020-04-29 22:39:27 +01:00
1f15d6f886 Ensure letsencrypt has permission to write to .well-known 2020-02-21 16:44:07 +00:00
c30b7310aa Add support for PUID/PGID and create necessary directories in /snikket
This is useful when e.g. mounting an existing directory instead of a
docker-managed volume.
2020-02-20 22:00:14 +00:00
ea4be8d0b9 prosody: Load mod_firewall 2020-01-31 19:58:08 +00:00
d6157c6a15 Initial commit 2020-01-31 13:46:46 +00:00