mirror of
https://github.com/movie-web/docs.git
synced 2025-09-13 10:03:27 +00:00
Compare commits
114 Commits
new-docs
...
fa46aa60cd
Author | SHA1 | Date | |
---|---|---|---|
|
fa46aa60cd | ||
|
d59b5cc762 | ||
|
d00bfbf5c0 | ||
|
295a9768af | ||
|
d17d887ac8 | ||
|
4b1dc698f4 | ||
|
d702599959 | ||
|
a75a04a69e | ||
|
4c3cea00b4 | ||
|
a7bf9aeb6f | ||
|
e91c046fad | ||
|
218221d639 | ||
|
0d926751c3 | ||
|
bcc5b9c4f1 | ||
|
06d4cf0394 | ||
|
fcfde5cbcc | ||
|
0fb2861625 | ||
|
1cf56756d3 | ||
|
0f89240ea4 | ||
|
20e6e88718 | ||
|
2dea0dab9c | ||
|
a81d7398cf | ||
|
408140c645 | ||
|
56fffa8e6b | ||
|
8aa38f3cce | ||
|
b1492e7a9f | ||
|
9989fd8cc2 | ||
|
fbf4648932 | ||
|
c83a7fa616 | ||
|
44e395eb21 | ||
|
16f16a076f | ||
|
25adb1e20f | ||
|
425d9028a0 | ||
|
e757c8046b | ||
|
08969d16e5 | ||
|
2ef0cd5cd1 | ||
|
ab0bf06a00 | ||
|
91ad96ea92 | ||
|
07709a5b77 | ||
|
5a1f212c5d | ||
|
f0b56274d7 | ||
|
5597d2f17a | ||
|
74335dc29d | ||
|
209cf4e5bc | ||
|
830f901944 | ||
|
cfb51e7797 | ||
|
59ef01d5b1 | ||
|
2f4de94ec6 | ||
|
69efe88f43 | ||
|
c8bd898fd2 | ||
|
9ea0b2cdba | ||
|
104e6cff61 | ||
|
30bd6dde4f | ||
|
4d7a7abfe9 | ||
|
14ccc4cdf7 | ||
|
a924d36ae2 | ||
|
5f643c271e | ||
|
b7c0253f5d | ||
|
c7382997bf | ||
|
7c4cbdf023 | ||
|
23c6373b66 | ||
|
861e30d79f | ||
|
d9601d5446 | ||
|
5df6e1d646 | ||
|
1180d0d189 | ||
|
0f2f09b96d | ||
|
9974e90f99 | ||
|
74ef15d547 | ||
|
38048d445e | ||
|
d5ca2647d1 | ||
|
075243969c | ||
|
350e7d8c1a | ||
|
a6491e3be8 | ||
|
897165cdde | ||
|
7e83619f91 | ||
|
0cedc72bb3 | ||
|
19c9f15a50 | ||
|
0018c82185 | ||
|
63a45bbfed | ||
|
d9b8de8a42 | ||
|
5a6835c891 | ||
|
50aab55bed | ||
|
1d14e96e95 | ||
|
5e6916c61d | ||
|
573ee58fa6 | ||
|
b195bc29e4 | ||
|
534eee7289 | ||
|
1cbf557171 | ||
|
81fe8205a8 | ||
|
011570a054 | ||
|
56ad2f8a8b | ||
|
377c6bdcaf | ||
|
723f869de2 | ||
|
2faee2931e | ||
|
bfe02b9e5c | ||
|
c90892149a | ||
|
1ef42156d5 | ||
|
0906d85a13 | ||
|
8308a4cf4d | ||
|
ef34a734ee | ||
|
4e8e4f20b7 | ||
|
78ae29dcfc | ||
|
9bb7be831e | ||
|
6d778fd124 | ||
|
f1ecf954cf | ||
|
de9567bbfa | ||
|
0c023f6075 | ||
|
7f1797daa7 | ||
|
0cfab658c0 | ||
|
04c23b4d2d | ||
|
32746c0c63 | ||
|
b3b87113d1 | ||
|
07191858ba | ||
|
f5afacf0b5 |
72
.github/workflows/github_pages.yml
vendored
Normal file
72
.github/workflows/github_pages.yml
vendored
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
name: Deploy Nuxt site to Pages
|
||||||
|
|
||||||
|
on:
|
||||||
|
# Runs on pushes targeting the default branch
|
||||||
|
push:
|
||||||
|
branches: ["master"]
|
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
pages: write
|
||||||
|
id-token: write
|
||||||
|
|
||||||
|
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
|
||||||
|
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
|
||||||
|
concurrency:
|
||||||
|
group: "pages"
|
||||||
|
cancel-in-progress: false
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
# Build job
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- uses: pnpm/action-setup@v2
|
||||||
|
with:
|
||||||
|
version: 8
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: "20"
|
||||||
|
cache: pnpm
|
||||||
|
- name: Setup Pages
|
||||||
|
uses: actions/configure-pages@v4
|
||||||
|
#with:
|
||||||
|
# static_site_generator: nuxt
|
||||||
|
- name: Restore cache
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
dist
|
||||||
|
.nuxt
|
||||||
|
key: ${{ runner.os }}-nuxt-build-${{ hashFiles('dist') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-nuxt-build-
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install --frozen-lockfile
|
||||||
|
- name: Static HTML export with Nuxt
|
||||||
|
run: pnpm generate
|
||||||
|
env:
|
||||||
|
NUXT_APP_BASE_URL: /docs/
|
||||||
|
- name: Upload artifact
|
||||||
|
uses: actions/upload-pages-artifact@v3
|
||||||
|
with:
|
||||||
|
path: ./dist
|
||||||
|
|
||||||
|
# Deployment job
|
||||||
|
deploy:
|
||||||
|
environment:
|
||||||
|
name: github-pages
|
||||||
|
url: ${{ steps.deployment.outputs.page_url }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build
|
||||||
|
steps:
|
||||||
|
- name: Deploy to GitHub Pages
|
||||||
|
id: deployment
|
||||||
|
uses: actions/deploy-pages@v4
|
@@ -1,4 +1,4 @@
|
|||||||
# movie-web docs
|
# movie-web docs
|
||||||
|
|
||||||
Find it at https://docs.movie-web.app/
|
Find it at https://movie-web.github.io/docs
|
||||||
|
|
||||||
|
@@ -3,8 +3,8 @@ export default defineAppConfig({
|
|||||||
title: 'movie-web',
|
title: 'movie-web',
|
||||||
description:
|
description:
|
||||||
'movie-web is a free and open source streaming site, no ads, no tracking, no nonsense.',
|
'movie-web is a free and open source streaming site, no ads, no tracking, no nonsense.',
|
||||||
url: 'https://docs.movie-web.app',
|
url: 'https://movie-web.github.io/docs',
|
||||||
image: '/cover.png',
|
image: '/docs/cover.png',
|
||||||
socials: {
|
socials: {
|
||||||
github: 'movie-web/movie-web',
|
github: 'movie-web/movie-web',
|
||||||
},
|
},
|
||||||
@@ -27,14 +27,6 @@ export default defineAppConfig({
|
|||||||
text: 'Made with 💜',
|
text: 'Made with 💜',
|
||||||
href: 'https://github.com/movie-web',
|
href: 'https://github.com/movie-web',
|
||||||
},
|
},
|
||||||
textLinks: [
|
|
||||||
{
|
|
||||||
text: 'movie-web',
|
|
||||||
href: 'https://movie-web.app',
|
|
||||||
target: '_blank',
|
|
||||||
rel: 'noopener',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@@ -78,7 +78,7 @@ What's all the fuss?
|
|||||||
#title
|
#title
|
||||||
Multiple Languages
|
Multiple Languages
|
||||||
#description
|
#description
|
||||||
Supports over 25 languages, including English, German, French, Spanish, Italian, Czech, Hindi, Arabic, Hebrew and more. View the full list on [weblate](https://weblate.movie-web.app){target="\_blank"}.
|
Supports over 25 languages, including English, German, French, Spanish, Italian, Czech, Hindi, Arabic, Hebrew and more.
|
||||||
::
|
::
|
||||||
::card{icon="mdi:brush-variant"}
|
::card{icon="mdi:brush-variant"}
|
||||||
#title
|
#title
|
||||||
|
47
content/0.instances.md
Normal file
47
content/0.instances.md
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
---
|
||||||
|
title: 'Instances'
|
||||||
|
icon: 'mdi:web'
|
||||||
|
---
|
||||||
|
|
||||||
|
# Instances
|
||||||
|
|
||||||
|
This page showcases movie-web instances hosted by the community and other alternative sites. If you want to add your instance to this list, please open a pull request on [GitHub](https://github.com/movie-web/docs).
|
||||||
|
|
||||||
|
## 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).
|
||||||
|
|
||||||
|
**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 />
|
||||||
|
**Moreover, instances marked with a 📱 have full PWA compatibility, enabling usage on your mobile device as if it were a native application.**
|
||||||
|
|
||||||
|
| Instance | Host | Status |
|
||||||
|
| :------------------------------------------------ | :---------------------------------------------------------------------------------- | :------- |
|
||||||
|
| [mw.lonelil.com](https://mw.lonelil.com) | [lonelil - Partner](https://github.com/lonelil) | 💾🌐📱 |
|
||||||
|
| [watch.qtchaos.de](https://watch.qtchaos.de) | [chaos - Project Lead](https://github.com/qtchaos) | 💾📱 |
|
||||||
|
| [bmov](https://bmov.vercel.app) | [TheScreechingBagel - Mod](https://github.com/TheScreechingBagel) | 💾🌐 |
|
||||||
|
| [stream.thehairy.me](https://stream.thehairy.me) | [thehairy - Mod](https://github.com/thehairy) | 💾🌐📱 |
|
||||||
|
| [movie-web-me](https://movie-web-me.vercel.app) | [Isra - Contributor](https://github.com/zisra) | 💾🌐 |
|
||||||
|
| [scootydooter](https://scootydooter.vercel.app) | [Toon - Contributor](https://github.com/Toon-arch) | 💾🌐📱 |
|
||||||
|
| [sudo-flix.lol](https://sudo-flix.lol) | [itzCozi - Community Self Hoster](https://github.com/sudo-flix) | 💾📱 |
|
||||||
|
| [movie-web.x](https://movie-web.x) | [Unstoppable Domains](https://unstoppabledomains.com) and [IPFS](https://ipfs.tech) | 💾 |
|
||||||
|
|
||||||
|
::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` 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!
|
||||||
|
|
||||||
|
## Alternatives
|
||||||
|
|
||||||
|
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)
|
@@ -5,7 +5,7 @@ title: 'Start self-hosting'
|
|||||||
# How to self-host
|
# How to self-host
|
||||||
|
|
||||||
::alert{type="info"}
|
::alert{type="info"}
|
||||||
We **do not** provide support on how to self-host. If you can't figure it out then tough luck. Please do not make GitHub issues or ask in our Discord server for support on how to self-host.
|
We provide support on a case-by-case basis. If you have any questions, feel free to ask in our [Discord server](https://movie-web.github.io/links/discord).
|
||||||
::
|
::
|
||||||
|
|
||||||
Since movie-web has many different components, there are a few configurations of how you can host it. Each of these configurations has their own benefits, whether that be having complete control over your data or customizing your experience.
|
Since movie-web has many different components, there are a few configurations of how you can host it. Each of these configurations has their own benefits, whether that be having complete control over your data or customizing your experience.
|
||||||
|
@@ -8,4 +8,4 @@ Our proxy is used to bypass CORS-protected URLs on the client side, allowing use
|
|||||||
|
|
||||||
The proxy is made using [Nitro by UnJS](https://nitro.unjs.io/) which supports building the proxy to work on multiple providers including Cloudflare Workers, AWS Lambda and [more...](https://nitro.unjs.io/deploy)
|
The proxy is made using [Nitro by UnJS](https://nitro.unjs.io/) which supports building the proxy to work on multiple providers including Cloudflare Workers, AWS Lambda and [more...](https://nitro.unjs.io/deploy)
|
||||||
|
|
||||||
Our recommended provider is Cloudflare due to its [generous free plan](https://www.cloudflare.com/en-gb/plans/developer-platform/).
|
Our recommended provider is Netlify due to its [generous free plan](https://www.netlify.com/pricing/#core-pricing-table).
|
||||||
|
@@ -20,6 +20,10 @@ Netlify has a very generous free plan, so you'll be able to host your proxy for
|
|||||||
|
|
||||||
## Method 2 - Cloudflare (Easy)
|
## Method 2 - Cloudflare (Easy)
|
||||||
|
|
||||||
|
::alert{type="warning"}
|
||||||
|
The sources showbox and febbox do NOT work with cloudflare. Use a different host if you want those to work.
|
||||||
|
::
|
||||||
|
|
||||||
Cloudflare has a generous free plan, so you don't need to pay anything unless you get hundreds of users.
|
Cloudflare has a generous free plan, so you don't need to pay anything unless you get hundreds of users.
|
||||||
|
|
||||||
[](https://deploy.workers.cloudflare.com/?url=https://github.com/movie-web/simple-proxy){target="\_blank"}
|
[](https://deploy.workers.cloudflare.com/?url=https://github.com/movie-web/simple-proxy){target="\_blank"}
|
||||||
@@ -50,6 +54,10 @@ Cloudflare has a generous free plan, so you don't need to pay anything unless yo
|
|||||||
|
|
||||||
## Method 2 - Cloudflare (Manual)
|
## Method 2 - Cloudflare (Manual)
|
||||||
|
|
||||||
|
::alert{type="warning"}
|
||||||
|
The sources showbox and febbox do NOT work with cloudflare. Use a different host if you want those to work.
|
||||||
|
::
|
||||||
|
|
||||||
1. Login to your Cloudflare account if you have one, otherwise create one [here](https://dash.cloudflare.com/sign-up?to=/:account/workers-and-pages)
|
1. Login to your Cloudflare account if you have one, otherwise create one [here](https://dash.cloudflare.com/sign-up?to=/:account/workers-and-pages)
|
||||||
1. If you are signing up for an account, make sure to verify your email before going further!
|
1. If you are signing up for an account, make sure to verify your email before going further!
|
||||||
1. Download the latest version of the Cloudflare [`simple-proxy-cloudflare.mjs` script from here](https://github.com/movie-web/simple-proxy/releases/latest/download/simple-proxy-cloudflare.mjs).
|
1. Download the latest version of the Cloudflare [`simple-proxy-cloudflare.mjs` script from here](https://github.com/movie-web/simple-proxy/releases/latest/download/simple-proxy-cloudflare.mjs).
|
||||||
@@ -86,7 +94,7 @@ Railway offers you $5 of credit once you verify your account, which is enough to
|
|||||||
|
|
||||||
::alert{type="warning"}
|
::alert{type="warning"}
|
||||||
Experience with Docker, domains and web hosting is **highly recommended** for this method. <br />
|
Experience with Docker, domains and web hosting is **highly recommended** for this method. <br />
|
||||||
[Deploying with Cloudflare](#method-1-cloudflare-easy) is easier and safer to do! You are exposing your server at your own risk!
|
[Deploying with Netlify](#method-1-netlify-easy) is easier and safer to do! You are exposing your server at your own risk!
|
||||||
::
|
::
|
||||||
|
|
||||||
Our `simple-proxy` application is available from the GitHub Container Registry under the image [`ghcr.io/movie-web/simple-proxy:latest`](https://ghcr.io/movie-web/simple-proxy:latest){target="\_blank"} :copy-button{content="ghcr.io/movie-web/simple-proxy:latest"}
|
Our `simple-proxy` application is available from the GitHub Container Registry under the image [`ghcr.io/movie-web/simple-proxy:latest`](https://ghcr.io/movie-web/simple-proxy:latest){target="\_blank"} :copy-button{content="ghcr.io/movie-web/simple-proxy:latest"}
|
||||||
|
@@ -43,3 +43,67 @@ title: 'Deploy'
|
|||||||
- Vercel
|
- Vercel
|
||||||
- Etc, [there are lots of options](https://www.staticwebsitehosting.org/){target="\_blank"}.
|
- Etc, [there are lots of options](https://www.staticwebsitehosting.org/){target="\_blank"}.
|
||||||
9. Congrats! You have your own version of movie-web hosted.
|
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
|
||||||
|
```
|
||||||
|
@@ -42,13 +42,15 @@ This is the **read** API key from TMDB to allow movie-web to search for media. [
|
|||||||
**Required. The client will not work properly if this is not configured.**
|
**Required. The client will not work properly if this is not configured.**
|
||||||
::
|
::
|
||||||
|
|
||||||
### `VITE_CORS_PROXY_URL` ⚠
|
### `VITE_CORS_PROXY_URL`
|
||||||
|
|
||||||
- Type: `string`
|
- Type: `string`
|
||||||
- Default: `""`
|
- Default: `""`
|
||||||
- Example: `"https://example1.example.com,https://example2.example.com"`
|
- Example: `"https://example1.example.com,https://example2.example.com"`
|
||||||
|
|
||||||
This is where you put proxy URLS, you must have at least one. [Get one by following our guide](/proxy/deploy).
|
This is where you put proxy URLs. [Get some by following our guides](/proxy/deploy).
|
||||||
|
|
||||||
|
If left empty, the client onboarding will not provide a "default setup" and the user will have to manually configure their own proxy or use the extension.
|
||||||
|
|
||||||
You can add multiple Workers by separating them with a comma, they will be load balanced using round robin method on the client.
|
You can add multiple Workers by separating them with a comma, they will be load balanced using round robin method on the client.
|
||||||
**Worker URL entries must not end with a slash.**
|
**Worker URL entries must not end with a slash.**
|
||||||
@@ -80,7 +82,7 @@ Setting this configuration value to `true` will enable the history-router.
|
|||||||
### `VITE_BACKEND_URL`
|
### `VITE_BACKEND_URL`
|
||||||
|
|
||||||
- Type: `string`
|
- Type: `string`
|
||||||
- Default: `"https://backend.movie-web.app"`
|
- Default: `""`
|
||||||
- Example: `"https://backend.example.com"`
|
- Example: `"https://backend.example.com"`
|
||||||
|
|
||||||
This is the URL for the movie-web backend server which handles cross-device syncing.
|
This is the URL for the movie-web backend server which handles cross-device syncing.
|
||||||
@@ -89,6 +91,43 @@ The backend server can be found at https://github.com/movie-web/backend and is o
|
|||||||
|
|
||||||
Backend URL must **not** end with a slash.
|
Backend URL must **not** end with a slash.
|
||||||
|
|
||||||
|
### `VITE_HAS_ONBOARDING`
|
||||||
|
|
||||||
|
- Type: `boolean`
|
||||||
|
- Default: `true`
|
||||||
|
|
||||||
|
If you want your users to be prompted with an onboarding screen before they start watching, enable this.
|
||||||
|
|
||||||
|
### `VITE_ONBOARDING_CHROME_EXTENSION_INSTALL_LINK`
|
||||||
|
|
||||||
|
- Type: `string`
|
||||||
|
- Default: `"https://chromewebstore.google.com/detail/movie-web-extension/hoffoikpiofojilgpofjhnkkamfnnhmm"`
|
||||||
|
- Example: `"https://google.com"`
|
||||||
|
|
||||||
|
When onboarding is enabled using `VITE_HAS_ONBOARDING`. This link will be used to link the proper Chrome extension to install.
|
||||||
|
|
||||||
|
If omitted, this will still show the extension onboarding screen, just without an install link for the extension.
|
||||||
|
|
||||||
|
### `VITE_ONBOARDING_FIREFOX_EXTENSION_INSTALL_LINK`
|
||||||
|
|
||||||
|
- Type: `string`
|
||||||
|
- Default: `"https://addons.mozilla.org/en-GB/firefox/addon/movie-web-extension"`
|
||||||
|
- Example: `"https://google.com"`
|
||||||
|
|
||||||
|
When onboarding is enabled using `VITE_HAS_ONBOARDING`. This link will be used to link the proper Firefox extension to install.
|
||||||
|
|
||||||
|
If omitted, this will still show the extension onboarding screen, just without an install link for the extension.
|
||||||
|
|
||||||
|
### `VITE_ONBOARDING_PROXY_INSTALL_LINK`
|
||||||
|
|
||||||
|
- Type: `string`
|
||||||
|
- Default: `""`
|
||||||
|
- Example: `"https://google.com"`
|
||||||
|
|
||||||
|
When onboarding is enabled using `VITE_HAS_ONBOARDING`. This link will be used to link the user to resources to host a custom proxy.
|
||||||
|
|
||||||
|
If omitted, this will still show the proxy onboarding screen, just without an documentation link for the proxy.
|
||||||
|
|
||||||
### `VITE_DISALLOWED_IDS`
|
### `VITE_DISALLOWED_IDS`
|
||||||
|
|
||||||
- Type: `string`
|
- Type: `string`
|
||||||
@@ -138,6 +177,14 @@ A PWA web application can be installed as an application to your phone or deskto
|
|||||||
Make sure you know what you're doing before enabling this, it **cannot be disabled** after you've set it up once.
|
Make sure you know what you're doing before enabling this, it **cannot be disabled** after you've set it up once.
|
||||||
::
|
::
|
||||||
|
|
||||||
|
### `VITE_GA_ID`
|
||||||
|
|
||||||
|
- Type: `string`
|
||||||
|
- Default: `""`
|
||||||
|
- Example: `"G-1234567890"`
|
||||||
|
|
||||||
|
The Google Analytics ID for tracking user behavior. If omitted, no tracking will be done.
|
||||||
|
|
||||||
### `VITE_APP_DOMAIN`
|
### `VITE_APP_DOMAIN`
|
||||||
|
|
||||||
- Type: `string`
|
- Type: `string`
|
||||||
|
@@ -2,12 +2,122 @@
|
|||||||
title: 'Changelog'
|
title: 'Changelog'
|
||||||
---
|
---
|
||||||
|
|
||||||
|
# Version 4.6.3
|
||||||
|
- Updated providers to 2.2.5
|
||||||
|
- Fixed vercel routing
|
||||||
|
- Fixed TV browsers crashing because of MediaSession
|
||||||
|
- Fixed Chinese (traditional) translation
|
||||||
|
- Optimized all images
|
||||||
|
- Fixed page scrolling when adjusting the volume using the scroll wheel
|
||||||
|
- Added support for HLS audio tracks (You now have the option to change the audio language for RidoMovies)
|
||||||
|
- Admin page no longer leaks the worker url.
|
||||||
|
- Added the ability to drag and drop your subtitle files.
|
||||||
|
- Improved the error message when the extension has not whitelisted the domain. It should now ask you to grant permission.
|
||||||
|
- Fixed an issue where the episode progression would not save after clicking the 'Next episode' button
|
||||||
|
- Improved translations: Catalan, Czech, German, Spanish, Estonian, Persian, French, Galician, Indonesian, Italian, Dutch, Polish, Portuguese (Brazil), Romanian, Russian, Turkish, Chinese (Han (Traditional variant))
|
||||||
|
|
||||||
|
# Version 4.6.2
|
||||||
|
- Updated providers to 2.2.3
|
||||||
|
- Added defaults for extension store links
|
||||||
|
- Onboarding now defaults to true for self-hosters.
|
||||||
|
- Support for embedded HLS subtitles (This fixes Ridomovies having default subtitles that could not be changed).
|
||||||
|
- Improved translations: Polish, Toki Pona
|
||||||
|
|
||||||
|
# Version 4.6.1
|
||||||
|
- Fixed subtitle blur settings loading as NaN
|
||||||
|
- Improved translations: Czech, German, Persian, French, Italian, Dutch, Russian, Slovenian, Ukrainian, Chinese (Han (Simplified variant))
|
||||||
|
|
||||||
|
# Version 4.6.0
|
||||||
|
|
||||||
|
- Implemented media session support!
|
||||||
|
- Added option to blur background in subtitles
|
||||||
|
- Added vercel config to properly support using non-hash routing
|
||||||
|
- Fixed a bug in config that treated empty environment variables as being set, causing config.js to be ignored
|
||||||
|
- Fixed a bug in the button component that meant our own pages opened in a new tab
|
||||||
|
- Added new translations: Catalan
|
||||||
|
- Improved translations: Catalan, Spanish, Persian, French, Hindi, Icelandic, Italian, Nepali (macrolanguage), Dutch, Panjabi, Slovenian, Chinese (Han (Simplified variant)), Russian, Estonian, Korean
|
||||||
|
|
||||||
|
# Version 4.5.1
|
||||||
|
|
||||||
|
- Improved translations: Catalan, Czech, Spanish, Persian, French, Italian, Portuguese (Brazil), Russian, Tamil, Vietnamese, Chinese (Han (Simplified variant))
|
||||||
|
- Update providers to 2.2.2
|
||||||
|
- Update Dockerfile to have build-time arguments and add a Docker compose file
|
||||||
|
- Allow banners to be dismissible
|
||||||
|
- Update extension logic to process all URLs in a HLS playlist
|
||||||
|
- Automatically prefix backend URL with https:// if not provided
|
||||||
|
|
||||||
|
# Version 4.5.0
|
||||||
|
|
||||||
|
- Improved translations: Estonian, Persian, Toki Pona, Vietnamese.
|
||||||
|
- Route subtitles through extension if installed.
|
||||||
|
- Fix Docker build failing when PWA is enabled.
|
||||||
|
- Add randomised placeholders for search bar.
|
||||||
|
- Add preview to the theme selector.
|
||||||
|
- Remove references to the official domain.
|
||||||
|
- Update admin page to run worker tests in parallel.
|
||||||
|
- Disable creating account when backend server isn't set.
|
||||||
|
- Remove default setup option if no default proxy set.
|
||||||
|
- Remove extension help text when extension succeeded.
|
||||||
|
- Allow configuration of Google Analytics - removed our default one.
|
||||||
|
- Fix media download button redirection to incorrect URL on main tab.
|
||||||
|
- Allow users to change volume with scroll wheel.
|
||||||
|
|
||||||
|
# Version 4.4.0
|
||||||
|
|
||||||
|
- Changed behaviour of HLS playlists to have a copy button instead of a download button for more compatibility.
|
||||||
|
- Improve the appearance of the "active" pill under theme settings - it now has better padding and matches the theme it represents.
|
||||||
|
- If a user selects a proxy during onboarding, it is now saved to the backend if the user is signed in.
|
||||||
|
- Fixed sorting of shows that caused the "continue watching" to not update properly when syncing with the backend.
|
||||||
|
- Added an "x" button to clear the search query.
|
||||||
|
- Improve mobile layout for setup component.
|
||||||
|
- Fix HLS issue with throwing 403 error.
|
||||||
|
- Improved translations: Arabic, German, Persian, Finnish, Galician, Italian, Japanese, Korean, Panjabi, Russian, Turkish, Ukrainian, Chinese (Han (Simplified variant)).
|
||||||
|
- Update providers package to 2.2.
|
||||||
|
|
||||||
|
# Version 4.3.3
|
||||||
|
|
||||||
|
- Fixed body not being transferred properly to the extension (needs latest version of extension)
|
||||||
|
- Added new translations: Finnish
|
||||||
|
- Improved translations: Czech, German, English, Spanish, Persian, French, Galician, Gujarati, Hebrew, Hindi, Icelandic, Navajo, Portuguese (Brazil), Russian, Ukrainian, Chinese (Han (Simplified variant))
|
||||||
|
|
||||||
|
# Version 4.3.2
|
||||||
|
|
||||||
|
- Run account server data fetching in parallel.
|
||||||
|
- Added specific text per browser for extension setup screen
|
||||||
|
- Fix bug where first load the page couldn't talk to extension
|
||||||
|
- Fix too short of a timeout when checking for proxy response
|
||||||
|
- Move start of bolding for HLS disclaimer
|
||||||
|
- Fix app crash when opening download screen on lower RAM browsers
|
||||||
|
- Make onboarding start screen more mobile friendly
|
||||||
|
- Separate extension install links into two settings (firefox & chrome)
|
||||||
|
- Added new translations: Icelandic
|
||||||
|
- Improved translations: German, Spanish, Persian, French, Hebrew, Italian, Nepali (macrolanguage), Dutch, Polish, Portuguese (Brazil), Romanian, Chinese (Han (Simplified variant))
|
||||||
|
|
||||||
|
# Version 4.3.1
|
||||||
|
|
||||||
|
- Fix provider API interaction with extension.
|
||||||
|
|
||||||
|
# Version 4.3.0
|
||||||
|
|
||||||
|
- Add onboarding process to movie-web, triggable manually through settings. This needs to be turned when selfhosting.
|
||||||
|
- Added settings to toggle generated thumbnails, disabled by default
|
||||||
|
- Fix multiple subtitles with same language all showing as selected
|
||||||
|
- Add docker support, a hosted container image included (with ARM support)
|
||||||
|
- Added extension support, run movie-web without setting up a custom proxy
|
||||||
|
- Add disabled cursor for disabled buttons
|
||||||
|
- Add instruction link to custom proxy and custom server settings
|
||||||
|
- Added backdrop blur to navigation buttons
|
||||||
|
- Updated provider package (Re-enabled showbox/febbox subtitles)
|
||||||
|
- Added new translations: Catalan
|
||||||
|
- Improved translations: Bengali, Czech, German, Spanish, Persian, French, Galician, Italian, Nepali, Dutch, Polish, Portuguese, Portuguese, Russian, Turkish, Ukrainian, Vietnamese, Chinese
|
||||||
|
|
||||||
# Version 4.2.5
|
# Version 4.2.5
|
||||||
|
|
||||||
::alert{type="warning"}
|
::alert{type="warning"}
|
||||||
This release requires a new version of simple-proxy: 2.1.3
|
This release requires a new version of simple-proxy: 2.1.3
|
||||||
::
|
::
|
||||||
- Update provider package, with fixes for febbox-mp4
|
|
||||||
|
- Update provider package, with fixes for febbox-mp4
|
||||||
|
|
||||||
# Version 4.2.4
|
# Version 4.2.4
|
||||||
|
|
||||||
@@ -15,32 +125,33 @@ This release requires a new version of simple-proxy: 2.1.3
|
|||||||
This release requires a new version of simple-proxy: 2.1.1
|
This release requires a new version of simple-proxy: 2.1.1
|
||||||
::
|
::
|
||||||
|
|
||||||
- Add meta tag for PWA's for apple devices
|
- Add meta tag for PWA's for apple devices
|
||||||
- Add galician flag
|
- Add galician flag
|
||||||
- Fix language fallback, this fixes weird dot notation instead of english language fallback
|
- Fix language fallback, this fixes weird dot notation instead of english language fallback
|
||||||
- Add Docker image for frontend
|
- Add Docker image for frontend
|
||||||
- Fix Brazilian portuguese flag in language selector
|
- Fix Brazilian portuguese flag in language selector
|
||||||
- Add profile picture preview in register and update
|
- Add profile picture preview in register and update
|
||||||
- Update Provider package to 2.0.4
|
- Update Provider package to 2.0.4
|
||||||
- Added new translations: Catalan
|
- Added new translations: Catalan
|
||||||
- Improved translations: Czech, Greek, French, Gujarati, Hebrew, Hindi, Italian, Khmer (Central), Nepali, Dutch, Punjabi, Polish, Portuguese (Brazil), Romanian, Russian, Ukrainian, Vietnamese, Chinese (Simplified), pirate (generated), minion (generated)
|
- Improved translations: Czech, Greek, French, Gujarati, Hebrew, Hindi, Italian, Khmer (Central), Nepali, Dutch, Punjabi, Polish, Portuguese (Brazil), Romanian, Russian, Ukrainian, Vietnamese, Chinese (Simplified), pirate (generated), minion (generated)
|
||||||
|
|
||||||
# Version 4.2.3
|
# Version 4.2.3
|
||||||
- Fix player UI not disappearing
|
|
||||||
- Implement new locale system to support regional and alternative languages
|
- Fix player UI not disappearing
|
||||||
- Add Turnstile interactive challenge and Turnstile loading screen
|
- Implement new locale system to support regional and alternative languages
|
||||||
- Added new translations: Galician, Punjabi, Romanian
|
- Add Turnstile interactive challenge and Turnstile loading screen
|
||||||
- Improved translations: Arabic, Czech, German, Spanish, Estonian, Gujarati, Hindi, Russian, Chinese (Simplified)
|
- Added new translations: Galician, Punjabi, Romanian
|
||||||
|
- Improved translations: Arabic, Czech, German, Spanish, Estonian, Gujarati, Hindi, Russian, Chinese (Simplified)
|
||||||
|
|
||||||
# Version 4.2.2
|
# Version 4.2.2
|
||||||
- Add worker URL syncing for accounts
|
|
||||||
- Fix broken hero title during the day
|
|
||||||
- Move search items with no poster to the end of the search results
|
|
||||||
- disable episodes if they have not been aired yet
|
|
||||||
- update provider package: disable febbox HLS, irrepairable
|
|
||||||
- Added new translations: Bulgarian, Bengali, Greek, Persian, Gujarati, Indonesian, Japanese, Korean, Slovenian, Tamil, Chinese (Traditional)
|
|
||||||
- Improved translations: Arabic, Czech, German, Spanish, Estonian, French, Hebrew, Hindi, Italian, Nepali, Dutch, Polish, Portuguese (Brazil), Russian, Thai, Toki Pona, Turkish, Ukrainian, Chinese (Simplified), pirate (generated), minion (generated)
|
|
||||||
|
|
||||||
|
- Add worker URL syncing for accounts
|
||||||
|
- Fix broken hero title during the day
|
||||||
|
- Move search items with no poster to the end of the search results
|
||||||
|
- disable episodes if they have not been aired yet
|
||||||
|
- update provider package: disable febbox HLS, irreparable
|
||||||
|
- Added new translations: Bulgarian, Bengali, Greek, Persian, Gujarati, Indonesian, Japanese, Korean, Slovenian, Tamil, Chinese (Traditional)
|
||||||
|
- Improved translations: Arabic, Czech, German, Spanish, Estonian, French, Hebrew, Hindi, Italian, Nepali, Dutch, Polish, Portuguese (Brazil), Russian, Thai, Toki Pona, Turkish, Ukrainian, Chinese (Simplified), pirate (generated), minion (generated)
|
||||||
|
|
||||||
# Version 4.2.1
|
# Version 4.2.1
|
||||||
|
|
||||||
@@ -84,7 +195,7 @@ This release requires a new version of simple-proxy: 2.1.1
|
|||||||
|
|
||||||
# Version 4.1.1
|
# Version 4.1.1
|
||||||
|
|
||||||
- Fixed bug where settings toggles sometimes weren't usuable
|
- Fixed bug where settings toggles sometimes weren't usable
|
||||||
- Fixed bug where captions were permanently enabled
|
- Fixed bug where captions were permanently enabled
|
||||||
- Fixed some missing translations
|
- Fixed some missing translations
|
||||||
- Translation improvements: arabic, french, nepali, chinese
|
- Translation improvements: arabic, french, nepali, chinese
|
||||||
@@ -103,7 +214,7 @@ This release requires a new version of simple-proxy: 2.1.1
|
|||||||
- Added minion joke language. Blame @jip\_.
|
- Added minion joke language. Blame @jip\_.
|
||||||
- Thumbnail preview no longer goes under the next episode button.
|
- Thumbnail preview no longer goes under the next episode button.
|
||||||
- Passphrase inputs are now actual password fields, so they may act nicer with password managers.
|
- Passphrase inputs are now actual password fields, so they may act nicer with password managers.
|
||||||
- The player now remembers what your subtitle settings were, so no longer you need to keep selecting english everytime you watch.
|
- The player now remembers what your subtitle settings were, so no longer you need to keep selecting english every time you watch.
|
||||||
- Fix home link not working with /s/:term shortcut.
|
- Fix home link not working with /s/:term shortcut.
|
||||||
- Swedish flag is now an actual Swedish flag.
|
- Swedish flag is now an actual Swedish flag.
|
||||||
- Fix for various layout issues with small width mobile screens.
|
- Fix for various layout issues with small width mobile screens.
|
||||||
|
@@ -6,6 +6,11 @@ title: 'Introduction'
|
|||||||
|
|
||||||
The backend is essentially just an account server. It handles user accounts, syncing, and other account related features.
|
The backend is essentially just an account server. It handles user accounts, syncing, and other account related features.
|
||||||
|
|
||||||
|
## Recommended Community Backend
|
||||||
|
|
||||||
|
To keep consistency and compatibility between different instances our partner, [lonelil](https://github.com/lonelil), has kindly offered to host a movie-web backend with a copy of the original data from the now unavailable movie-web.app backend. You can access this backend at: `https://mw-backend.lonelil.com` and `https://mw-backend.lonelil.ru`
|
||||||
|
Meaning users **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!
|
||||||
|
|
||||||
## Metrics
|
## Metrics
|
||||||
|
|
||||||
The backend exposes an endpoint for [Prometheus metrics](https://prometheus.io/){target="\_blank"} which allows you to keep track of the backend more easily, it can be accessed on `/metrics`.
|
The backend exposes an endpoint for [Prometheus metrics](https://prometheus.io/){target="\_blank"} which allows you to keep track of the backend more easily, it can be accessed on `/metrics`.
|
||||||
|
@@ -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.
|
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
|
```yaml
|
||||||
docker run \
|
version: '3.8'
|
||||||
-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
|
|
||||||
```
|
|
||||||
|
|
||||||
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)
|
## Method 2 - Railway (Easy)
|
||||||
|
|
||||||
|
@@ -60,7 +60,7 @@ Port number that the HTTP server listens on.
|
|||||||
- Default: `""`
|
- Default: `""`
|
||||||
- Example: `"https://movie-web.app https://testing.movie-web.app"`
|
- Example: `"https://movie-web.app https://testing.movie-web.app"`
|
||||||
|
|
||||||
Space seperated list of allowed origins.
|
Space separated list of allowed origins.
|
||||||
|
|
||||||
### `server.allowAnySite`
|
### `server.allowAnySite`
|
||||||
|
|
||||||
|
@@ -2,6 +2,12 @@
|
|||||||
title: 'Changelog'
|
title: 'Changelog'
|
||||||
---
|
---
|
||||||
|
|
||||||
|
# Version 1.3.1
|
||||||
|
|
||||||
|
- Fixed bug where "false" env variables weren't treated as false for booleans
|
||||||
|
- Added ARM support for hosted docker container
|
||||||
|
- Stopped using JSON for recaptcha verifications.
|
||||||
|
|
||||||
# Version 1.3.0
|
# Version 1.3.0
|
||||||
|
|
||||||
For this update, you will need to run migrations.
|
For this update, you will need to run migrations.
|
||||||
|
@@ -23,7 +23,7 @@ This method is recommended if you want to host a proxy for your friends and or f
|
|||||||
<!-- This method is recommended if you want to host a proxy for your friends and family to use, or if you want to use movie-web on a device that doesn't support the [browser extension](#method-1---browser-extension), such as a smart TV or mobile device. -->
|
<!-- This method is recommended if you want to host a proxy for your friends and family to use, or if you want to use movie-web on a device that doesn't support the [browser extension](#method-1---browser-extension), such as a smart TV or mobile device. -->
|
||||||
|
|
||||||
1. Set up a proxy using one of our [guides](../2.proxy/1.deploy.md#deploying-the-proxy), [though we recommend Netlify](../2.proxy/1.deploy.md#method-1---netlify-easy).
|
1. Set up a proxy using one of our [guides](../2.proxy/1.deploy.md#deploying-the-proxy), [though we recommend Netlify](../2.proxy/1.deploy.md#method-1---netlify-easy).
|
||||||
2. Once that's done, go to the [Connections](https://movie-web.app/settings#settings-connection){target="\_blank"} section of the [Settings page](https://movie-web.app/settings){target="\_blank"} on [movie-web](https://movie-web.app){target="\_blank"}.
|
2. Once that's done, go to the **Connections** section of the **Settings page** on your movie-web instance of chocie.
|
||||||
3. Enable `Use custom proxy workers` if it's not already enabled.
|
3. Enable `Use custom proxy workers` if it's not already enabled.
|
||||||
4. Add a new custom proxy by clicking `Add new worker`.
|
4. Add a new custom proxy by clicking `Add new worker`.
|
||||||
5. Copy the URL of the proxy you deployed before, and paste it into the empty text box.
|
5. Copy the URL of the proxy you deployed before, and paste it into the empty text box.
|
||||||
|
97
content/5.extra/2.selfhost.md
Normal file
97
content/5.extra/2.selfhost.md
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
### Guide to full Self-Deployment of movie-web with Docker Compose
|
||||||
|
|
||||||
|
1. **Install Docker and Docker Compose:**
|
||||||
|
|
||||||
|
Ensure that Docker and Docker Compose are installed on your system. You can follow the official Docker documentation for installation instructions:
|
||||||
|
- [Install Docker](https://docs.docker.com/get-docker/)
|
||||||
|
|
||||||
|
2. **Create a Docker Compose file:**
|
||||||
|
|
||||||
|
Create a new file named `docker-compose.yml` in your project directory and paste the following content into it:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: movie_web_user
|
||||||
|
POSTGRES_DB: movie_web_backend
|
||||||
|
POSTGRES_PASSWORD: YourPasswordHere
|
||||||
|
networks:
|
||||||
|
- movie-web-network
|
||||||
|
|
||||||
|
movie-web-backend:
|
||||||
|
image: ghcr.io/movie-web/backend:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
MWB_SERVER__CORS: "https://movie-backend.example.tld https://movie.example.tld"
|
||||||
|
MWB_SERVER__PORT: 8080
|
||||||
|
MWB_POSTGRES__CONNECTION: postgresql://movie_web_user:YourPasswordHere@postgres:5432/movie_web_backend
|
||||||
|
MWB_CRYPTO__SESSION_SECRET: 32CHARACTERLONGSECRET
|
||||||
|
MWB_META__NAME: Server name
|
||||||
|
MWB_META__DESCRIPTION: Server Description
|
||||||
|
MWB_POSTGRES__MIGRATE_ON_BOOT: "true"
|
||||||
|
MWB_SERVER__TRUSTPROXY: "true"
|
||||||
|
MWB_SERVER__TRUSTCLOUDFLARE: "true"
|
||||||
|
ports:
|
||||||
|
- "8080:8080"
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
networks:
|
||||||
|
- movie-web-network
|
||||||
|
|
||||||
|
movie-web-frontend:
|
||||||
|
build:
|
||||||
|
context: https://github.com/movie-web/movie-web.git
|
||||||
|
args:
|
||||||
|
TMDB_READ_API_KEY: "YourTMDBReadAPIKeyHere"
|
||||||
|
CORS_PROXY_URL: "https://cors.example.tld https://second.cors.example.tld"
|
||||||
|
BACKEND_URL: "https://backend.example.tld"
|
||||||
|
DMCA_EMAIL: "YourEmail"
|
||||||
|
PWA_ENABLED: "true"
|
||||||
|
APP_DOMAIN: "YourDomainHere"
|
||||||
|
OPENSEARCH_ENABLED: "true"
|
||||||
|
GA_ID: "Google ID Here"
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
networks:
|
||||||
|
- movie-web-network
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
movie-web-proxy:
|
||||||
|
image: ghcr.io/movie-web/simple-proxy:2.1.4
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
networks:
|
||||||
|
- movie-web-network
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
networks:
|
||||||
|
movie-web-network:
|
||||||
|
driver: bridge
|
||||||
|
|
||||||
|
**Important:**
|
||||||
|
* Replace `YourPasswordHere` with your secure database password.
|
||||||
|
* Generate a strong session secret and replace `32CharacterLongStringHere`.
|
||||||
|
```
|
||||||
|
**Important:**
|
||||||
|
* Replace `YourPasswordHere` with your secure database password.
|
||||||
|
* Generate a strong session secret and replace `32CharacterLongStringHere`.
|
||||||
|
* Replace `TMDBReadAPIKey` with your api key learn more [here](https://movie-web.github.io/docs/client/tmdb).
|
||||||
|
* replace `yourDomainHere` with whatever you'll be using to access your main site, like movie-web.app
|
||||||
|
* replace `meta__name` and `meta__description`
|
||||||
|
2. **Start the Backend:** Open a terminal in the directory containing `docker-compose.yml` and execute:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up --detach
|
||||||
|
```
|
||||||
|
**Accessing Your Backend**
|
||||||
|
|
||||||
|
Your services should be accessible on `(YourPrivateIP):port`. 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/).
|
@@ -3,9 +3,9 @@ export default defineNuxtConfig({
|
|||||||
extends: '@nuxt-themes/docus',
|
extends: '@nuxt-themes/docus',
|
||||||
devtools: { enabled: true },
|
devtools: { enabled: true },
|
||||||
|
|
||||||
modules: [
|
app: {
|
||||||
// Remove it if you don't use Plausible analytics
|
head: {
|
||||||
// https://github.com/nuxt-modules/plausible
|
link: [{ rel: 'icon', type: 'image/x-icon', href: '/docs/favicon.ico' }],
|
||||||
'@nuxtjs/plausible',
|
},
|
||||||
],
|
},
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user