154 lines
3.8 KiB
Markdown
154 lines
3.8 KiB
Markdown
# Greendale Media Centre — Unraid Setup Guide
|
|
|
|
## Quick Start
|
|
|
|
### 1. Export to Unraid
|
|
|
|
```bash
|
|
# Make the export script executable
|
|
chmod +x export-to-unraid.sh
|
|
|
|
# Export (replace with your Unraid IP)
|
|
./export-to-unraid.sh root@192.168.86.10
|
|
|
|
# Or with a custom destination path
|
|
./export-to-unraid.sh root@192.168.86.10 /mnt/user/appdata/greendale
|
|
```
|
|
|
|
### 2. Configure `.env` on Unraid
|
|
|
|
SSH into your Unraid server and edit the config:
|
|
|
|
```bash
|
|
ssh root@192.168.86.10
|
|
nano /mnt/user/appdata/greendale/.env
|
|
```
|
|
|
|
**Minimum required fields:**
|
|
|
|
```env
|
|
LOGIN_PASSWORD=your_chosen_password
|
|
SECRET_KEY=<random 32-char string>
|
|
ARR_HOST=192.168.86.33
|
|
SONARR_API_KEY=...
|
|
RADARR_API_KEY=...
|
|
SABNZBD_API_KEY=...
|
|
TAUTULLI_API_KEY=...
|
|
PROWLARR_API_KEY=...
|
|
OMBI_API_KEY=...
|
|
```
|
|
|
|
Generate a secure `SECRET_KEY`:
|
|
```bash
|
|
python3 -c "import secrets; print(secrets.token_hex(32))"
|
|
```
|
|
|
|
### 3. Start the Container
|
|
|
|
```bash
|
|
cd /mnt/user/appdata/greendale
|
|
docker compose up -d
|
|
```
|
|
|
|
The dashboard will be available at `http://YOUR_UNRAID_IP:5055`
|
|
|
|
---
|
|
|
|
## Nginx Proxy Manager (Recommended for Unraid)
|
|
|
|
If you're using **Nginx Proxy Manager** (NPM) on Unraid:
|
|
|
|
1. In NPM, go to **Proxy Hosts → Add Proxy Host**
|
|
2. Fill in:
|
|
- **Domain:** `media.yourdomain.com`
|
|
- **Scheme:** `http`
|
|
- **Forward Hostname/IP:** your Unraid IP (e.g. `192.168.86.10`)
|
|
- **Forward Port:** `5055`
|
|
- Enable **"Block Common Exploits"**
|
|
- Enable **"Websockets Support"**
|
|
3. On the **SSL tab:** request a Let's Encrypt certificate
|
|
|
|
That's it. NPM handles the SSL termination and reverse proxy automatically.
|
|
|
|
---
|
|
|
|
## Manual Nginx Config
|
|
|
|
If you're running Nginx directly (not NPM), use the configs in the `nginx/` folder:
|
|
|
|
| File | Use when |
|
|
|------|----------|
|
|
| `nginx/greendale-subdomain.conf` | You want `https://media.yourdomain.com` |
|
|
| `nginx/greendale-subpath.conf` | You want `https://yourdomain.com/media/` |
|
|
|
|
Copy the appropriate file and replace the placeholders:
|
|
- `YOUR_UNRAID_IP` → your Unraid server's LAN IP
|
|
- `yourdomain.com` / `media.yourdomain.com` → your domain
|
|
- `5055` → your `HOST_PORT` (if you changed it)
|
|
|
|
---
|
|
|
|
## Login Page
|
|
|
|
The dashboard is protected by a single-password login page themed to match Greendale.
|
|
|
|
- Set `LOGIN_PASSWORD` in `.env`
|
|
- Sessions persist for the browser session (close browser to log out)
|
|
- Visit `/logout` to manually log out
|
|
- If `LOGIN_PASSWORD` is not set, the login is bypassed (dev mode)
|
|
|
|
---
|
|
|
|
## Updating
|
|
|
|
To push code changes to Unraid after editing locally:
|
|
|
|
```bash
|
|
# Re-run the export script
|
|
./export-to-unraid.sh root@192.168.86.10
|
|
|
|
# On Unraid:
|
|
cd /mnt/user/appdata/greendale
|
|
docker compose down
|
|
docker compose up -d
|
|
```
|
|
|
|
---
|
|
|
|
## Unraid Community Applications (Manual Docker Template)
|
|
|
|
If you prefer to set up via the Unraid Docker UI instead of `docker compose`:
|
|
|
|
| Field | Value |
|
|
|-------|-------|
|
|
| Name | `greendale-media-centre` |
|
|
| Repository | `arr-summary-arr-summary` (after loading image) |
|
|
| Port | Host: `5055` → Container: `5000` |
|
|
| ENV: `LOGIN_PASSWORD` | your password |
|
|
| ENV: `SECRET_KEY` | random 32-char string |
|
|
| ENV: `ARR_HOST` | `192.168.86.33` |
|
|
| ENV: `SONARR_API_KEY` | your key |
|
|
| ENV: `RADARR_API_KEY` | your key |
|
|
| ENV: `SABNZBD_API_KEY` | your key |
|
|
| ENV: `TAUTULLI_API_KEY` | your key |
|
|
| ENV: `PROWLARR_API_KEY` | your key |
|
|
| ENV: `OMBI_API_KEY` | your key |
|
|
| Restart Policy | `unless-stopped` |
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
**Container won't start:**
|
|
```bash
|
|
docker logs arr-summary
|
|
```
|
|
|
|
**Can't reach services (all cards show errors):**
|
|
- Verify `ARR_HOST` is the correct LAN IP
|
|
- Ensure services are running and accessible from Unraid
|
|
- Check API keys are correct
|
|
|
|
**Login loop / session issues:**
|
|
- Make sure `SECRET_KEY` is set and consistent (random restarts shouldn't clear sessions)
|
|
- If running behind a proxy, confirm `X-Forwarded-Proto` header is being passed
|