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=
 | |
| 
 | |
| [Install]
 | |
| WantedBy=multi-user.target
 |