Add auto-deployment scripts for Gitea webhook
- deploy.sh: Script to pull code and restart Docker containers - webhook-server.py: HTTP server to receive Gitea push events - shorts-maker-webhook.service: Systemd service for webhook server - setup-autodeploy.sh: Setup script for the server 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
63
setup-autodeploy.sh
Normal file
63
setup-autodeploy.sh
Normal file
@@ -0,0 +1,63 @@
|
||||
#!/bin/bash
|
||||
# Setup script for auto-deployment on the server
|
||||
# Run this script on the home server as root or with sudo
|
||||
|
||||
set -e
|
||||
|
||||
APP_DIR="/home/bini/shorts-maker"
|
||||
SERVICE_NAME="shorts-maker-webhook"
|
||||
|
||||
echo "=== Shorts Maker Auto-Deploy Setup ==="
|
||||
|
||||
# 1. Make deploy script executable
|
||||
echo "1. Setting up deploy script..."
|
||||
chmod +x "$APP_DIR/deploy.sh"
|
||||
chmod +x "$APP_DIR/webhook-server.py"
|
||||
|
||||
# 2. Create log files with proper permissions
|
||||
echo "2. Creating log files..."
|
||||
touch /var/log/shorts-maker-deploy.log
|
||||
touch /var/log/webhook-server.log
|
||||
chown bini:bini /var/log/shorts-maker-deploy.log
|
||||
chown bini:bini /var/log/webhook-server.log
|
||||
|
||||
# 3. Generate webhook secret
|
||||
WEBHOOK_SECRET=$(openssl rand -hex 32)
|
||||
echo "3. Generated webhook secret: $WEBHOOK_SECRET"
|
||||
echo " (Save this for Gitea webhook configuration!)"
|
||||
|
||||
# 4. Update systemd service with the secret
|
||||
echo "4. Installing systemd service..."
|
||||
sed "s/your-secret-here/$WEBHOOK_SECRET/" "$APP_DIR/shorts-maker-webhook.service" > /etc/systemd/system/$SERVICE_NAME.service
|
||||
|
||||
# 5. Reload and start service
|
||||
echo "5. Starting webhook service..."
|
||||
systemctl daemon-reload
|
||||
systemctl enable $SERVICE_NAME
|
||||
systemctl start $SERVICE_NAME
|
||||
|
||||
# 6. Check status
|
||||
echo ""
|
||||
echo "=== Setup Complete ==="
|
||||
echo ""
|
||||
systemctl status $SERVICE_NAME --no-pager
|
||||
echo ""
|
||||
echo "=== Next Steps ==="
|
||||
echo ""
|
||||
echo "1. Configure Gitea webhook:"
|
||||
echo " - Go to Repository Settings > Webhooks > Add Webhook"
|
||||
echo " - Target URL: http://your-server-ip:9000/webhook"
|
||||
echo " - HTTP Method: POST"
|
||||
echo " - Content Type: application/json"
|
||||
echo " - Secret: $WEBHOOK_SECRET"
|
||||
echo " - Trigger: Push Events"
|
||||
echo ""
|
||||
echo "2. If using firewall, open port 9000:"
|
||||
echo " sudo ufw allow 9000/tcp"
|
||||
echo ""
|
||||
echo "3. Test by pushing to main branch!"
|
||||
echo ""
|
||||
echo "=== Useful Commands ==="
|
||||
echo "View logs: journalctl -u $SERVICE_NAME -f"
|
||||
echo "Restart: sudo systemctl restart $SERVICE_NAME"
|
||||
echo "Manual deploy: sudo -u bini $APP_DIR/deploy.sh"
|
||||
Reference in New Issue
Block a user