diff --git a/docs/docs/about/what_is_tvapp.md b/docs/docs/about/what_is_tvapp.md index 1df0c35c..29bb1a24 100644 --- a/docs/docs/about/what_is_tvapp.md +++ b/docs/docs/about/what_is_tvapp.md @@ -42,10 +42,21 @@ All channels contain multiple sources so that you have a reliable streaming expe
-## Associated Links +## Image Sources -Check out the following websites for additional resources for the TVApp2 docker image below. +This project contains several repositories which all share the same code; use them as backups: +- [🔀 dockerhub:thebinaryninja/tvapp2](https://hub.docker.com/r/thebinaryninja/tvapp2) +- [🔀 github:thebinaryninja/tvapp2](https://github.com/thebinaryninja/tvapp2) +- [🔀 gitea:git.binaryninja.net/binaryninja/tvapp2](https://git.binaryninja.net/binaryninja/tvapp2) + +
+ +| Pull URL | Registry | Arch | Version | +| --- | --- | --- | --- | +| `ghcr.io/thebinaryninja/tvapp2:latest`
`ghcr.io/thebinaryninja/tvapp2:development` | Github | amd64
arm64 | [![Github][github-docker-version-img]][github-docker-version-uri] | +| `thebinaryninja/tvapp2:latest`
`thebinaryninja/tvapp2:development` | Dockerhub | amd64
arm64 | [![Dockerhub][dockerhub-docker-version-img]][dockerhub-docker-version-uri] | +| `git.binaryninja.net/binaryninja/tvapp2:latest`
`git.binaryninja.net/binaryninja/tvapp2:development` | Gitea | amd64
arm64 | [![Gitea][gitea-docker-version-img]][gitea-docker-version-uri] |
@@ -64,6 +75,13 @@ The following is a small list of the features available with the TVApp2 containe - Channel playlists can be downloaded as a `.m38u` or a compressed `.gzip` archive. - Compressed gzip compatible with 3rd party apps like Cabernet and Jellyfin. - Tracking statistics which show the last update time, size, and a description for each file's purpose. +- API endpoints: + - **Resync All Files** + - http://127.0.0.1:4124/api/resync + - http://127.0.0.1:4124/api/restart + - **Health check** + - http://127.0.0.1:4124/api/health + - http://127.0.0.1:4124/api/status - Direct access to download each of the generated files, including multiple easy-to-remember URLs for each file type. - **M3U Playlist**: - http://127.0.0.1:4124/playlist diff --git a/docs/docs/install/docker-run.md b/docs/docs/install/docker-run.md new file mode 100644 index 00000000..36a3710a --- /dev/null +++ b/docs/docs/install/docker-run.md @@ -0,0 +1,125 @@ +--- +title: "Install: docker-run" +tags: + - install +--- + +# docker run + +Our documentation provides two ways that you may start up a TVApp2 docker container: + +
+ +- :material-circle:   [docker run](docker-run.md) + + --- + + Spin up the TVApp2 container using the `docker run` command. + This is useful for quick launches, but is not time efficient + if you plan to use this container long-term. + + This requires a longer command that must be used each time + you wish to bring the container up. + +- :material-circle:   [docker compose](docker-compose.md) + + --- + + Spin up the TVApp2 container by creating a `📄 docker-compose.yml` + file which will store all of your options such as env variables, + mounted volumes, and labels. + + To bring the container up, `cd` into the folder with the + `📄 docker-compose.yml` file, and run the + command `docker compose up -d`. + +
+ +
+ +The `🗔 docker run` command allows you to start up a docker container by providing a set of [options](#command-options) which define how the container should operate, including the environment variables, mounted volumes, assigned IP address, etc. + +
+ +--- + +
+ +## Start TVApp2 + +Pulling the image if needed and starting the container. To spin up a TVApp2 container using this method; run a command similar to the below example. See the section [Options](#options) below for a list of what you can specify. + +=== "Terminal" + + ```shell + docker run -d \ + --restart=unless-stopped \ # (1)! + --name tvapp2 \ # (2)! + -p 4124:4124 \ # (3)! + -e "TZ=Etc/UTC" \ # (4)! + -v ${PWD}/app:/usr/bin/app \ # (5)! + ghcr.io/thebinaryninja/tvapp2:latest # (6)! + ``` + + 1. Specifies what happens if the container becomes unresponsive or goes down. + 2. Name to assign the container; otherwise, a random id will be given. + 3. Port that will be used for the container + 4. Environment variable which specifies the timezone to use for the container. + 5. Mount the container volume `/usr/bin/app` to your host machine in the subfolder `./app` + 6. Specifies what docker image to spin up. + +
+ +To confirm that the container has been brought up, run the command `docker ps | grep tvapp2`. If you have the app [Portainer](https://portainer.io/), you can sign into your admin interface and view your TVApp2 container details, instead of using a command-line. + +``` +e95236c42b43 binaryninja/tvapp2:1.4.0 "/init" 3 seconds ago Up 3 seconds 4124/tcp tvapp2 +``` + +
+ +--- + +
+ +## Options + +Review the list of docker run options below. These allow you to define how a docker container will start up. + +???- note "Official Docker Documentation" + To view a full list of the available docker parameters, view the official docker documentation at: + + - https://docs.docker.com/reference/cli/docker/container/run/ + +| Parameter / Flag | Description | +| --- | --- | +| `-d, --detach` | Run container in background and print container ID | +| `-e, --env` | Set environment variable | +| `--env-file` | Read in a file of environment variables | +| `--expose` | Expose a port or a range of ports | +| `--health-cmd` | Command to run to check health | +| `--health-interval` | Time between running the check
`ms|s|m|h` (default 0s) | +| `--health-retries` | Consecutive failures needed to report unhealthy | +| `--health-start-interval` | Time between running the check during the start period
`ms|s|m|h` (default 0s) | +| `--health-start-period` | Start period for the container to initialize before starting health-retries countdown
`ms|s|m|h` (default 0s) | +| `--health-timeout` | Maximum time to allow one check to run
`ms|s|m|h` (default 0s) | +| `-h, --hostname` | Container host name | +| `--ip` | IPv4 address (e.g., 172.30.100.104) | +| `--ip6` | IPv6 address (e.g., 2001:db8::33) | +| `-l, --label` | Set meta data on a container | +| `--mount` | Attach a filesystem mount to the container | +| `--name` | Assign a name to the container | +| `--network` | Connect a container to a network | +| `--privileged` | Give extended privileges to this container | +| `-p, --publish` | Publish a container's port(s) to the host | +| `--pull` | Pull image before running
`always`, `missing`, `never` | +| `--restart` | Restart policy to apply when a container exits
`on-failure[:max-retries]`, `always`, `unless-stopped` | +| `-u, --user` | Username or UID
`[:]` | +| `-v, --volume` | Bind mount a volume | +| `-w, --workdir` | Working directory inside the container | + +
+ + +
+
diff --git a/docs/docs/install/index.md b/docs/docs/install/index.md index d2af6ef8..af4ed1d9 100644 --- a/docs/docs/install/index.md +++ b/docs/docs/install/index.md @@ -26,13 +26,20 @@ Select your desired option to bring up the TVApp2 container with: This is useful for quick launches, but is not time efficient if you plan to use this container long-term. + This requires a longer command that must be used each time + you wish to bring the container up. + - :material-circle:   [docker compose](docker-compose.md) --- - Spin up the TVApp2 container by creating a `docker-compose.yml` - file which will store all of your variables, volumes, properties, - and any labels that you may need the container to utilize. + Spin up the TVApp2 container by creating a `📄 docker-compose.yml` + file which will store all of your options such as env variables, + mounted volumes, and labels. + + To bring the container up, `cd` into the folder with the + `📄 docker-compose.yml` file, and run the + command `docker compose up -d`. diff --git a/docs/docs/stylesheets/extra.css b/docs/docs/stylesheets/extra.css index 8ee8b23e..09bad11d 100644 --- a/docs/docs/stylesheets/extra.css +++ b/docs/docs/stylesheets/extra.css @@ -179,6 +179,11 @@ } } +[dir="ltr"] .md-typeset table th[role="columnheader"]::after +{ + margin-left: 5px; +} + /* Theme > Main */