Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/KopyTKG/MovieDB

Database viewer of my plex library
https://github.com/KopyTKG/MovieDB

api mongodb movies nextjs nextui prisma-client tailwindcss

Last synced: 2 days ago
JSON representation

Database viewer of my plex library

Awesome Lists containing this project

README

        

# MovieDB

MovieDB is a NextJS project to share my plex movie library. It is also use as learning ground for NextJS, caching and MongoDB. MovieDB UI is build in [NextUI](https://nextui.org/) + [FramerMotion](https://www.framer.com/motion/) and [Tailwind](https://tailwindcss.com/).

![GitHub License](https://img.shields.io/github/license/kopytkg/MovieDB)

![GitHub package.json version (branch)](https://img.shields.io/github/package-json/v/KopyTKG/MovieDB/Live)

![Website](https://img.shields.io/website?up_message=live&down_message=droped&url=https%3A%2F%2Fmovies.thekrew.app%2F)

## Security

See [`SECURITY.md`](https://github.com/KopyTKG/MovieDB/blob/Live/SECURITY.md) for information on supported versions.

## Deployment

**For public use is recomended to use [Vercel](https://vercel.com)**

for home use it is needed to fill `.env` file

### `.env` settings

```env
NEXT_PUBLIC_BASE_URL=http://localhost:3000 # change to public URL if uploaded to Vercel
REDIS_URL=redis://user:password@url:port
POSTGRES_URL=postgres://user:password@url:port/db

# Auth settings
SECRET=change-me-please # use 128 char or longer string with upper/lower case letters and numbers -> Used for core API auth to prevent bots spamming
AUTH_URL=http://localhost:3000 # change for production URL
AUTH_SECRET=change-me-please # for production use `openssl rand -base64 32`

# Providers
GITHUB_ID=gh_id # OAuth id for github
GITHUB_SECRET=gh_secret # OAuth secret for github
```

It is recomended to use [**Railway**](https://railway.app/) as a DB/Redis provider for easy setup and management.

## Self-hosted Installation

1. clone this repo
2. navigate into root folder of the repo
3. fill all required variables in `.env`
4. run all commands listed below

```bash
npm install
npx prisma db push
npx prisma generate
npm build && npm start
```