68 lines
1.7 KiB
Desktop File
68 lines
1.7 KiB
Desktop File
[Unit]
|
|
Description=collabore tunnel Make your local services accessible to all on the public Internet
|
|
After=network.target nginx.service
|
|
|
|
[Service]
|
|
Type=exec
|
|
|
|
# environment variables
|
|
Environment=HOME=/opt/collabore-tunnel/
|
|
Environment=UNIX_SOCKETS_DIRECTORY=/opt/collabore-tunnel/sockets
|
|
Environment=SERVER_HOSTNAME=tnl.clb.re
|
|
Environment=CONFIG_DIRECTORY=.
|
|
Environment=WELCOME_BANNER_FILE=./welcome_banner.txt
|
|
Environment=RATE_LIMIT_COUNT=5
|
|
Environment=RATE_LIMIT_INTERVAL=60
|
|
Environment=MAX_CONNECTIONS_PER_IP=5
|
|
Environment=SSH_SERVER_HOST=0.0.0.0
|
|
Environment=SSH_SERVER_PORT=22
|
|
Environment=LOG_DEPTH=2
|
|
|
|
# working directory and exec
|
|
WorkingDirectory=/opt/collabore-tunnel
|
|
ExecStart=/opt/collabore-tunnel/.env/bin/python3 main.py
|
|
ExecStop=/usr/bin/kill -9 $MAINPID
|
|
Restart=on-failure
|
|
RestartSec=10s
|
|
User=collabore-tunnel
|
|
Group=collabore-tunnel
|
|
|
|
# filesystem
|
|
TemporaryFileSystem=/:ro
|
|
BindReadOnlyPaths=/lib/ /lib64/ /usr/lib/ /usr/lib64/ /opt/collabore-tunnel/
|
|
BindReadOnlyPaths=/usr/bin/python3 /usr/bin/kill
|
|
BindPaths=/opt/collabore-tunnel/sockets/
|
|
BindPaths=/opt/collabore-tunnel/id_rsa_host
|
|
PrivateTmp=true
|
|
PrivateDevices=true
|
|
ProtectControlGroups=true
|
|
ProtectKernelModules=true
|
|
ProtectKernelTunables=true
|
|
ProtectKernelLogs=true
|
|
ReadWritePaths=
|
|
|
|
# network
|
|
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
|
|
|
|
# misc
|
|
SystemCallArchitectures=native
|
|
SystemCallFilter=
|
|
NoNewPrivileges=true
|
|
RestrictRealtime=true
|
|
MemoryDenyWriteExecute=true
|
|
ProtectKernelLogs=true
|
|
LockPersonality=true
|
|
ProtectHostname=true
|
|
RemoveIPC=true
|
|
RestrictSUIDSGID=true
|
|
ProtectClock=true
|
|
ProtectProc=invisible
|
|
|
|
# capabilities
|
|
RestrictNamespaces=yes
|
|
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
|
|
AmbientCapabilities=CAP_NET_BIND_SERVICE
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|