mirror of
https://github.com/onsonr/sonr.git
synced 2025-03-10 13:07:09 +00:00
41 lines
1.2 KiB
Bash
41 lines
1.2 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
# Exit immediately if a command exits with a non-zero status.
|
||
|
set -e
|
||
|
|
||
|
# Function to check if a command exists.
|
||
|
command_exists() {
|
||
|
command -v "$1" >/dev/null 2>&1
|
||
|
}
|
||
|
|
||
|
echo "Starting the build process for Caddy with Cloudflare DNS module..."
|
||
|
|
||
|
# Check if Go is installed
|
||
|
if ! command_exists go; then
|
||
|
echo "Go is not installed. Please install Go before running this script."
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# Set Go environment variables
|
||
|
export GOPATH=$(go env GOPATH)
|
||
|
export GOBIN=$GOPATH/bin
|
||
|
export PATH=$PATH:$GOBIN
|
||
|
|
||
|
# Install xcaddy if not present
|
||
|
if ! command_exists xcaddy; then
|
||
|
echo "xcaddy not found. Installing xcaddy..."
|
||
|
curl -sSfL https://raw.githubusercontent.com/caddyserver/xcaddy/master/install.sh | bash -s -- -b $GOBIN
|
||
|
fi
|
||
|
|
||
|
# Build Caddy with the Cloudflare DNS module
|
||
|
echo "Building Caddy with the Cloudflare DNS module..."
|
||
|
xcaddy build --with github.com/caddy-dns/cloudflare
|
||
|
mv caddy ../build/caddy
|
||
|
echo "Caddy has been built successfully with the Cloudflare DNS module."
|
||
|
|
||
|
# Optional: Move the caddy binary to /usr/local/bin (requires sudo)
|
||
|
# echo "Moving caddy to /usr/local/bin (requires sudo)..."
|
||
|
# sudo mv caddy /usr/local/bin/
|
||
|
|
||
|
# echo "Caddy has been installed to /usr/local/bin."
|