NS8 WebTop module, a collaboration suite of services accessible via web for emails, calendars, contacts, documents.
Official website: http://www.sonicle.com/webtop
flowchart LR
subgraph Webtop[Webtop module]
Apache -.-|PHP-FPM|z-push--->|calendars/contacts API| Webapp
Apache -.-|PHP-FPM|WebDav--->|calendars/contacts API| Webapp
Apache --->|Reverse proxy| Webapp
Webapp ---> postgres[(postgresql)]
end
subgraph Mail module
Webapp ----> SMTP
Webapp ----> IMAP
z-push ----> IMAP
end
subgraph Users Domains
Webapp ---> OpenLDAP
end
Req>Requests] --> Apache
Instantiate the module with:
add-module ghcr.io/nethserver/webtop:latest 1
The output of the command will return the instance name. Output example:
{"module_id": "webtop1", "image_name": "webtop", "image_url": "ghcr.io/nethserver/webtop:latest"}
The webtop.properties
configuration file for WebTop is generated by
expanding a text file template and is mounted by the webapp
container.
The template consists of file fragments located under
templates/webtop.properties.d/
. These fragments are concatenated and
written to the resulting file in alphabetical order according to their
directory names.
During the template expansion, placeholders for environment variables are replaced.
To override an existing template fragment, follow this procedure:
runagent -m webtop1
# working directory switches to webtop1's state/ dir
mkdir -p webtop.properties.d
cp ../templates/webtop.properties.d/10builtin webtop.properties.d/10builtin
vi webtop.properties.d/10builtin
systemctl --user restart webtop
This procedure creates a directory for override fragments under the
module's state/
directory and copies the original fragment into it. You
can then edit the copied fragment. Finally, restart the entire webtop
pod to apply the changes.
With similar commands, you can add custom fragments. Be careful not to
modify the contents of the ./templates
directory directly, as they will
be overwritten during the next application update. Files under
./state/webtop.properties.d/
are retained and are also added to backup.
To uninstall the instance:
remove-module --no-preserve webtop1
Test the module using the test-module.sh
script:
./test-module.sh <NODE_ADDR> ghcr.io/nethserver/webtop:latest
The tests are made using Robot Framework
Translated with Weblate.
To setup the translation process:
- add GitHub Weblate app to your repository
- add your repository to hosted.weblate.org or ask a NethServer developer to add it to ns8 Weblate project