# 5 Apprise - Notifications (optional, but essential for backups with Borgmatic)

Apprise sends notifications about your server and applications (e.g., backup success/failure). It supports email, Slack, Telegram, and 90+ providers. For detailed provider setup, see the [official Apprise documentation](https://github.com/caronc/apprise).

## Why Apprise?

- ✅ **Essential for backups** - [Borgmatic](https://docs.speedbits.io/books/2-beginner-path/page/6-borgmatic-backup-system-optional-but-you-should-have-backup "6: Installing Borgmatic - Your Backup System") uses Apprise for alerts
- ✅ **Many providers** - Email, Slack, Discord, Telegram, etc.
- ✅ **Simple** - One container, easy configuration

## Prerequisites

- ✅ Traefik installed (Chapter 4)
- ✅ Docker running (Chapter 3)
- ✅ Optional: Subdomain (Chapter 4.5), e.g., `notify.yourdomain.com`

## Step 1: Start Infinity Tools

```
sudo infinity-tools
```

## Step 2: Install Apprise

1. Go to **📱 APPLICATIONS**
2. Select **Apprise**
3. Choose **Install Apprise**

### Using the Infinity Tools GUI

- Use **↑/↓** to move, **Enter** to select, **Esc** to go back
- Look for the **turquoise cursor** indicating the current selection
- Each screen shows a short description at the top explaining what’s needed

### Step 2.1: Choose SSL Mode

You’ll see three options. Here’s what each means and when to use it:

- **Traefik (recommended)**
    - **What it is:** Uses your domain name with a trusted HTTPS certificate from Let’s Encrypt
    - **What you need:** A subdomain (e.g., `notify.yourdomain.com`) pointing to your server (see Chapter 4.5)
    - **What you get:** No browser warnings, a clean URL like `https://notify.yourdomain.com/notify`
    - **Pick this if:** You plan to use Apprise over the internet or want the simplest, secure setup
- **Standalone HTTPS (self‑signed)**
    - **What it is:** Uses HTTPS with a self‑signed certificate (your browser will warn it’s not trusted)
    - **What you need:** Just a free port (e.g., 8099)
    - **What you get:** URL like `https://SERVER_IP:8099/notify` with a warning you must accept once
    - **Pick this if:** You only use Apprise inside your own network and don’t want to set up a domain yet
- **Standalone HTTP (not encrypted)**
    - **What it is:** No encryption. Data is sent in plain text
    - **What you need:** A free port (e.g., 8098)
    - **What you get:** URL like `http://SERVER_IP:8098/notify`
    - **Pick this only if:** You’re testing temporarily on a private network and never expose it to the internet

**Simple rule of thumb:** Use **Traefik** if you have a domain; use **Standalone HTTPS** for quick local use; avoid **HTTP** on the internet.

### Step 2.2: If You Choose Traefik

1. Enter your subdomain, e.g., `notify.yourdomain.com`
2. Ensure the subdomain’s DNS A record points to your server (see Chapter 4.5)
3. Infinity Tools will configure HTTPS automatically via Let’s Encrypt

**After install:** Your endpoint will be `https://notify.yourdomain.com/notify`

### Step 2.3: If You Choose Standalone

1. Pick a port (suggested defaults appear on screen) 
    - HTTPS (self‑signed): e.g., `8099` → `https://SERVER_IP:8099/notify`
    - HTTP: e.g., `8098` → `http://SERVER_IP:8098/notify`
2. Accept the browser warning if using self‑signed HTTPS

### Where to Find the URL After Install

- On the finish screen, Infinity Tools prints the access URL
- You can also see it in **📊 STATUS &amp; HEALTH → STATUS**

### What Happens

- Apprise container is created
- Optional domain + Traefik HTTPS routing
- Service is exposed for local HTTP API calls

## Step 3: Configure a Notification

Set your first notification target (example: email). You can add more later.

### Example: Email (SMTP)

Collect: SMTP host, username, password, from address.

- Provider URL example: `mailtos://USERNAME:PASSWORD@SMTP_HOST:587/?from=from@yourdomain.com&to=you@example.com`
- Store this URL safely; you’ll paste it where notifications are configured (e.g., Borgmatic)

### Test a Notification

1. Find your Apprise endpoint (e.g., `http://apprise:8000/notify` or your domain)
2. Send a test: ```
    curl -X POST "http://apprise:8000/notify" \
      -d "title=Test" \
      -d "body=Hello from Apprise" \
      -d "url=YOUR_PROVIDER_URL"
    ```
3. Confirm you received the notification

## Where It’s Used

- **Borgmatic:** Backup success/failure/security alerts
- **Other tools:** Can post to the same endpoint

## Troubleshooting

- Check container logs: `docker logs apprise`
- Verify provider URL syntax (see official docs)
- Confirm network access to your SMTP/notification provider

## You're Ready

Apprise is now running. Next, install Borgmatic (Chapter 6) so your backups can send notifications.