Tailscale Setup¶
This guide explains how to set up Tailscale on your Raspberry Pi for remote access during development.
What is Tailscale?¶
Tailscale is a VPN service that creates a secure network (tailnet) between your devices. It provides:
- Always-on IP address - Access your Pi from anywhere without port forwarding
- Secure SSH access - Connect to your Pi without exposing it to the internet
- Easy development - Code and deploy from anywhere
Future Vision
Currently used for development. In the future, we plan to enable clients to access their greenhouses remotely without needing to understand VPNs.
Installation¶
1. Install Tailscale on Raspberry Pi¶
# Add Tailscale's package signing key and repository
curl -fsSL https://tailscale.com/install.sh | sh
2. Start Tailscale¶
This will display a URL. Open it in your browser to authenticate with your Tailscale account.
3. Verify Connection¶
You should see your device listed with a 100.x.x.x IP address.
SSH Configuration¶
Enable SSH on Raspberry Pi¶
# Enable SSH service
sudo systemctl enable ssh
sudo systemctl start ssh
# Verify SSH is running
sudo systemctl status ssh
Configure SSH Keys (Recommended)¶
From your local machine:
# Generate SSH key if you don't have one
ssh-keygen -t ed25519 -C "your-email@example.com"
# Copy your public key to the Pi
ssh-copy-id pi@<tailscale-ip>
Connect via SSH¶
Enable Tailscale SSH (Optional)¶
Tailscale can manage SSH authentication directly:
This enables SSH access using your Tailscale identity without managing SSH keys.
Development Workflow¶
With Tailscale configured, you can:
- Remote development - Use VS Code Remote SSH to edit code directly on the Pi
- Deploy from anywhere - Push to GitHub and let CI/CD deploy to your Pi
- Access the dashboard - Open
http://<tailscale-ip>:8080from any device in your tailnet
Tailscale Admin Console¶
Manage your devices at login.tailscale.com/admin:
- View all connected devices
- Enable/disable MagicDNS for easy hostnames
- Configure access controls (ACLs)
- Monitor connection status
Troubleshooting¶
Tailscale Not Starting¶
# Check service status
sudo systemctl status tailscaled
# Restart the service
sudo systemctl restart tailscaled
SSH Connection Refused¶
# Verify SSH is running
sudo systemctl status ssh
# Check firewall (if enabled)
sudo ufw status
sudo ufw allow ssh
Device Not Appearing in Tailnet¶
- Re-authenticate:
sudo tailscale up - Check internet connectivity
- Verify account at tailscale.com
Next Steps¶
- Installation - Set up GreenThumb services
- Configuration - Configure your environment