diff --git a/README.md b/README.md index f75ae04..911e503 100644 --- a/README.md +++ b/README.md @@ -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 | diff --git a/docker-compose-server.yml b/docker-compose-server.yml index f166c9c..d067ac8 100644 --- a/docker-compose-server.yml +++ b/docker-compose-server.yml @@ -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