Skip to content

NethServer/ns8-webtop

Repository files navigation

ns8-webtop

NS8 WebTop module, a collaboration suite of services accessible via web for emails, calendars, contacts, documents.

Official website: http://www.sonicle.com/webtop

Module overview

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
Loading

Install

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"}

Custom Configuration

webtop.properties

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.

Uninstall

To uninstall the instance:

remove-module --no-preserve webtop1

Testing

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

UI translation

Translated with Weblate.

To setup the translation process: