Merge branch 'master' into master

This commit is contained in:
sudo-flix 2024-03-05 19:49:23 -05:00 committed by GitHub
commit 44e395eb21
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 135 additions and 22 deletions

View File

@ -9,7 +9,7 @@ This page showcases movie-web instances hosted by the community and other altern
## Community Instances
The community maintains these trusted instances, meaning they are likely to be up-to-date. Remember that since these are volunteer instances, they might be down or stop working at any time. If you want to be sure you have access to movie-web, consider [hosting your own instance](../1.self-hosting/1.hosting-intro.md).
The community maintains these trusted instances, meaning they are likely to be up-to-date. Remember that since these are volunteer instances, they might be down or stop working at any time. If you want to be sure you have access to movie-web, consider [hosting your own instance](../1.self-hosting/1.hosting-intro.md).
**Instances marked with a 💾 have set up a backend, making it possible to sync your data across multiple devices.**<br />
**Additionally, instances with a 🌐 use the community backend hosted by Lonelil, which has all the original movie-web.app data!**<br />
@ -26,12 +26,14 @@ The community maintains these trusted instances, meaning they are likely to be u
| [sudo-flix.lol](https://sudo-flix.lol) | [itzCozi - Community Self Hoster](https://gitlab.com/itzCozi) | 💾📱 |
| [movie-web.x](https://movie-web.x) | [Unstoppable Domains](https://unstoppabledomains.com) and [IPFS](https://ipfs.tech) | 💾 |
**Note:** [movie-web.x](https://movie-web.x) is only accessible using Brave, Opera or installing an [extension](https://unstoppabledomains.com/extension) to resolve unstoppable domains.
If you cannot access [movie-web.x](https://movie-web.x) try using a gateway: [Cloudflare](https://cloudflare-ipfs.com/ipns/k51qzi5uqu5diql6nkzokwdvz9511dp9itillc7xhixptq14tk1oz8agh3wrjd), [dweb.link](https://k51qzi5uqu5diql6nkzokwdvz9511dp9itillc7xhixptq14tk1oz8agh3wrjd.ipns.dweb.link), [cf-ipfs](https://k51qzi5uqu5diql6nkzokwdvz9511dp9itillc7xhixptq14tk1oz8agh3wrjd.ipns.cf-ipfs.com)
::alert{type="info"}
[movie-web.x](https://movie-web.x) is only accessible using Brave, Opera or installing an [extension](https://unstoppabledomains.com/extension) to resolve unstoppable domains.
If you cannot access [movie-web.x](https://movie-web.x) try using a gateway: [Cloudflare](https://cloudflare-ipfs.com/ipns/k51qzi5uqu5diql6nkzokwdvz9511dp9itillc7xhixptq14tk1oz8agh3wrjd), [dweb.link](https://k51qzi5uqu5diql6nkzokwdvz9511dp9itillc7xhixptq14tk1oz8agh3wrjd.ipns.dweb.link), or [cf-ipfs](https://k51qzi5uqu5diql6nkzokwdvz9511dp9itillc7xhixptq14tk1oz8agh3wrjd.ipns.cf-ipfs.com)
::
## Community Backend
Our partner, Lonelil, has kindly offered to host a movie-web backend with a copy of the original data from the movie-web.app. You can access this backend at: `https://mw-backend.lonelil.com`
Our partner, Lonelil, has kindly offered to host a movie-web backend with a copy of the original data from the movie-web.app. You can access this backend at: `https://mw-backend.lonelil.com` or `https://mw-backend.lonelil.ru`
You **do not** have to set up a new account; you can use your previous passphrase from movie-web, and all of your data will be there!
@ -39,7 +41,7 @@ You **do not** have to set up a new account; you can use your previous passphras
These sites are not related to movie-web but are good enough to switch to if the official instances are down. You can also use [FMHY](https://fmhy.pages.dev/videopiracyguide) to find even more options.
* [watch.lonelil.com](https://watch.lonelil.com)
* [themoviearchive.site](https://themoviearchive.site)
* [braflix.video](https://braflix.video)
* [watch.streamflix.one](https://watch.streamflix.one)
- [watch.lonelil.com](https://watch.lonelil.com)
- [themoviearchive.site](https://themoviearchive.site)
- [braflix.video](https://braflix.video)
- [watch.streamflix.one](https://watch.streamflix.one)

View File

@ -43,3 +43,67 @@ title: 'Deploy'
- Vercel
- Etc, [there are lots of options](https://www.staticwebsitehosting.org/){target="\_blank"}.
9. Congrats! You have your own version of movie-web hosted.
## Method 3 - Docker Compose - Home Network
This method is meant for those using a desktop device or single board computer with a minimum of 4GB of RAM such as a [Raspberry Pi](https://www.raspberrypi.com/) to run movie-web on there home network for network connected devices.
1. Ensure you have [docker](https://docs.docker.com/get-docker/) installed. In a newly created directory called `movie-web` create a file called `docker-compose.yaml`. Paste the contents of the code block below into this file.
```yaml
version: "3.8"
services:
movieweb:
build:
context: https://github.com/movie-web/movie-web.git
# args:
# TMDB_READ_API_KEY: ""
# CORS_PROXY_URL: ""
# BACKEND_URL: ""
ports:
- "80:80"
restart: unless-stopped
```
2. Within the `docker-compose.yaml` file uncomment `args`, `TMDB_READ_API_KEY`, `CORS_PROXY_URL`.
- Make sure `args` is in-line with `context`
- Make sure `TMDB_READ_API_KEY` and `CORS_PROXY_URL` are tabbed once to the right of `args`.
3. Put your proxy URL in-between the double quotes of `CORS_PROXY_URL: ""`. Make sure to not have a slash at the end of your URL.
Example (THIS IS AN EXAMPLE, IT WON'T WORK FOR YOU): `CORS_PROXY_URL: "https://test-proxy.test.workers.dev"`
4. Put your TMDB Read Access Token inside the quotes of `TMDB_READ_API_KEY: ""`. Please read [the TMDB page](2.tmdb.md) on how to get an API key.
5. Uncomment and add any [additional environment variables](3.configuration.md) you may need. Remove the `VITE_` prefix when adding an environment variable to `args`.
6. Save the file!
7. Now use [docker](https://docs.docker.com/get-docker/) to run `movieweb` as background service.
```bash
# movie-web is the current working directory
$ docker compose up --detach
```
8. Verify that setup was successful
- Navigate to `http://localhost`. You should see the UI for `movie-web`. Find something to watch and make sure that it plays.
- View logs with
```bash
$ docker compose logs --follow movieweb
```
9. Set a static IP address for your device.
- For Raspberry Pi: [guide](https://www.makeuseof.com/raspberry-pi-set-static-ip/)
- For Mac: [guide](https://www.macinstruct.com/tutorials/how-to-set-a-static-ip-address-on-a-mac/)
- For Windows: [guide](https://www.pcmag.com/how-to/how-to-set-up-a-static-ip-address)
10. Navigate to movie web at `http://<static-ip-address` from another device connected to your network.
### To Perform Updates For New Releases of Movie Web
1. Make sure `movie-web` is your current working directory and run:
```bash
# Re-build the image and start the container
$ docker compose up --build --detach
```

View File

@ -12,26 +12,73 @@ For configuration, check out the [configuration reference](2.configuration.md).
The postgres database will need to be populated with [migrations](0.introduction.md#migrations) if `postgres.migrateOnBoot` isn't enabled.
::
## Method 1 - Docker
## Method 1 - Docker Deployment
This method will help you set up the backend with the bare minimum configuration options. You'll most likely want to [add some more environment variables](2.configuration.md) to customize your experience more thoroughly.
This method provides a straightforward setup with minimal configuration. For more extensive customization, see the [Configuration Reference](2.configuration.md).
The command below will not work unless customized by you, change the [`MWB_POSTGRES__CONNECTION`](2.configuration.md#postgresconnection) and [`MWB_CRYPTO__SESSION_SECRET`](2.configuration.md#cryptosessionsecret) to something valid for the backend to function.
**Prerequisites**
If you're using a hosted postgres database like [Neon](https://neon.tech/){target="\_blank"}, you'll also want to enable SSL support for the backend using the [`postgres.ssl`](2.configuration.md#postgresssl) option.
* **Docker:** If you don't have Docker installed, download it from the official website: [Docker installation](https://www.docker.com/get-started)
* **Docker Compose:** Install Docker Compose following the instructions for your operating system: [Docker-Compose installation](https://docs.docker.com/compose/install/)
For other versions of the image, [check out the package page](https://github.com/movie-web/backend/pkgs/container/backend){target="\_blank"}.
**Setup**
1. **Create `docker-compose.yml`:**
```sh
docker run \
-p 80:80 \
-e MWB_POSTGRES__CONNECTION=postgresql://localhost:5432 \
-e MWB_CRYPTO__SESSION_SECRET=add-your-own-secret \
-e MWB_META__NAME=unofficial-movie-web \
ghcr.io/movie-web/backend:latest
```
```yaml
version: '3.8'
After running that command, your backend [_should_](../1.self-hosting/4.troubleshooting.md) now be available on `localhost:80`. if you want to be able to connect to the backend outside of your local network (for example sharing it with your friends), then you'll need set up to port forwarding.
services:
postgres:
image: postgres
environment:
POSTGRES_USER: movie_web_user
POSTGRES_DB: movie_web_backend
POSTGRES_PASSWORD: YourPasswordHere
ports:
- "5432:5432"
networks:
- movie-web-network
movie-web:
image: ghcr.io/movie-web/backend:latest
environment:
MWB_POSTGRES__CONNECTION: postgresql://movie_web_user:YourPasswordHere@postgres:5432/movie_web_backend
MWB_CRYPTO__SESSION_SECRET: 32CharacterLongStringHere
MWB_META__NAME: unofficial-movie-web
MWB_POSTGRES__MIGRATE_ON_BOOT: "true"
MIKRO_ORM_MIGRATIONS_DISABLE_FOREIGN_KEYS: "true"
ports:
- "80:80"
depends_on:
- postgres
networks:
- movie-web-network
networks:
movie-web-network:
driver: bridge
```
**Important:**
* Replace `YourPasswordHere` with your secure database password.
* Generate a strong session secret and replace `32CharacterLongStringHere`.
2. **Start the Backend:** Open a terminal in the directory containing `docker-compose.yml` and execute:
```bash
docker-compose up -d
```
**Accessing Your Backend**
Your backend should be accessible on `(YourPrivateIP):80`. To share it outside your local network, you'll need to configure port forwarding or cloudflared tunnel.
**Optional: Implementing a Reverse Proxy**
To enhance your SSL and domain configuration, it's advisable to establish a reverse proxy, such as Nginx. For an optimal choice in this regard, Cloudflare Zero Trust Tunnel is recommended. You can find more information [here](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/create-remote-tunnel/).
- If you decide to utilize a reverse proxy, it's important to include `MWB_SERVER__CORS: "https://movie.example.com"` in your configuration.
- `MWB_SERVER__CORS` must contain a **space-separated** list of origins (Protocol + Hostname) for the client to be able to access the backend.
- Depending on your specific setup, you may also require the addition of `MWB_SERVER__TRUST_PROXY: true` and `MWB_SERVER__TRUST_CLOUDFLARE: true`.
## Method 2 - Railway (Easy)