2025-08-18 09:48:59 +02:00
#!/usr/bin/env bash
2026-01-06 13:28:12 +01:00
# Copyright (c) 2021-2026 community-scripts ORG
2025-08-18 09:48:59 +02:00
# Author: MickLesk (CanbiZ), twingate-andrewb
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.twingate.com/docs/
source /dev/stdin <<< " $FUNCTIONS_FILE_PATH "
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
install -d -m 0700 /etc/twingate
2026-10-24 17:55:50 +02:00
access_token = " ${ var_twingate_connector_access_token :- } "
refresh_token = " ${ var_twingate_connector_refresh_token :- } "
network = " ${ var_twingate_connector_network :- } "
2025-08-18 09:48:59 +02:00
while [[ -z " $access_token " ]] ; do
2026-10-24 17:55:50 +02:00
read -rp " ${ TAB3 } Please enter your access token: " access_token || { msg_error "No access token given; set var_twingate_connector_access_token or answer the prompt" ; exit 64; }
2025-08-18 09:48:59 +02:00
done
while [[ -z " $refresh_token " ]] ; do
2026-10-24 17:55:50 +02:00
read -rp " ${ TAB3 } Please enter your refresh token: " refresh_token || { msg_error "No refresh token given; set var_twingate_connector_refresh_token or answer the prompt" ; exit 64; }
2025-08-18 09:48:59 +02:00
done
while [[ -z " $network " ]] ; do
2026-10-24 17:55:50 +02:00
read -rp " ${ TAB3 } Please enter your network name: " network || { msg_error "No network name given; set var_twingate_connector_network or answer the prompt" ; exit 64; }
2025-08-18 09:48:59 +02:00
done
msg_info "Setup Twingate Repository"
curl -fsSL "https://packages.twingate.com/apt/gpg.key" | gpg --dearmor -o /usr/share/keyrings/twingate-connector-keyring.gpg
2025-11-22 17:27:13 +01:00
echo "deb [signed-by=/usr/share/keyrings/twingate-connector-keyring.gpg] https://packages.twingate.com/apt/ /" >/etc/apt/sources.list.d/twingate.list
2026-09-24 08:06:49 +02:00
apt_update_safe
2025-08-18 09:48:59 +02:00
msg_ok "Setup Twingate Repository"
msg_info "Setup Twingate Connector"
2026-10-01 08:14:33 +02:00
$STD apt install -y twingate-connector
2025-08-18 09:48:59 +02:00
msg_ok "Setup Twingate Connector"
msg_info "Configure Twingate-Connector"
2026-06-30 13:01:18 +02:00
cat <<EOF >/etc/twingate/connector.conf
TWINGATE_NETWORK=${network}
TWINGATE_ACCESS_TOKEN=${access_token}
TWINGATE_REFRESH_TOKEN=${refresh_token}
TWINGATE_LABEL_HOSTNAME=$(hostname)
TWINGATE_LABEL_DEPLOYED_BY=proxmox
EOF
2025-08-18 09:48:59 +02:00
chmod 600 /etc/twingate/connector.conf
msg_ok "Configured Twingate-Connector"
msg_info "Starting Service"
systemctl enable -q --now twingate-connector
msg_ok "Service started"
motd_ssh
customize
2025-11-22 17:27:13 +01:00
cleanup_lxc