https://github.com/json-bateman/watchma
1.5K
Stop arguing about what to watch. Watchma is an interactive movie voting system for groups. Connect to your Jellyfin server and let everyone vote and then Watchma movies hit yo screen. 🎬
The voting system is influenced by the young CGP Grey. Everyone Should Vote More Than Once
Create a docker-compose.yml file:
services:
watchma:
image: jsonbateman/watchma:latest
container_name: watchma
ports:
- "58008:58008"
volumes:
- ./watchma-data:/data
environment:
- PORT=58008
- LOG_LEVEL=INFO
# Connect to your Jellyfin server
- JELLYFIN_API_KEY=your_api_key_here
- JELLYFIN_BASE_URL=https://jellyfin.example.com
# Optional: Enable AI-powered game announcements
- OPENAI_API_KEY=your_openai_key_here
restart: unless-stopped
Then run:
docker compose up -d
| Variable | Required | Default | Description |
|---|---|---|---|
PORT | No | 58008 | Port the web interface runs on |
LOG_LEVEL | No | INFO | Logging level: DEBUG, INFO, WARN, ERROR |
JELLYFIN_API_KEY | No | - | Your Jellyfin API key (uses dummy data if not provided) |
JELLYFIN_BASE_URL | No | - | Your Jellyfin server URL (e.g., https://jellyfin.example.com) |
OPENAI_API_KEY | No | - | OpenAI API key for AI-generated game messages (~$0.01 per 100 games) |
Note: Watchma works without Jellyfin. However, It'll use dummy movie data for testing. Jellyfin url and api key gives the full experience.
| Container Path | Purpose | Required |
|---|---|---|
/data | Database and persistent data | Yes |
Important: Make sure to mount /data to persist your users, game history, and settings.
https://raw.githubusercontent.com/json-bateman/watchma/main/watchma.xmlThis image supports multiple architectures:
Docker will automatically pull the correct architecture for your system.
Check if Watchma is running:
curl http://localhost:58008
Or check the logs:
docker logs watchma
docker compose pull
docker compose up -d
docker pull jsonbateman/watchma:latest
docker stop watchma
docker rm watchma
# Then run your docker run command again
docker logs watchma for connection errorsWatchma uses SQLite. Make sure:
/data volume has proper permissionsdocker run -d \
--name watchma \
-p 58008:58008 \
-v /path/to/watchma-data:/data \
-e JELLYFIN_API_KEY="your_api_key_here" \
-e JELLYFIN_BASE_URL="https://jellyfin.example.com" \
-e OPENAI_API_KEY="sk-..." \
-e LOG_LEVEL="INFO" \
--restart unless-stopped \
jsonbateman/watchma:latest
Instead of :latest, you can pin to specific versions:
image: jsonbateman/watchma:v1.0.0
Check Docker Hub tags for available versions.
Enjoy! If you find any issues or have suggestions, please open an issue on GitHub.
Content type
Image
Digest
sha256:f1f429fda…
Size
49.7 MB
Last updated
8 months ago
docker pull jsonbateman/watchma