Add Wizarr user invitation system

- Add Wizarr container for generating invite links for friends
- Update README with Wizarr setup instructions and services table
- Add invite.jeffemmett.com to Cloudflare tunnel config example

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Jeff Emmett 2025-12-20 12:05:08 -05:00
parent 2afadaf4d0
commit b185794e82
2 changed files with 40 additions and 0 deletions

View File

@ -85,6 +85,8 @@ Add these hostnames to your Cloudflare tunnel config (`/root/cloudflared/config.
# Media Request System
- hostname: requests.jeffemmett.com
service: http://localhost:80
- hostname: invite.jeffemmett.com
service: http://localhost:80
- hostname: sonarr.jeffemmett.com
service: http://localhost:80
- hostname: radarr.jeffemmett.com
@ -136,6 +138,21 @@ Then restart cloudflared: `docker restart cloudflared`
- Port: `7878` (Radarr) or `8989` (Sonarr)
- API Key: Get from Radarr/Sonarr Settings → General
#### Step 7: Configure Wizarr (User Invitations)
1. Go to `https://invite.jeffemmett.com`
2. Create your admin account on first visit
3. Connect to Jellyfin:
- Server URL: `http://jellyfin:8096`
- API Key: Get from Jellyfin → Dashboard → API Keys → Create
4. Create invite links:
- Set expiration (1 day, 1 week, never, etc.)
- Set usage limit (1 use, unlimited, etc.)
- Share the generated link with friends
5. When friends use the link, they'll be guided through:
- Creating their Jellyfin account
- Downloading mobile apps
- Connecting to your server
## Services
| Service | URL | Description |
@ -143,6 +160,7 @@ Then restart cloudflared: `docker restart cloudflared`
| Jellyfin | https://movies.jeffemmett.com | Video streaming (movies & TV) |
| Navidrome | https://music.jeffemmett.com | Music streaming server |
| Jellyseerr | https://requests.jeffemmett.com | Media request interface |
| Wizarr | https://invite.jeffemmett.com | User invitation system |
| Sonarr | https://sonarr.jeffemmett.com | TV show management |
| Radarr | https://radarr.jeffemmett.com | Movie management |
| Lidarr | https://lidarr.jeffemmett.com | Music management |

View File

@ -213,6 +213,28 @@ services:
- "traefik.http.services.qbittorrent.loadbalancer.server.port=8080"
- "traefik.docker.network=traefik-public"
# User Invitation System - Generate invite links for friends
wizarr:
image: ghcr.io/wizarrrr/wizarr:latest
container_name: wizarr
restart: unless-stopped
environment:
- APP_URL=https://invite.jeffemmett.com
- TZ=Europe/Berlin
volumes:
- ./config/wizarr:/data/database
networks:
- media-network
- traefik-public
labels:
- "traefik.enable=true"
- "traefik.http.routers.wizarr.rule=Host(`invite.jeffemmett.com`)"
- "traefik.http.routers.wizarr.entrypoints=web"
- "traefik.http.routers.wizarr.middlewares=wizarr-headers"
- "traefik.http.services.wizarr.loadbalancer.server.port=5690"
- "traefik.http.middlewares.wizarr-headers.headers.customRequestHeaders.X-Forwarded-Proto=https"
- "traefik.docker.network=traefik-public"
# Legacy Transmission (kept for compatibility, prefer qBittorrent)
transmission:
image: linuxserver/transmission:latest