3.9 KiB
3.9 KiB
Quick Emby Deployment Guide
TL;DR - Deploy Emby Right Now
If you have Emby already running:
- Open dashboard:
https://status.sami - Click 📱 App Selector
- Click Emby (under Media category)
- Enter your Emby server's IP and Port (default: 8096)
- Click Deploy
- Access at:
https://emby.sami
If you need to install Emby first:
Quick Docker Deploy:
docker run -d \
--name=emby \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=America/New_York \
-p 8096:8096 \
-v ./emby-config:/config \
-v /path/to/movies:/data/movies \
-v /path/to/tvshows:/data/tvshows \
--restart unless-stopped \
lscr.io/linuxserver/emby:latest
Then add to dashboard:
- Dashboard → 📱 App Selector → Emby
- IP:
localhostor your server IP - Port:
8096 - Deploy!
Deployment Form Values
Subdomain: emby
IP Address: [your server IP]
Port: 8096
DNS Type: ⦿ Private DNS (recommended for local network)
SSL Type: ⦿ Internal CA (recommended for .sami domain)
What Happens When You Deploy
- ✅ DNS A record created:
emby.sami → your IP - ✅ Caddy reverse proxy configured
- ✅ SSL certificate generated (internal CA)
- ✅ Accessible at:
https://emby.sami
Common Deployment Scenarios
Scenario 1: Emby on Windows PC
IP: 192.168.254.100 (your PC's IP)
Port: 8096
Scenario 2: Emby in Docker on same Caddy server
IP: localhost or 172.17.0.1
Port: 8096
Scenario 3: Emby on another server (Tailscale IP)
IP: 100.xx.xx.xx (Tailscale IP)
Port: 8096
Scenario 4: Emby on NAS
IP: 192.168.254.50 (NAS IP)
Port: 8096
Verify Deployment
# Test DNS
nslookup emby.sami dns1.sami
# Test HTTPS (from Caddy server)
curl -k https://emby.sami
# Check Caddy configuration
curl http://localhost:2019/config/ | jq '.apps.http.servers.srv0.routes[] | select(.["@id"] == "emby.sami")'
# Check if Emby responds
curl http://[your-emby-ip]:8096/emby/System/Info/Public
Quick Fixes
Emby not accessible after deployment:
# Check Emby is running
curl http://[ip]:8096
# Check Caddy route exists
curl http://localhost:2019/id/emby.sami
# Check DNS record
curl "http://192.168.254.204:5380/api/zones/records/get?token=$TECHNITIUM_API_TOKEN&domain=emby.sami"
Remove and redeploy:
- Delete the card from dashboard (🗑️ button)
- Deploy again through App Selector
Manual Caddy Configuration (Alternative)
If you prefer manual configuration, add to Caddyfile:
emby.sami {
tls internal
reverse_proxy http://192.168.254.100:8096
}
Then:
caddy reload --config C:\caddy\Caddyfile
Docker-Compose Full Stack
Deploy Emby + monitoring:
version: '3.8'
services:
emby:
image: lscr.io/linuxserver/emby:latest
container_name: emby
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
volumes:
- ./emby:/config
- /media/movies:/data/movies
- /media/tv:/data/tv
ports:
- "8096:8096"
restart: unless-stopped
Deploy:
docker-compose up -d
Then use App Selector to add reverse proxy!
Next Steps After Deployment
- Initial Setup: Visit
https://emby.samiand complete wizard - Add Libraries: Settings → Library → Add Media Library
- Install Clients: Get Emby apps for your devices
- Configure Transcoding: Settings → Transcoding (enable hardware if supported)
- Setup Users: Settings → Users → Add User
Need Help?
- Full guide: See EMBY_DEPLOYMENT.md
- API docs: See api/README.md
- General setup: See DEPLOYMENT_GUIDE.md
One-Liner Docker + Dashboard Deploy
# Start Emby
docker run -d --name=emby -p 8096:8096 -e TZ=America/New_York -v ./emby:/config lscr.io/linuxserver/emby:latest
# Then open https://status.sami and use App Selector!
That's it! 🎬