diff --git a/package/tailscale-systemd/package b/package/tailscale-systemd/package new file mode 100644 index 000000000..4e7fe832a --- /dev/null +++ b/package/tailscale-systemd/package @@ -0,0 +1,46 @@ +#!/usr/bin/env bash +# Copyright (c) 2020 The Toltec Contributors +# SPDX-License-Identifier: MIT + +pkgnames=(tailscale-systemd) +pkgdesc="SystemD configuration for tailscale" +url=https://tailscale.com +pkgver=0.0.0-1 +section="utils" +timestamp=2023-07-12T00:00Z +maintainer="Kai " +license="BSD 3-Clause" +installdepends=(tailscale) + +source=( + tailscaled.service +) +sha256sums=( + SKIP +) + +package() { + install -D -m 644 -t "$pkgdir"/etc/systemd/system "$srcdir"/tailscaled.service +} + +configure() { + systemctl daemon-reload + systemctl enable tailscaled + systemctl start tailscaled +} + +preremove() { + if is-active tailscaled; then + echo "Stopping tailscaled" + systemctl stop tailscaled + fi + + if is-enabled tailscaled; then + echo "Disabling tailscaled" + systemctl disable tailscaled + fi +} + +postremove() { + systemctl daemon-reload +} diff --git a/package/tailscale-systemd/tailscaled.service b/package/tailscale-systemd/tailscaled.service new file mode 100644 index 000000000..35a9feb54 --- /dev/null +++ b/package/tailscale-systemd/tailscaled.service @@ -0,0 +1,24 @@ +[Unit] +Description=Tailscale node agent +Documentation=https://tailscale.com/kb/ +Wants=network-pre.target +After=network-pre.target + +[Service] +Environment="HOME=/home/root" +ExecStartPre=/opt/bin/tailscaled --cleanup +ExecStart=/opt/bin/tailscaled --state=/opt/var/lib/tailscale/tailscaled.state --socket=/opt/var/run/tailscale/tailscaled.sock --tun=userspace-networking --socks5-server=localhost:1055 --outbound-http-proxy-listen=localhost:1055 +ExecStopPost=/opt/bin/tailscaled --cleanup + +Restart=on-failure + +RuntimeDirectory=tailscale +RuntimeDirectoryMode=0755 +StateDirectory=tailscale +StateDirectoryMode=0700 +CacheDirectory=tailscale +CacheDirectoryMode=0750 +Type=notify + +[Install] +WantedBy=multi-user.target