Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nitwhiz/movie-match
Helping you find matching movies for you and your SO since 2023!
https://github.com/nitwhiz/movie-match
matching movies tv voting
Last synced: 18 days ago
JSON representation
Helping you find matching movies for you and your SO since 2023!
- Host: GitHub
- URL: https://github.com/nitwhiz/movie-match
- Owner: nitwhiz
- Created: 2023-02-03T14:29:27.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-09-06T19:00:32.000Z (about 1 year ago)
- Last Synced: 2024-06-21T17:01:51.438Z (5 months ago)
- Topics: matching, movies, tv, voting
- Language: Go
- Homepage:
- Size: 278 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# movie-match
Helping you find matching movies for you and your SO since 2023!
## Getting Started
### Configuration
Example `config.yml`, suitable for usage with the `docker-compose.yml` from the next section:
```yaml
database:
host: "db"
port: "5432"
user: "root"
password: "root"media_providers:
tmdb:
language: "de"
region: "de-DE"
api_key: ""
poster_base_url: "https://image.tmdb.org/t/p/w780"poster:
fs_base_path: "/opt/movie-match/posters"login:
jwt_key: ""
users:
- username: "user1"
display_name: "User 1"
password: ""
- username: "user2"
display_name: "User 2"
password: ""```
### Passwords
To generate passwords for your user config, run the `hash` command:
```shell
docker run --rm -it ghcr.io/nitwhiz/movie-match-server:latest hash
```You should generate passwords with the same version of the server that's going to consume the password.
### Running with `docker-compose`
Example `docker-compose.yml`:
```yaml
services:db:
image: postgres:15.1-alpine3.17
environment:
POSTGRES_USER: "root"
POSTGRES_PASSWORD: "root"
POSTGRES_DB: "movie_match"
ports:
- "5432:5432"
volumes:
- "db_data:/var/lib/postgresql/data"
networks:
- dbserver:
image: ghcr.io/nitwhiz/movie-match-server:latest
volumes:
- "./config.yml:/opt/movie-match/config.yml:ro" # mount your config
- "server_data_posters:/opt/movie-match/posters" # mount a directory to store media posters
ports:
- "6445:6445"
depends_on:
- db
networks:
- dbapp:
image: ghcr.io/nitwhiz/movie-match-app:latest
environment:
MOVIEMATCH_API_SERVER_BASE_URL: "http://localhost:6445/"
ports:
- "8080:80"networks:
db:volumes:
db_data:
server_data_posters:
```## Server Options
The server is designed to run as
- User Token Cleaner: `--with-token-cleanup`
- Media Auto Pull Server: `--with-media-auto-pull`
- Webserver: `--web`Which part is enabled can be decided via flags, see next section.
The docker containers have all flags enabled by default
### Start a server with all functionalities
```shell
movie-match serve \
--web \
--with-token-cleanup \
--with-media-auto-pull
```### Start a server which does not pull media automatically
```shell
movie-match serve \
--web \
--with-token-cleanup
```