Skip to content

Commit

Permalink
first version wip
Browse files Browse the repository at this point in the history
  • Loading branch information
SaraSmiseth committed Mar 12, 2021
1 parent 66723e1 commit 3fdb309
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 2 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Unreleased

* Nothing
* Added modules that allow invite-based account registration for Prosody. See also [Great Invitations](https://blog.prosody.im/great-invitations/).

## v1.1.4

Expand Down
15 changes: 14 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,16 @@ LABEL org.opencontainers.image.vendor="Sara Smiseth"
LABEL org.opencontainers.image.version="${VERSION}"
LABEL prosody.version="${PROSODY_VERSION}"

# TODO just for mod_invites, makes the image from 90MB to 150MB, just do it like this?
#libjs-bootstrap4
#libjs-jquery

RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
libevent-dev `# this is no build dependency, but needed for luaevent` \
libidn11 \
libjs-bootstrap4 \
libjs-jquery \
lua5.2 \
lua-bitop \
lua-expat \
Expand Down Expand Up @@ -98,9 +104,16 @@ RUN download-prosody-modules.bash \
csi `# client state indication (XEP-0352)` \
e2e_policy `# require end-2-end encryption` \
filter_chatstates `# disable "X is typing" type messages` \
http_libjs `# invite-based account registration web dependency` \
http_upload `# file sharing (XEP-0363)` \
invites `# invite-based account registration` \
invites_adhoc \
invites_page \
invites_register \
invites_register_web \
register_apps \
smacks `# stream management (XEP-0198)` \
throttle_presence `# presence throttling in CSI` \
http_upload `# file sharing (XEP-0363)` \
vcard_muc `# XEP-0153: vCard-Based Avatar (MUC)` \
&& rm -rf "/usr/src/prosody-modules"

Expand Down
8 changes: 8 additions & 0 deletions conf.d/05-vhost.cfg.lua
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,15 @@ https_ssl = {
key = "certs/" .. domain_http_upload .. "/privkey.pem";
}

-- Configure the number of seconds a token is valid for (default 7 days)
-- TODO make configurable
invite_expiry = 86400 * 7

VirtualHost (domain)
http_paths = {
invites_page = "/invite";
invites_register_web = "/register";
}

-- Set up a http file upload because proxy65 is not working in muc
Component (domain_http_upload) "http_upload"
Expand Down
1 change: 1 addition & 0 deletions docker-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
set -e

export ALLOW_REGISTRATION=${ALLOW_REGISTRATION:-true}
export REGISTRATION_INVITE_ONLY=${REGISTRATION_INVITE_ONLY:-true}
export DOMAIN_HTTP_UPLOAD=${DOMAIN_HTTP_UPLOAD:-"upload.$DOMAIN"}
export DOMAIN_MUC=${DOMAIN_MUC:-"conference.$DOMAIN"}
export DOMAIN_PROXY=${DOMAIN_PROXY:-"proxy.$DOMAIN"}
Expand Down
1 change: 1 addition & 0 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ Inspect logs: ```docker-compose logs -f```.
| Variable | Description | Type | Default value |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ------------ | -------------------------- |
| **ALLOW_REGISTRATION** | Whether to allow registration of new accounts via Jabber clients | *optional* | true |
| **REGISTRATION_INVITE_ONLY** | Require an invitation token for all account registration | *optional* | true |
| **DOMAIN** | domain | **required** | null |
| **DOMAIN_HTTP_UPLOAD** | Domain which lets clients upload files over HTTP | *optional* | upload.**DOMAIN** |
| **DOMAIN_MUC** | Domain for Multi-user chat (MUC) for allowing you to create hosted chatrooms/conferences for XMPP users | *optional* | conference.**DOMAIN** |
Expand Down
6 changes: 6 additions & 0 deletions tests/tests.bats
Original file line number Diff line number Diff line change
Expand Up @@ -93,3 +93,9 @@ load 'bats/bats-assert/load'
assert_success
assert_output
}

# TODO Add tests for register_apps etc
# Serving 'register_apps' at https://localhost:5281/register_apps
#prosody_1 | localhost:http debug Serving 'register_apps' at https://localhost/register_apps
#prosody_1 | localhost:http debug Serving 'invites_page' at https://localhost/invite
#prosody_1 | localhost:http debug Serving 'invites_register_web' at https://localhost/register

0 comments on commit 3fdb309

Please sign in to comment.