Skip to content

mtlynch/screenjournal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ScreenJournal

CircleCI Docker Pulls GitHub commit activity GitHub last commit Contributors License

Like Goodreads but for couch potatoes

Animated demo of ScreenJournal

Overview

ScreenJournal lets you rate movies and TV shows and share recommendations with your friends.

ScreenJournal is like your own private Letterboxd.

Features

  • Give star ratings to movies and TV shows you've seen.
  • Write reviews to make recommendations to your friends.
  • Automatically sends email notifications when new reviews come out (or silence emails if you prefer).
  • Keep your reviews private. Only your community can access your reviews.
  • Completely free and open-source.
  • Easy to self-host.

Getting started

Pre-requisitite: TMDB API key

ScreenJournal uses TMDB for retrieving metadata about movies and TV shows.

To host a ScreenJournal server, register a free API key from TMDB.

Running ScreenJournal with Docker (easiest)

To run ScreenJournal within a Docker container, run the following command:

SJ_TMDB_API='your-TMDB-api-key' # Replace with your own

docker run \
  --env 'PORT=4003' \
  --env "SJ_TMDB_API=${SJ_TMDB_API}" \
  --env 'SJ_REQUIRE_TLS=false' \
  --publish 4003:4003/tcp \
  --volume "${PWD}/data:/data" \
  --name screenjournal \
  mtlynch/screenjournal

ScreenJournal will be running at http://localhost:4003

Alternative methods for installing ScreenJournal

See the advanced installation instructions

Creating an admin account

After starting ScreenJournal, navigate to the web UI and click "Sign Up."

Inviting users

Currently, ScreenJournal does not support open signups. The only way for new users to join your ScreenJournal server is if you invite them.

From the nav bar, go to Admin > Invites to create invitation URLs to share with new users.

Adding reviews

Once you have ScreenJournal up and running, you're ready to add reviews. Click "Add Rating" from the homepage to begin writing reviews.

Parameters

Command-line flags

Flag Meaning Default Value
-db Path to SQLite database "data/store.db"

Environment variables

Environment Variable Meaning
PORT TCP port on which to listen for HTTP connections (defaults to 4003).
SJ_TMDB_API (required) API key for TMDB. You can obtain a free key at TMDB.
SJ_BEHIND_PROXY (optional) Set to "true" to improve logging when ScreenJournal is running behind a reverse proxy.
SJ_REQUIRE_TLS (optional) Set to "false" to set session cookies without the Secure flag.
SJ_SMTP_HOST (optional) Hostname of SMTP server to send notifications.
SJ_SMTP_PORT (optional) Port of SMTP server to send notifications.
SJ_SMTP_USERNAME (optional) Username for SMTP server to send notifications.
SJ_SMTP_PASSWORD (optional) Password for SMTP server to send notifications.
SJ_BASE_URL (optional) Base URL of ScreenJournal server (only used for notifications).

Scope and future

ScreenJournal is maintained by Michael Lynch as a hobby project.

Due to time limitations, I keep ScreenJournal's scope limited to only the features that fit into my workflows. That unfortunately means that I sometimes reject proposals or contributions for perfectly good features. It's nothing against those features, but I only have bandwidth to maintain features that I use.