name: Publish Website run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 on: push: branches: [ main ] jobs: publish: runs-on: ubuntu-latest steps: # Step 0: Detect Docker host IP (works inside containers) - name: Detect Gitea host IP id: host_ip run: | HOST_IP=$(ip route | grep default | awk '{print $3}') echo "GITEA_HOST=$HOST_IP" >> $GITHUB_ENV echo "Detected Gitea host IP: $HOST_IP" # Clone the website repo over HTTPS - name: Checkout website repo run: git clone https://code.akshaykolli.net/lepton/website . # Setup SSH agent with secret key - name: Set up SSH agent env: SSH_KEY: ${{ secrets.ACCESS_KEY }} run: | eval "$(ssh-agent -s)" echo "$SSH_KEY" | tr -d '\r' | ssh-add - ssh-add -l # Trust Gitea host's SSH key - name: Trust Gitea host run: | mkdir -p ~/.ssh ssh-keyscan -H -p 222 $GITEA_HOST 2>/dev/null >> ~/.ssh/known_hosts # Optional: Debug SSH connection - name: Check if Gitea SSH is alive run: ssh -p 222 git@$GITEA_HOST || echo "Warning: SSH connection failed but continuing..." # Clone template repo via SSH - name: Clone template repo run: | git clone --depth 1 ssh://git@$GITEA_HOST:222/lepton/app_templates /tmp/template # Copy Docker configuration files - name: Copy Docker configuration run: | cp /tmp/template/web/docker-compose.yml . cp /tmp/template/web/Dockerfile . # Tear down any old deployment - name: Stop existing stack run: docker compose down --remove-orphans || true # Rebuild and start fresh - name: Rebuild and deploy run: docker compose up -d --build