eturnal
eturnal a clean, scalable STUN, TURN secure WebRTC communications server.
Announcement and talks
The eturnal app announcement here.
Notes
Some users found that the app will not start due a port already in use. The remidy for now:
Edit the service:
runagent -m eturnal1 systemctl --user edit --full eturnal
Change the port range so 50373 isn’t included anymore:
--publish 50000-50100:50000-50100/udp \
Sources
etrunal is a community application from the repository. Documentation and source can be found on
Please see the excerpt from the readme below.
- README.md
This is a template module for [2FAuth](https://docs.2fauth.app/). To start a new module from it: ## Install Instantiate the module with: add-module ghcr.io/geniusdynamics/2fauth:latest 1 The output of the command will return the instance name. Output example: {"module_id": "2fauth1", "image_name": "2fauth", "image_url": "ghcr.io/geniusdynamics/2fauth:latest"} ## Configure Let's assume that the mattermost instance is named `2fauth1`. Launch `configure-module`, by setting the following parameters: - `host`: a fully qualified domain name for the application - `http2https`: enable or disable HTTP to HTTPS redirection (true/false) - `lets_encrypt`: enable or disable Let's Encrypt certificate (true/false) Example: ``` api-cli run configure-module --agent module/2fauth1 --data - <<EOF { "host": "2fauth.domain.com", "http2https": true, "lets_encrypt": false } EOF ``` The above command will: - start and configure the 2fauth instance - configure a virtual host for trafik to access the instance ## Get the configuration You can retrieve the configuration with ``` api-cli run get-configuration --agent module/2fauth1 ``` ## Uninstall To uninstall the instance: remove-module --no-preserve 2fauth1 ## Update update a module ```shell api-cli run update-module --data '{"module_url":"ghcr.io/geniusdynamics/2fauth:latest","instances":["2fauth11"],"force":true}' ``` ## Smarthost setting discovery Some configuration settings, like the smarthost setup, are not part of the `configure-module` action input: they are discovered by looking at some Redis keys. To ensure the module is always up-to-date with the centralized [smarthost setup](https://nethserver.github.io/ns8-core/core/smarthost/) every time 2fauth starts, the command `bin/discover-smarthost` runs and refreshes the `state/smarthost.env` file with fresh values from Redis. Furthermore if smarthost setup is changed when 2fauth is already running, the event handler `events/smarthost-changed/10reload_services` restarts the main module service. See also the `systemd/user/2fauth.service` file. This setting discovery is just an example to understand how the module is expected to work: it can be rewritten or discarded completely. ## Debug some CLI are needed to debug - The module runs under an agent that initiate a lot of environment variables (in /home/2fauth1/.config/state), it could be nice to verify them on the root terminal `runagent -m 2fauth1 env` - you can become runagent for testing scripts and initiate all environment variables `runagent -m 2fauth1` the path become : ``` echo $PATH /home/2fauth1/.config/bin:/usr/local/agent/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/ ``` - if you want to debug a container or see environment inside `runagent -m 2fauth1` ``` podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d292c6ff28e9 localhost/podman-pause:4.6.1-1702418000 9 minutes ago Up 9 minutes 127.0.0.1:20015->80/tcp 80b8de25945f-infra d8df02bf6f4a docker.io/library/mariadb:10.11.5 --character-set-s... 9 minutes ago Up 9 minutes 127.0.0.1:20015->80/tcp mariadb-app 9e58e5bd676f docker.io/library/nginx:stable-alpine3.17 nginx -g daemon o... 9 minutes ago Up 9 minutes 127.0.0.1:20015->80/tcp 2fauth-app ``` you can see what environment variable is inside the container ``` podman exec 2fauth-app env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin TERM=xterm PKG_RELEASE=1 MARIADB_DB_HOST=127.0.0.1 MARIADB_DB_NAME=2fauth MARIADB_IMAGE=docker.io/mariadb:10.11.5
