diff --git a/content/0.instances.md b/content/0.instances.md index 2aabc82..950f9e5 100644 --- a/content/0.instances.md +++ b/content/0.instances.md @@ -7,12 +7,6 @@ icon: 'mdi:web' 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 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` - -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! - ## 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). @@ -20,22 +14,31 @@ The community maintains these trusted instances, meaning they are likely to be u **Instances marked with a πŸ’Ύ have set up a backend, making it possible to sync your data across multiple devices.**
**Additionally, instances with a 🌐 use the community backend hosted by Lonelil, which has all the original movie-web.app data!** -* https://mw.lonelil.com by [lonelil](https://github.com/lonelil) πŸ’ΎπŸŒ -* https://watch.qtchaos.de by [chaos](https://github.com/qtchaos) πŸ’Ύ -* https://movie-web-me.vercel.app by [Isra](https://github.com/zisra) πŸ’ΎπŸŒ -* https://bmov.vercel.app by [TheScreechingBagel](https://github.com/TheScreechingBagel) πŸ’ΎπŸŒ -* https://stream.thehairy.me by [thehairy](https://github.com/thehairy) πŸ’ΎπŸŒ -* https://sudo-flix.lol by [itzCozi](https://gitlab.com/itzCozi) πŸ’Ύ -* https://scootydooter.vercel.app by [Toon](https://github.com/Toon-arch) πŸ’ΎπŸŒ -* https://movie-web.x via [Unstoppable Domains](https://unstoppabledomains.com) and [IPFS](https://ipfs.tech) πŸ’Ύ - - 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 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) +| 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://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) + +## 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` + +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. -* https://watch.lonelil.com -* https://themoviearchive.site -* https://braflix.video -* 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) diff --git a/content/2.proxy/0.introduction.md b/content/2.proxy/0.introduction.md index 3c0c70f..75c303b 100644 --- a/content/2.proxy/0.introduction.md +++ b/content/2.proxy/0.introduction.md @@ -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) -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). diff --git a/content/4.backend/0.introduction.md b/content/4.backend/0.introduction.md index 8ec7b9d..99fe055 100644 --- a/content/4.backend/0.introduction.md +++ b/content/4.backend/0.introduction.md @@ -6,6 +6,11 @@ title: 'Introduction' 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 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`. diff --git a/content/4.backend/1.deploy.md b/content/4.backend/1.deploy.md index 475bce0..ddb1fb6 100644 --- a/content/4.backend/1.deploy.md +++ b/content/4.backend/1.deploy.md @@ -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)