mirror of
https://github.com/movie-web/docs.git
synced 2025-09-13 09:43:26 +00:00
Setup navigation structure
This commit is contained in:
30
content/2.self-hosting/1.hosting-intro.md
Normal file
30
content/2.self-hosting/1.hosting-intro.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# How to self host
|
||||
|
||||
::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.
|
||||
::
|
||||
|
||||
There are a few configurations of hosting movie-web. Each with their own benefits.
|
||||
**If you don't know what to choose, go with method 1.**
|
||||
|
||||
## Method 1 - only host the frontend
|
||||
With this method, you only host the essential parts that make movie-web work. But keep using the account server from offical movie-web.
|
||||
This method is the easiest to self-host and is recommended for most users.
|
||||
|
||||
1. [Setup the Proxy!](2.proxy.md)
|
||||
2. [Setup the Client!](3.client.md)
|
||||
|
||||
## Method 2 - only host the account server
|
||||
If you want to own your own data, it's possible to selfhost just the account server and nothing else.
|
||||
This method is only recommended if you have experience hosting databases or other similar stateful applications.
|
||||
|
||||
1. [Setup the Backend!](4.backend.md)
|
||||
2. [Configure the Client!](3.client.md)
|
||||
|
||||
## Method 3 - host everything
|
||||
If you want an instance that's completely isolated from official movie-web. You can selfhost all parts.
|
||||
This method is not recommended for inexperienced hosters.
|
||||
|
||||
1. [Setup the Proxy!](2.proxy.md)
|
||||
2. [Setup the Backend!](4.backend.md)
|
||||
3. [Setup the Client!](3.client.md)
|
@@ -1,9 +0,0 @@
|
||||
# How to self host
|
||||
|
||||
::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.
|
||||
::
|
||||
|
||||
The movie-web application is made of two parts: the proxy and the client. Click the following links to find out more:
|
||||
- [Setup the Proxy](2.proxy.md)
|
||||
- [Setup the Client](3.client.md)
|
@@ -10,6 +10,8 @@
|
||||
|
||||
Example (THIS IS AN EXAMPLE, IT WON'T WORK FOR YOU): `https://test-proxy.test.workers.dev`
|
||||
- `VITE_TMDB_READ_API_KEY`: Enter your TMDB Read Access Token here. Please read [below](#tmdb-api-key) on how to get an API key.
|
||||
|
||||
- `VITE_BACKEND_URL`: Only set if you have a selfhosted backend. Put in your backend URL. Check out [configuration reference](../4.client/2.configuration.md) for details. Make sure to not have a slash at the end of the URL.
|
||||
1. Click "Deploy"
|
||||
1. Congrats! You have your own version of movie-web hosted.
|
||||
1. You may wish to configure a custom domain - Please consult [the Vercel docs for how to do this](https://vercel.com/docs/getting-started-with-vercel/domains).
|
||||
|
3
content/2.self-hosting/4.backend.md
Normal file
3
content/2.self-hosting/4.backend.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Setting up the backend
|
||||
|
||||
// EXPLAIN HOW TO HOST THE BACKEND
|
@@ -1,122 +0,0 @@
|
||||
# Client Config Reference
|
||||
|
||||
The config for the movie-web can be provided in 2 different ways, depending on how you are hosting movie-web:
|
||||
- If you are using a static web hoster (Such as Vercel, Netlify or Cloudflare pages), you can use [environment variables](#method-1-environment-variables).
|
||||
- If you are hosting movie-web using shared hosting (Such as cPanel or FTP), please use [the config file](#method-2-config-file).
|
||||
|
||||
Both methods can specify any of the keys listed in the [Shared Config](#config-reference-shared-config) section.
|
||||
|
||||
## Method 1 - Environment Variables
|
||||
The movie-web client can be configured using environment variables **at build time**. You cannot use this method if hosting the pre-built `movie-web.zip` files!
|
||||
|
||||
Using environment variables to configure movie-web also allows configuration of some [environment variable specific keys](#config-reference-environment-variables-only).
|
||||
|
||||
## Method 2 - Config File
|
||||
When using the pre-built `movie-web.zip`, you can set the configuration in the `config.js` file.
|
||||
|
||||
The `config.js` file contains a JavaScript object which must be set to the correct values:
|
||||
```js
|
||||
window.__CONFIG__ = {
|
||||
// ... Config variables go here ...
|
||||
};
|
||||
```
|
||||
|
||||
## Config Reference - Shared Config
|
||||
|
||||
### `VITE_TMDB_READ_API_KEY` - REQUIRED
|
||||
|
||||
This is the **read** API key from TMDB to allow movie-web to search for media. [Get one by following our guide](/self-hosting/client#tmdb-api-key).
|
||||
|
||||
::alert{type="warning"}
|
||||
:icon{name="material-symbols:warning-rounded"} The example will not work for you, get your own
|
||||
::
|
||||
Example: <code style="overflow-wrap: anywhere">VITE_TMDB_READ_API_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c</code>
|
||||
|
||||
### `VITE_CORS_PROXY_URL` - REQUIRED
|
||||
|
||||
This is where you put proxy URLS, you must have at least one. [Get one by following our guide](/self-hosting/proxy#cloudflare-workers).
|
||||
|
||||
You can add multiple workers by separating them by a comma, they will be load balanced using round robin method on the client.
|
||||
|
||||
Worker url entries must **not** end with a slash.
|
||||
|
||||
::alert{type="warning"}
|
||||
:icon{name="material-symbols:warning-rounded"} The example will not work for you, get your own
|
||||
::
|
||||
Example: `VITE_CORS_PROXY_URL=https://worker1.workers.dev,https://worker2.workers.dev`
|
||||
|
||||
### `VITE_DMCA_EMAIL`
|
||||
|
||||
This is the DMCA email for on the DMCA page. If this config value is present, a new page will be made and linked in the footer, where it will mention how to handle dmca take-down requests. If the configuration value left empty, the page will not exist.
|
||||
|
||||
Example: `VITE_DMCA_EMAIL=dmca@example.com`
|
||||
|
||||
Default: `""`
|
||||
|
||||
### `VITE_NORMAL_ROUTER`
|
||||
|
||||
The application has two routing modes: hash-router and history-router.
|
||||
Hash router is that every page is linked in the hash like so: `https://example.com/#/browse`.
|
||||
|
||||
History router does routing without a hash like so: `https://example.com/browse`, this looks a lot nicer, but it requires that your hosting environment supports Single-Page-Application (SPA) redirects. If you don't know what that means, don't enable this.
|
||||
|
||||
Setting this configuration value to `true` will enable the history-router.
|
||||
|
||||
Example: `VITE_NORMAL_ROUTER=true`
|
||||
|
||||
Default: `false`
|
||||
|
||||
### `VITE_BACKEND_URL`
|
||||
This is the URL for the movie-web backend server which handles cross-device syncing.
|
||||
|
||||
The backend server can be found at https://github.com/movie-web/backend and is offered as a [Docker](https://docs.docker.com/get-started/overview/) image for deployment.
|
||||
|
||||
Example: `VITE_BACKEND_URL=https://backend.example.com`
|
||||
|
||||
Default: `https://backend.movie-web.app`
|
||||
|
||||
### `VITE_DISALLOWED_IDS`
|
||||
|
||||
In the unfortunate event that you're been sent a DMCA take down notice. You will need to somehow disable some pages. This configuration key will allow you to disable specific ids.
|
||||
|
||||
For shows, it needs to be in this format: `series-<TMDB_ID>`. For movies the format is this: `movie-<TMDB_ID>`.
|
||||
|
||||
The list is comma separated, you can add as many as needed.
|
||||
|
||||
Example: `VITE_DISALLOWED_IDS=series-123,movie-456`
|
||||
|
||||
Default: `""`
|
||||
|
||||
## Config reference - Environment Variables Only
|
||||
::alert{type="danger"}
|
||||
:icon{name="material-symbols:warning-rounded"} These configuration keys are specific to environment variables, they **only** work as environment variables **set at build time**.
|
||||
::
|
||||
|
||||
|
||||
### `VITE_PWA_ENABLED`
|
||||
**This key can only be configured through environment variables.**
|
||||
|
||||
Set to `true` if you want to output a PWA application. Set to `false` or omit to get a normal web application.
|
||||
A PWA web application can be installed as an application to your phone or desktop computer, but can be tricky to manage and comes with a few footguns.
|
||||
Make sure you know what you're doing before enabling this, it **cannot be disabled** after you've set it up once.
|
||||
|
||||
Example: `VITE_PWA_ENABLED=no`
|
||||
|
||||
### `VITE_APP_DOMAIN`
|
||||
**This key can only be configured through environment variables.**
|
||||
|
||||
The domain where the app lives. Only required when having OpenSearch enabled.
|
||||
|
||||
The value must include the protocol (http/https) but must **not** end with a slash.
|
||||
|
||||
Example: `VITE_APP_DOMAIN=https://movie-web.app`
|
||||
|
||||
### `VITE_OPENSEARCH_ENABLED`
|
||||
**This key can only be configured through environment variables.**
|
||||
|
||||
Whether to enable OpenSearch. (the feature that allows a user to add a search engine to their browser). A
|
||||
when enabling you **must** also set `VITE_APP_DOMAIN`.
|
||||
|
||||
`VITE_OPENSEARCH_ENABLED` must be set to `true` to be enabled. Anything else will be treated as turned off, it's case sensitive so `True` will also be disabled.
|
||||
|
||||
Example: `VITE_OPENSEARCH_ENABLED=true`
|
3
content/2.self-hosting/5.use-backend.md
Normal file
3
content/2.self-hosting/5.use-backend.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Configure your client with the backend
|
||||
|
||||
// EXPLAIN HOW TO SET BACKEND URL ON OFFICIAL INSTANCE
|
@@ -1,2 +1,3 @@
|
||||
title: 'Self-Hosting'
|
||||
icon: mdi:server-network
|
||||
navigation.redirect: /self-hosting/hosting-intro
|
Reference in New Issue
Block a user