Automated server provisioning with Pangolin reverse proxy, Forgejo git server with SSH passthrough, and OpenCode dev environment. Includes server hardening (UFW, fail2ban, SSH lockdown), Docker, Rust, Python/uv, and unattended security upgrades. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
28 lines
919 B
Bash
Executable file
28 lines
919 B
Bash
Executable file
#!/bin/bash
|
|
set -e
|
|
|
|
echo ""
|
|
echo "=== Waiting for Pangolin setup token ==="
|
|
|
|
SETUP_TOKEN=$(ssh "$NEW_USER@pangolin.$HOST" 'timeout 120 bash -c "until docker logs pangolin 2>&1 | grep -oP \"Token: \K.*\"; do sleep 2; done"')
|
|
|
|
echo ""
|
|
echo "==========================================="
|
|
echo " Server setup complete!"
|
|
echo "==========================================="
|
|
echo ""
|
|
echo " SSH: ssh $NEW_USER@pangolin.$HOST"
|
|
echo ""
|
|
echo " Pangolin setup token: $SETUP_TOKEN"
|
|
echo ""
|
|
echo " Next steps:"
|
|
echo " 1. Go to https://pangolin.$HOST/auth/initial-setup"
|
|
echo " and enter the setup token above to create your admin account."
|
|
echo ""
|
|
echo " 2. In the Pangolin dashboard, add a local site, then create"
|
|
echo " a public resource for opencode:"
|
|
echo " - Target: host.docker.internal"
|
|
echo " - Port: 3000"
|
|
echo " - Domain: opencode.$HOST"
|
|
echo "==========================================="
|