--- tags: - GIT - CI/CD - CI-CD --- Here is how to add instant notifications to your setup and solve the common homelab issue of mismatched storage paths between your testing runner and your live production server. --- 🔔 Part 1: Send a Discord or Telegram Notification You can easily append a notification step to the very end of your workflow. By utilizing Gitea's conditional blocks (`if: always()`), you can ensure you get notified whether the deployment succeeds or crashes. Option A: Sending to Discord 1. Open your Discord server, go to your target channel settings, click **Integrations**, and create a **Webhook**. Copy the URL. 2. Store that URL in your Gitea Repository Secrets as `DISCORD_WEBHOOK`. - name: Send Discord Status Notification if: always() # Ensures this runs even if the deployment failed uses: https://github.com with: verify: false url: ${{ secrets.DISCORD_WEBHOOK }} # Evaluates the final outcome of the job to change the message dynamically title: "Homelab Deployment: ${{ job.status == 'success' && '✅ SUCCESS' || '❌ FAILED' }}" description: "The commit '${{ gitea.event.head_commit.message }}' by ${{ gitea.actor }} has finished processing." color: ${{ job.status == 'success' && '0x00FF00' || '0xFF0000' }} Option B: Sending to Telegram 1. Message `@BotFather` on Telegram to create a new bot and copy your **Bot Token**. 2. Message `@userinfobot` to find your personal **Chat ID**. 3. Save these in Gitea Secrets as `TELEGRAM_TOKEN` and `TELEGRAM_TO`. - `name: Send Telegram Status Notification` `if: always()` `uses: https://github.com` `with:` `token: ${{ secrets.TELEGRAM_TOKEN }}` `to: ${{ secrets.TELEGRAM_TO }}` `message: |` `Homelab Deploy Status: ${{ job.status }}` `Actor: ${{ gitea.actor }}` `Commit: ${{ gitea.event.head_commit.message }}`