Add Woodpecker setup script
This commit is contained in:
@@ -0,0 +1,65 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Setup script for Woodpecker CI/CD
|
||||||
|
# Run this before deploying woodpecker.yaml
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "🔧 Woodpecker Setup Script"
|
||||||
|
echo "=========================="
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Step 1: Database setup
|
||||||
|
echo "Step 1: Creating PostgreSQL database and user..."
|
||||||
|
|
||||||
|
WOODPECKER_DB_USER=${1:-woodpecker}
|
||||||
|
WOODPECKER_DB_PASS=${2:-changeme}
|
||||||
|
|
||||||
|
docker exec -it $(docker ps -q -f "label=com.docker.compose.service=postgresql") psql -U postgres << SQL
|
||||||
|
-- Drop if exists (be careful!)
|
||||||
|
DROP DATABASE IF EXISTS woodpecker;
|
||||||
|
DROP USER IF EXISTS woodpecker;
|
||||||
|
|
||||||
|
-- Create fresh database
|
||||||
|
CREATE DATABASE woodpecker;
|
||||||
|
CREATE USER $WOODPECKER_DB_USER WITH PASSWORD '$WOODPECKER_DB_PASS';
|
||||||
|
GRANT ALL PRIVILEGES ON DATABASE woodpecker TO $WOODPECKER_DB_USER;
|
||||||
|
|
||||||
|
-- Switch to woodpecker DB and grant schema access
|
||||||
|
\c woodpecker
|
||||||
|
GRANT ALL ON SCHEMA public TO $WOODPECKER_DB_USER;
|
||||||
|
|
||||||
|
\q
|
||||||
|
SQL
|
||||||
|
|
||||||
|
echo "✅ Database created"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Step 2: Generate agent secret
|
||||||
|
echo "Step 2: Generating Agent Secret..."
|
||||||
|
AGENT_SECRET=$(openssl rand -hex 32)
|
||||||
|
echo "Agent Secret: $AGENT_SECRET"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Step 3: Instructions
|
||||||
|
echo "Step 3: Next Steps"
|
||||||
|
echo "=================="
|
||||||
|
echo "1. Go to Gitea: https://git.bryanmail.net"
|
||||||
|
echo "2. Settings → Applications → OAuth2 Applications"
|
||||||
|
echo "3. Create New OAuth2 Application:"
|
||||||
|
echo " - Name: Woodpecker"
|
||||||
|
echo " - Redirect URI: https://woodpecker.bryanmail.net/authorize"
|
||||||
|
echo "4. Copy Client ID and Secret"
|
||||||
|
echo ""
|
||||||
|
echo "5. Update woodpecker.env with:"
|
||||||
|
echo " WOODPECKER_GITEA_CLIENT=<your-client-id>"
|
||||||
|
echo " WOODPECKER_GITEA_SECRET=<your-client-secret>"
|
||||||
|
echo " WOODPECKER_AGENT_SECRET=$AGENT_SECRET"
|
||||||
|
echo " DB_USER=$WOODPECKER_DB_USER"
|
||||||
|
echo " DB_PASS=$WOODPECKER_DB_PASS"
|
||||||
|
echo ""
|
||||||
|
echo "6. Deploy:"
|
||||||
|
echo " docker stack deploy -c woodpecker.yaml woodpecker"
|
||||||
|
echo ""
|
||||||
|
echo "7. Access:"
|
||||||
|
echo " https://woodpecker.bryanmail.net"
|
||||||
|
echo ""
|
||||||
Reference in New Issue
Block a user