Add eturnal documentation

This commit is contained in:
this.ven 2024-02-25 22:00:18 +01:00
parent 7f4f23293d
commit 27b281ad06
3 changed files with 97 additions and 1 deletions

View file

@ -9,6 +9,9 @@ great way for decentralization, autonomy and privacy. As I'm trying to be a good
role model I share my knowledge by documenting the whole infrastructure setup.
{{< cards >}}
{{< card link="eturnal/" title="eturnal"
image="eturnal/img/stun-turn-server.svg"
subtitle="Supporting VoIP/Video calls with eturnal" >}}
{{< card link="forgejo/" title="Forgejo"
image="forgejo/img/forgejo-wordmark.svg"
subtitle="Using Forgejo for version control" >}}
@ -17,5 +20,5 @@ role model I share my knowledge by documenting the whole infrastructure setup.
subtitle="Building a community using Matrix" >}}
{{< card link="nextcloud/" title="Nextcloud"
image="nextcloud/img/nextcloud-logo-blue.svg"
subtitle="Running a NextCloud for file shares" >}}
subtitle="Running a Nextcloud for file shares" >}}
{{< /cards >}}

View file

@ -0,0 +1,35 @@
---
title: 'eturnal'
date: 2024-02-25T19:46:23+01:00
draft: true
---
As issues with coturn[^1] rendered it unusable most of the time, I researched
another solution as drop-in service for STUN[^2] and TURN[^3].
[eturnal](https://eturnal.net/) is a modern, straightforward and written in
Erlang[^4]. Clients can connect using UDP, TCP, or TLS over IPv4 or IPv6. It
supports the mechanism described in an IETF draft[^5] for authentication.
[^1]: [Issue #844](https://github.com/Uberspace/lab/issues/844) at GitHub
[^2]: Session Traversal Utilities for NAT
([STUN](https://en.wikipedia.org/wiki/STUN)) in the Wikipedia
[^3]: [Traversal Using Relays arount NAT](https://en.wikipedia.org/wiki/Traversal_Using_Relays_around_NAT)
(TURN) in the Wikipedia
[^4]: [Erlang](https://erlang.org/)/OTP website
[^5]: [REST API for Access to TURN Services](https://datatracker.ietf.org/doc/html/draft-uberti-behave-turn-rest-00)
specification as IETF draft
{{< figure src="img/stun-turn-server.svg" alt="STUN/TURN server symbol"
width="25%" >}}
## Basic setup
The [eturnal — UberLab 7 documentation](https://lab.uberspace.de/guide_eturnal/)
is used in addition to the [official documentation](https://eturnal.net/doc/)
to setup a basic service. Further adjustments are specified in the `eturnal.yml`
file.
## Logging level
To investigate configuration errors, I can change the `log_level` setting value
to `debug`, for example. Afterwards the eturnal service has to be restarted.

View file

@ -0,0 +1,58 @@
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" fill-rule="evenodd" stroke-linejoin="round" stroke-width="28.2" preserveAspectRatio="xMidYMid" version="1.2" viewBox="0 0 532 200">
<g fill="none">
<path d="M214 4h101v194H214Z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="7.4510000000000005" d="M264 194h-46V8h93v186z"/>
<path d="M233 162h63v8h-63z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="7.4510000000000005" d="M236 166h56"/>
<path d="M233 153h63v8h-63z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="7.4510000000000005" d="M236 157h56"/>
<path d="M233 23h63v63h-63z"/>
<path stroke="currentColor" stroke-width="7.4510000000000005" d="m292 68-7-7h-7l-21-21v-7l-7-7h-7l-7 7v8l42 41h7l7-7z"/>
</g>
<g fill="none">
<path d="M52 28h75v146H52Z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="M61 31h1l-4 1-2 2-1 4v126h0l1 4 2 2 4 1h56l3-1 3-2 1-4V38h0l-1-4-3-2-3-1z"/>
<path d="M59 42h61v111H59z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="M90 150H62V45h56v105z"/>
<path d="M73 35h33v6H73z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="M76 38h28"/>
<path d="M77 56h26v27H77z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="m100 69-1 6-4 4-5 1-5-1-4-4-2-6 2-5 4-4 5-1a11 11 0 0 1 9 5l1 5z"/>
<path d="M70 81h40v51H70z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="M79 129v-18h7v18zm14 0v-18h7v18zm-21-21V94h0v-9h0v-1h1v-1h33v1h1v1h0v9h0v14h-3V94h-4v17H79V94h-3v14z"/>
<path d="M80 152h19v19H80z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="m97 161-1 4-3 2-3 1-4-1-2-2-1-4 1-3 2-3 4-1 3 1 3 3 1 3z"/>
<path d="M24 28h20v41H24Z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="M41 33v31h0v1l-1 1h-1 0-12 0V31h13l1 1v1z"/>
<path d="M24 133h20v41H24Z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="M41 138v31h0v1l-1 1h-1 0-12 0v-35h13l1 1v1z"/>
<path d="M10 28h20v146H10Z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="M13 38v126h0l1 3c0 2 1 2 2 3l4 1h7V31h0-7 0l-4 1-2 2-1 4z"/>
</g>
<g fill="none">
<path d="M405 28h75v146h-75z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="M471 31h0l3 1 3 2 1 4v126h0l-1 4-3 2-3 1h-57 0l-3-1-2-2-1-4V38h0l1-4 2-2 3-1z"/>
<path d="M412 42h61v111h-61z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="M443 150h-28V45h56v105z"/>
<path d="M426 35h33v6h-33z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="M457 38h-28"/>
<path d="M429 56h27v27h-27z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="m432 69 1 6 4 4 6 1a11 11 0 0 0 9-5l1-6-1-5-4-4-5-1-6 1-4 4-1 5z"/>
<path d="M423 81h40v51h-40z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="M453 129v-18h-7v18zm-14 0v-18h-7v18zm21-21V94h0v-9h0v-1h0-1 0v-1h0-32 0-1 0v1h0-1 0v1h0v9h0v14h4V94h3v17h21V94h4v14z"/>
<path d="M433 152h19v19h-19z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="m436 161 1 4 2 2 4 1 3-1 3-2 1-4-1-3-3-3-3-1-4 1-2 3-1 3z"/>
<path d="M489 28h19v41h-19z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="M492 33v31h0v1l1 1h13V31h0-12 0-1l-1 1v1z"/>
<path d="M489 133h19v41h-19z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="M492 138v31h0v1l1 1h13v-35h0-12 0-1l-1 1v1z"/>
<path d="M503 28h19v146h-19z"/>
<path stroke="currentColor" stroke-linecap="round" stroke-width="5.215700000000001" d="M520 38v126h0l-1 4-3 2-3 1h0-7 0V31h7l3 1 3 2 1 4z"/>
</g>
<path fill="none" d="M121 87h97v28h-97Z"/>
<path fill="none" stroke="currentColor" stroke-width="7.4510000000000005" d="M125 101h67"/>
<path d="m190 87 28 14-28 14z"/>
<path fill="none" d="M311 87h101v28H311Z"/>
<path fill="none" stroke="currentColor" stroke-width="7.4510000000000005" d="M408 101h-71"/>
<path d="m338 115-27-14 27-14z"/>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB