# systemd socket activation in Go

DevFeed: [systemd socket activation in Go](<https://devfeed.tech/articles/systemd-socket-activation-in-go-35470.md>)

Original publisher: [Read original article](<https://darkcoding.net/software/systemd-socket-activation-in-go/>)

Author: Graham King

Published: 2016-04-09T19:01:26Z

Content type: tutorial

Language: en

Sources: [Graham King](<https://devfeed.tech/sources/graham-king.md>)

Topics: [systemd](<https://devfeed.tech/topics/systemd.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Environment Variables](<https://devfeed.tech/topics/environment-variables.md>), [Streams](<https://devfeed.tech/topics/streams.md>), [TLS (Transport Layer Security)](<https://devfeed.tech/topics/tls.md>)

Tags: [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [go](<https://devfeed.tech/tags/go.md>), [software](<https://devfeed.tech/tags/software.md>), [systemd](<https://devfeed.tech/tags/systemd.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [tls](<https://devfeed.tech/tags/tls.md>)

## AI overview

This tutorial shows how to use systemd socket activation with a Go server to bind privileged ports such as 80 while keeping the server process unprivileged. It explains manual versus systemd startup, socket configuration, inherited file descriptors and environment variables, and notes TLS and HTTP/2 support.

## Source excerpt

"Unlock root-level ports without root privileges: A guide to systemd socket activation"