-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathts-entrypoint.sh
41 lines (34 loc) · 1.38 KB
/
ts-entrypoint.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/sh
#-----------------------------------------------------------------------------
# Tailscale Container Entrypoint Script
#
# Purpose:
# - Initializes Tailscale environment
# - Starts Tailscale daemon
# - Manages initial certificate generation
# - Sets up automated certificate renewal
#-----------------------------------------------------------------------------
# Environment Setup
# Configure required Tailscale directories and authentication
export TS_STATE_DIR=/var/lib/tailscale
export TS_AUTHKEY=$TS_AUTHKEY
# Daemon Initialization
# Start Tailscale in background with containerboot
echo "[INFO] Initializing Tailscale daemon..."
env TS_STATE_DIR="$TS_STATE_DIR" TS_AUTHKEY="$TS_AUTHKEY" /usr/local/bin/containerboot &
# Startup Delay
# Ensure daemon is fully operational before proceeding
echo "[INFO] Awaiting daemon initialization..."
sleep 5 # Critical delay for daemon stability
# Initial Certificate Setup
# Generate first certificate before starting services
echo "[INFO] Performing initial certificate generation..."
/usr/local/bin/ts-certgen.sh
# Automated Renewal Configuration
# Configure periodic certificate updates via cron
echo "[INFO] Setting up automated certificate renewal..."
/usr/local/bin/ts-manage-cron.sh
# Process Management
# Keep container running by waiting for background processes
echo "[INFO] Tailscale initialization complete, monitoring daemon..."
wait -n