Officiellement, Technitium DNS Server ne dispose pas de documentation officielle pour Alpine Linux. Ce guide a donc pour objectif de vous proposer une méthode non officielle mais fonctionnelle pour installer et exécuter Technitium sous Alpine 3.20.
ℹ️ Remarque : le script ci-dessous utilise un kill -9 pour forcer l’arrêt du processus. C’est un peu “sale”, mais nécessaire ici à cause de la gestion incomplète du signal TERM par dotnet sous Alpine.
#!/sbin/openrc-run
name="Technitium DNS Server"description="Technitium DNS Server using dotnet"command="/usr/bin/dotnet"command_args="/opt/technitium/dns/DnsServerApp.dll"command_user="root"pidfile="/var/run/technitium-dns.pid"directory="/opt/technitium/dns"depend(){ need net
}start_pre(){if[ ! -f "${directory}/DnsServerApp.dll"]; then eerror "DnsServerApp.dll not found in ${directory}"return1fiexportDOTNET_ROOT=/usr/lib/dotnet
exportPATH=$PATH:/usr/lib/dotnet
return0}start(){ ebegin "Starting ${name}"${command}${command_args} > /opt/technitium/dns/technitium-dns.log 2>&1 &
echo$! > ${pidfile} eend $?}stop(){ ebegin "Stopping ${name}"if[ -f "${pidfile}"]; thenPID=$(cat ${pidfile})kill -9 $PID sleep 2if ps -p $PID > /dev/null; then eerror "Failed to stop ${name}. Process is still running." eend 1else rm -f ${pidfile} eend 0fielse eerror "No PID file found. Is the service running?" eend 1fi}
🚀 Activer et démarrer le service
Rendez le script exécutable et ajoutez-le au démarrage :
Une fois le service démarré, accédez à l’interface Web de Technitium via :
http://IP_SERVEUR:5380/
✅ Conclusion
Vous disposez maintenant d’un serveur DNS complet et léger fonctionnant sous Alpine Linux grâce à Technitium DNS Server. Malgré l’absence de documentation officielle, cette méthode s’avère fiable pour un usage personnel ou en labo.