(Primeiro, presumo que você esteja usando coturn ou um de seus predecessores.)
Para começar, as unidades systemd não são scripts de shell e não são analisadas por um shell. É por isso que você não pode simplesmente chamar um comando e usar sua saída como uma variável de ambiente.
No entanto, você pode chamar um shell de ExecStart=
, que pode ser o caminho mais rápido para começar a usar.
Type=simple
ExecStart=/bin/bash -c '/usr/local/bin/turnserver -X $(/usr/bin/curl http://169.254.169.254/latest/meta-data/public-ipv4)'
(Nesta configuração você deve não daemonizar o servidor de turnos com -o
.)
Você também pode escrever um script, do qual pode chamar de ExecStartPre=
, que busca seus metadados e, em seguida, altera turnserver.conf
, que ocorreria antes do daemon ser iniciado.