docs(deploy): document optional Laya compose profile (#29)
Update deployment guidance for standard and Laya-profile Compose flows, and mark the Laya service as profile-gated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
91
README.md
91
README.md
@ -64,31 +64,49 @@ nodecast-tv is a modern, web-based IPTV player featuring Live TV, EPG, Movies (V
|
||||
|
||||
### Docker Deployment
|
||||
|
||||
You can run nodecast-tv easily using Docker.
|
||||
The repository includes a ready-to-use `docker-compose.yml`. Run these commands from the repository directory so Compose uses that file and the local Dockerfiles.
|
||||
|
||||
1. Create a `docker-compose.yml` file (or copy the one from this repo):
|
||||
#### Standard deployment
|
||||
|
||||
```yaml
|
||||
services:
|
||||
nodecast-tv:
|
||||
image: gitea.anthonybouteiller.ovh/blomios/nodecast-tv:latest
|
||||
container_name: nodecast-tv
|
||||
ports:
|
||||
- "3000:3000" # Host:Container
|
||||
volumes:
|
||||
- ./data:/app/data
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- PORT=3000 # Optional: Internal container port
|
||||
```
|
||||
Start nodecast-tv without the optional Laya runtime:
|
||||
|
||||
2. Run the container:
|
||||
```bash
|
||||
docker-compose up -d
|
||||
docker compose up -d --build nodecast-tv
|
||||
```
|
||||
|
||||
The application will be available at `http://localhost:3000`.
|
||||
The application will be available at `http://localhost:3000`. Live channel analysis continues to work in **Standard** mode when Laya is not running.
|
||||
|
||||
#### Optional Laya runtime
|
||||
|
||||
Laya provides optional local-AI assistance for channel grouping and language detection. It is behind the Compose profile named `laya`, so a plain `docker compose up -d` does not start it.
|
||||
|
||||
Start nodecast-tv and Laya together:
|
||||
|
||||
```bash
|
||||
docker compose --profile laya up -d --build
|
||||
```
|
||||
|
||||
Rebuild and recreate both services after an update:
|
||||
|
||||
```bash
|
||||
docker compose --profile laya up -d --build --force-recreate
|
||||
```
|
||||
|
||||
Rebuild and recreate only Laya:
|
||||
|
||||
```bash
|
||||
docker compose --profile laya up -d --build --force-recreate laya
|
||||
```
|
||||
|
||||
The Laya model cache is persisted under `./data/models/laya`. The first analysis can take longer while the runtime downloads or loads its model.
|
||||
|
||||
Inside Compose, nodecast-tv reaches Laya at `http://laya:8000`. When running nodecast-tv directly on the host with a separately exposed Laya runtime, use:
|
||||
|
||||
```bash
|
||||
LAYA_BASE_URL=http://localhost:8000 npm start
|
||||
```
|
||||
|
||||
`http://laya:8000` is a Compose-internal hostname and does not resolve from a host process.
|
||||
|
||||
To publish the image, log in if needed with `docker login gitea.anthonybouteiller.ovh`, then run `./scripts/docker-build-push.sh`. Use `--no-push` to build it locally without publishing.
|
||||
|
||||
@ -213,6 +231,41 @@ All transcoding and stream processing settings are found in **Settings → Trans
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Docker Compose and optional Laya
|
||||
|
||||
Check that you are in the repository directory and that Compose sees both services:
|
||||
|
||||
```bash
|
||||
docker compose config --services
|
||||
docker compose --profile laya config --services
|
||||
docker compose config --profiles
|
||||
```
|
||||
|
||||
The standard configuration should list `nodecast-tv`; with the `laya` profile enabled it should list both `nodecast-tv` and `laya`. The available profiles should include `laya`.
|
||||
|
||||
If `docker compose ... laya` reports `no such service: laya`, you are usually using an old or different Compose file, or running the command from the wrong directory. Update the checkout, change to the directory containing this repository's `docker-compose.yml`, and run `docker compose config --services` again.
|
||||
|
||||
If Settings reports **“The optional Laya runtime is unavailable”**, nodecast-tv remains usable and falls back to Standard analysis. To diagnose Laya, run:
|
||||
|
||||
```bash
|
||||
docker compose --profile laya ps
|
||||
docker compose --profile laya logs nodecast-tv
|
||||
docker compose --profile laya logs laya
|
||||
docker compose --profile laya config
|
||||
```
|
||||
|
||||
After configuration or image changes, perform a clean recreation:
|
||||
|
||||
```bash
|
||||
docker compose --profile laya up -d --build --force-recreate
|
||||
```
|
||||
|
||||
To recreate only the optional runtime:
|
||||
|
||||
```bash
|
||||
docker compose --profile laya up -d --build --force-recreate laya
|
||||
```
|
||||
|
||||
### Video Won't Play (Black Screen or Loading Forever)
|
||||
|
||||
| Symptom | Likely Cause | Solution |
|
||||
|
||||
@ -15,13 +15,11 @@ services:
|
||||
- PORT=3000 # Internal container port
|
||||
- LAYA_BASE_URL=http://laya:8000
|
||||
- LAYA_BATCH_TIMEOUT_MS=120000
|
||||
depends_on:
|
||||
laya:
|
||||
condition: service_healthy
|
||||
devices:
|
||||
- /dev/dri:/dev/dri # Required for VAAPI/QuickSync/AMF (Linux)
|
||||
|
||||
laya:
|
||||
profiles: ["laya"]
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.laya
|
||||
|
||||
Reference in New Issue
Block a user