2023-05-16 21:24:15 +00:00
2023-05-09 19:46:50 +01:00
2023-05-15 23:09:25 +00:00
2023-05-16 21:24:15 +00:00
2023-03-11 22:56:29 +00:00
2023-03-11 22:56:29 +00:00
2023-03-04 14:10:49 +00:00
2023-03-11 22:56:29 +00:00
2023-03-11 22:56:29 +00:00
2023-03-11 22:56:29 +00:00
2023-04-09 11:17:11 +01:00
2023-05-16 21:24:15 +00:00
2023-03-04 14:10:49 +00:00
2023-05-09 01:52:22 +01:00
2023-05-09 01:52:22 +01:00
2023-03-11 22:56:29 +00:00
2023-05-16 21:24:15 +00:00

Watcharr

logo

I'm the place you store your watched content for later rememberance, sadly I am still in my infancy. I aspire to be easily self hosted.

I am built with Go and Svelte(Kit).

Feel free to abuse this demo instance (nicely), which runs on the latest dev build (there may be bugs, as new features are tested on here too before release): https://watcharr.lab.sbond.co/

Screenshots

Watched List

Watched List

Watched Show Hover Watched Show Status Change Show Details
Watched List Changing Show Status Content Details Page

Set Up

Currently we have docker images for each version that are fairly simple to setup, but it is a lot more complex that I would like it to be. Hopefully this improves in the future.

For now though, we have two container images (UI & Server) that work together through the use of a proxy.

Here's a simple setup to get you started based from visible files in the repo, which you can also check out. We use Caddy here, but use whatever you are comfortable with!

docker-compose.yml

version: "3"

services:
  # Watcharr API
  watcharr:
    image: ghcr.io/sbondco/watcharr:latest
    container_name: watcharr
    ports:
      - 3080:3080
    volumes:
      # .env file to configure watcharr
      - ./.env:/.env
      # Contains all of watcharr data (database & cache)
      - ./data:/data

  # Watcharr Frontend
  watcharr-ui:
    image: ghcr.io/sbondco/watcharr-ui:latest
    container_name: watcharr-ui
    ports:
      - 3000:3000
    depends_on:
      - watcharr

  # Caddy - Used as reverse proxy to services
  # and to re-route requests
  caddy:
    image: caddy:2.6
    container_name: watcharr-caddy
    ports:
      - "8080:80"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile

Caddyfile

:80 {
  # Reverse proxy for frontend
  reverse_proxy watcharr:3000

  # Route requests to /api/ to backend
  handle_path /api/* {
    reverse_proxy watcharr-server:3080
  }
}

.env

# Used to sign JWT tokens. Make sure to make
# it strong, just like a very long, complicated password.
JWT_SECRET=MAKE_ME_RANDOM_AND_LONG

# Optional: Point to your Jellyfin install
# to enable it as an auth provider.
JELLYFIN_HOST=https://my.jellyfin.example
S
Description
Open source, self-hostable watched list for all your content (movies, tv series, anime, games) with user authentication, modern and clean UI and a very simple setup.
Readme GPL-3.0 61 MiB
Languages
Go 48.5%
Svelte 43.8%
TypeScript 6.3%
SCSS 1.1%
Dockerfile 0.1%