Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/denuxplays/movie-web-aio
A community project to set up movie-web with docker compose as easy as possible.
https://github.com/denuxplays/movie-web-aio
Last synced: about 2 months ago
JSON representation
A community project to set up movie-web with docker compose as easy as possible.
- Host: GitHub
- URL: https://github.com/denuxplays/movie-web-aio
- Owner: DenuxPlays
- Created: 2023-12-24T14:13:09.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-23T22:11:51.000Z (12 months ago)
- Last Synced: 2024-01-24T22:58:57.566Z (12 months ago)
- Language: Shell
- Size: 57.6 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# movie-web-aio (All-In-One)
A community project to set up movie-web with docker compose as easy as possible.
It simply provides a docker image for hosting the static files and uses the official movie-web docker image for the
backend.**Note:**
This project is designed to run behind a reverse proxy like nginx or traefik.
It may work without a reverse proxy, but this is not tested or recommended.## Features
- easy setup
- automatic updates
- fully self-hosted (even the proxy)
- configurable features (see [here](#deploy-command-documentation))
- pwa support (although not recommended | `VITE_PWA_ENABLED` env variable)
- proxy turnstile support (`--turnstile` flag)
- backend captcha support (`--captcha` flag)
- backend rate limit support (`--ratelimit` flag)And much more:
- simple cli interface and fully documented
- automatic updates (via watchtower)
- fully alpine based images## Usage
This guide assumes that you have docker and docker-compose installed.
1. Clone this repository
2. execute `sh deploy.sh --init` to create the required files
3. change the `config.js` and `.env` file according to your setup
4. **optional** change the ports in the `compose.yml` file
5. set up a reverse proxy (see [here](#setting-up-a-reverse-proxy))
6. execute `sh deploy.sh --backend` to start the docker containers (
see [here](#deploy-command-documentation))## Setting up a reverse proxy
Please make sure to use https for all domains!
### caddy
Add this to your caddyfile:
````caddyfile
https://movie-web.example.test:443 {
reverse_proxy 127.0.0.1:8080
}https://mw-backend.example.test:443 {
reverse_proxy 127.0.0.1:8081
}https://proxy.example.test:443 {
reverse_proxy 127.0.0.1:3000
}
````## Deploy Command Documentation
The `deploy.sh` command is a shell script used to set up and start the Docker Compose file for the movie-web project.
This script accepts several flags that control its behavior:- `--init`: This flag initializes the setup by creating a `.env` and `config.js` file. These files should be modified
according to your setup.- `--all`: This flag starts all the Docker Compose services, including mw, backend, backend-db, proxy, and watchtower.
- `--backend`: This flag starts the Docker Compose with the backend service.
- `--mw`: This flag starts the Docker Compose with the mw service. Use this if you just want to host the static
site.- `--proxy`: This flag starts the Docker Compose with the proxy service.
- `--watchtower`: This flag starts the Docker Compose with the watchtower service and applies the watchtower override.
Allowing for automatic updates of the docker images.- `--turnstile`: This flag enables the proxy turnstile feature. This feature is used to prevent unauthorized access to
the proxy service.- `--captcha`: This flag enables the backend captcha feature. This feature is used to prevent unauthorized access to the
backend service.- `--ratelimit`: This flag enables the backend rate limit feature. This feature is used to prevent abuse of the backend
service.- `--down`: This flag stops all the Docker Compose services.
You can combine these flags as needed. For example, you can use `sh deploy.sh --backend --proxy` to start the backend,
mw and proxy services.### Recommended Setup
While it's possible to self-host all the services, we recommend self-hosting only the pwa and backend services. The
proxy service should be hosted on Cloudflare for better performance and security. To do this, you can use
the `--backend` flag when running the `deploy.sh` script, and set up the proxy service separately on
Cloudflare.