Deploying Watcharr
Introduction
Watcharr is a self-hosted media tracking application that helps you keep track of movies and TV shows you have watched, are watching, or plan to watch. With a beautiful, modern interface and comprehensive metadata from TMDB, Watcharr provides everything you need to manage your media consumption.
Built with Go and React, Watcharr offers fast performance and a responsive design that works well on desktop and mobile devices. All your data is stored locally, giving you complete control over your media tracking information.
Key features of Watcharr include:
- Watch Status Tracking: Mark content as watched, watching, planned, or dropped
- TMDB Integration: Automatic metadata, posters, and descriptions from The Movie Database
- Episode Tracking: Track individual episode progress for TV series
- Rating System: Rate movies and shows with your personal scores
- Watchlist Management: Organize content you plan to watch
- Search and Discovery: Find new movies and shows to add to your list
- Statistics: View your watching habits and statistics
- Multi-User Support: Create accounts for family members
- Import/Export: Import data from other tracking services
- Mobile-Responsive: Full functionality on all device sizes
This guide walks you through deploying Watcharr on Klutch.sh using Docker with persistent storage for your tracking data.
Prerequisites
Before deploying Watcharr on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your Watcharr configuration
- Basic familiarity with Docker concepts
Repository Structure
Create a GitHub repository with the following structure:
watcharr-deploy/├── Dockerfile└── .dockerignoreDockerfile
Create a Dockerfile in your repository:
FROM ghcr.io/sbondco/watcharr:latest
# Watcharr web interfaceEXPOSE 3080
# The base image handles the entrypointEnvironment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
TZ | No | UTC | Timezone for the application |
Deployment on Klutch.sh
- Push your Dockerfile to your GitHub repository.
- Log in to Klutch.sh and create a new project.
- Create a new app within your project and connect your GitHub repository containing the Dockerfile.
- Configure the deployment settings: - Select **HTTP** as the traffic type - Set the internal port to **3080**
- Add environment variables: - `TZ`: Your timezone (e.g., `America/New_York`)
- Attach a persistent volume: - Mount path: `/data` - Recommended size: 1 GB - Purpose: SQLite database and user data
- Click **Deploy** and wait for the build to complete.
- Access your Watcharr instance at the provided URL and create your account.
Post-Deployment Configuration
After deployment:
- Create your user account
- Start adding movies and TV shows to your watchlist
- Track your viewing progress and add ratings
- Explore the search feature to discover new content
Troubleshooting
TMDB Data Not Loading
Watcharr uses TMDB for metadata. Ensure your deployment has outbound internet access. No API key is required as Watcharr uses its own.
Data Not Persisting
Verify the persistent volume is mounted at /data. This directory contains the SQLite database with all your tracking data.