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:
parent
2afadaf4d0
commit
b185794e82
18
README.md
18
README.md
|
|
@ -85,6 +85,8 @@ Add these hostnames to your Cloudflare tunnel config (`/root/cloudflared/config.
|
||||||
# Media Request System
|
# Media Request System
|
||||||
- hostname: requests.jeffemmett.com
|
- hostname: requests.jeffemmett.com
|
||||||
service: http://localhost:80
|
service: http://localhost:80
|
||||||
|
- hostname: invite.jeffemmett.com
|
||||||
|
service: http://localhost:80
|
||||||
- hostname: sonarr.jeffemmett.com
|
- hostname: sonarr.jeffemmett.com
|
||||||
service: http://localhost:80
|
service: http://localhost:80
|
||||||
- hostname: radarr.jeffemmett.com
|
- hostname: radarr.jeffemmett.com
|
||||||
|
|
@ -136,6 +138,21 @@ Then restart cloudflared: `docker restart cloudflared`
|
||||||
- Port: `7878` (Radarr) or `8989` (Sonarr)
|
- Port: `7878` (Radarr) or `8989` (Sonarr)
|
||||||
- API Key: Get from Radarr/Sonarr Settings → General
|
- 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
|
## Services
|
||||||
|
|
||||||
| Service | URL | Description |
|
| Service | URL | Description |
|
||||||
|
|
@ -143,6 +160,7 @@ Then restart cloudflared: `docker restart cloudflared`
|
||||||
| Jellyfin | https://movies.jeffemmett.com | Video streaming (movies & TV) |
|
| Jellyfin | https://movies.jeffemmett.com | Video streaming (movies & TV) |
|
||||||
| Navidrome | https://music.jeffemmett.com | Music streaming server |
|
| Navidrome | https://music.jeffemmett.com | Music streaming server |
|
||||||
| Jellyseerr | https://requests.jeffemmett.com | Media request interface |
|
| Jellyseerr | https://requests.jeffemmett.com | Media request interface |
|
||||||
|
| Wizarr | https://invite.jeffemmett.com | User invitation system |
|
||||||
| Sonarr | https://sonarr.jeffemmett.com | TV show management |
|
| Sonarr | https://sonarr.jeffemmett.com | TV show management |
|
||||||
| Radarr | https://radarr.jeffemmett.com | Movie management |
|
| Radarr | https://radarr.jeffemmett.com | Movie management |
|
||||||
| Lidarr | https://lidarr.jeffemmett.com | Music management |
|
| Lidarr | https://lidarr.jeffemmett.com | Music management |
|
||||||
|
|
|
||||||
|
|
@ -213,6 +213,28 @@ services:
|
||||||
- "traefik.http.services.qbittorrent.loadbalancer.server.port=8080"
|
- "traefik.http.services.qbittorrent.loadbalancer.server.port=8080"
|
||||||
- "traefik.docker.network=traefik-public"
|
- "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)
|
# Legacy Transmission (kept for compatibility, prefer qBittorrent)
|
||||||
transmission:
|
transmission:
|
||||||
image: linuxserver/transmission:latest
|
image: linuxserver/transmission:latest
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue