diff --git a/.dockerignore b/.dockerignore index f9cb8a0..2f68476 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,5 +1,6 @@ videnc-vibe *.mkv +*.mp4 *.wav *.opus *.log @@ -10,5 +11,6 @@ logs.db /originals /failed /work +/data .git MANUAL.html diff --git a/Dockerfile b/Dockerfile index da2cfe7..04397f2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,4 +14,5 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ COPY --from=build /videnc-vibe /usr/local/bin/videnc-vibe # logs.db + log files land in the working dir — make it the mounted /data so they persist. WORKDIR /data +EXPOSE 8080 ENTRYPOINT ["videnc-vibe", "-c", "/config/config.yaml"] diff --git a/config.example.yaml b/config.example.yaml index 68cc7d6..1ed6a24 100644 --- a/config.example.yaml +++ b/config.example.yaml @@ -1,5 +1,9 @@ omdb_api_key: "YOUR_API_KEY_HERE" +# Status server listen address. Omit for the default ":8080"; set to "" to disable. +# GET /status returns live encode progress, the input queue, and recent events. +http_addr: ":8080" + encoding: dvd: crf: 30 diff --git a/docker-compose.yml b/docker-compose.yml index 340cfec..13f5b0c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,6 +3,16 @@ services: build: . container_name: videnc-vibe restart: unless-stopped + # Cap CPU/RAM so a long SVT-AV1 encode can't starve the host. Tune to taste. + # `podman compose` honors deploy.resources; `podman-compose` (python) wants + # the short keys instead — cpus: 4.0 / mem_limit: 4g / cpuset: "0-3". + deploy: + resources: + limits: + cpus: "8.0" + memory: 4g + ports: + - "8080:8080" # status server: GET http://host:8080/status (needs http_addr: ":8080" in config) volumes: - ./data/config.yaml:/config/config.yaml:ro # your config — paths inside must point at /data/* - ./data/media:/data # holds input/ output/ originals/ failed/ work/ + logs