Like Goodreads but for couch potatoes
ScreenJournal lets you rate movies and TV shows and share recommendations with your friends.
ScreenJournal is like your own private Letterboxd.
- 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.
ScreenJournal uses TMDB for retrieving metadata about movies and TV shows.
To host a ScreenJournal server, register a free API key from TMDB.
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
See the advanced installation instructions
After starting ScreenJournal, navigate to the web UI and click "Sign Up."
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.
Once you have ScreenJournal up and running, you're ready to add reviews. Click "Add Rating" from the homepage to begin writing reviews.
Flag | Meaning | Default Value |
---|---|---|
-db |
Path to SQLite database | "data/store.db" |
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). |
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.