https://github.com/mtlynch/screenjournal
Like Goodreads but for couch potatoes
https://github.com/mtlynch/screenjournal
golang movies reviews
Last synced: 7 months ago
JSON representation
Like Goodreads but for couch potatoes
- Host: GitHub
- URL: https://github.com/mtlynch/screenjournal
- Owner: mtlynch
- License: other
- Created: 2022-10-27T11:00:15.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2025-01-26T15:20:33.000Z (8 months ago)
- Last Synced: 2025-03-14T14:55:39.275Z (7 months ago)
- Topics: golang, movies, reviews
- Language: Go
- Homepage: https://thescreenjournal.com
- Size: 3.56 MB
- Stars: 11
- Watchers: 2
- Forks: 2
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ScreenJournal
[](https://circleci.com/gh/mtlynch/screenjournal)
[](https://hub.docker.com/r/mtlynch/screenjournal/)
[](https://github.com/mtlynch/screenjournal/commits/master)
[](https://github.com/mtlynch/screenjournal/commits/master)
[](https://github.com/mtlynch/screenjournal/graphs/contributors)
[](LICENSE)Like Goodreads but for couch potatoes

## 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](https://www.themoviedb.org/documentation/api) from TMDB.
### Running ScreenJournal with Docker (easiest)
To run ScreenJournal within a Docker container, run the following command:
```bash
SJ_TMDB_API='your-TMDB-api-key' # Replace with your owndocker 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
### Alternative methods for installing ScreenJournal
See the [advanced installation instructions](docs/advanced-installation.md)
### 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](https://www.themoviedb.org/documentation/api). |
| `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](https://mtlynch.io) 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.