From a0e13c89e48085cf3d6370e2ff561e1d3280c6a0 Mon Sep 17 00:00:00 2001 From: azurejelly <178000437+azurejelly@users.noreply.github.com> Date: Thu, 16 Oct 2025 10:54:52 -0400 Subject: [PATCH 1/8] [no ci] docs: mention SmartScreen pop-up on Windows --- docs/GETTING_STARTED.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/GETTING_STARTED.md b/docs/GETTING_STARTED.md index ec0fec7..8aafb42 100644 --- a/docs/GETTING_STARTED.md +++ b/docs/GETTING_STARTED.md @@ -10,6 +10,7 @@ This file covers how to get started with `vertd`. - [Arch Linux](#arch-linux) - [Fedora](#fedora) - [Downloading the server binaries](#downloading-the-server-binaries) +- [Running `vertd` on Windows](#running-vertd-on-windows) - [Running `vertd` on macOS/Linux](#running-vertd-on-macoslinux) - [Using systemd](#using-systemd) - [Using Docker](#using-docker) @@ -78,6 +79,13 @@ Grab the latest `vertd` release for your operating system and architecture from > [!NOTE] > If you're using an Intel-based Mac, download the `vertd-mac-x86_64` executable. For Mac computers with Apple silicon (M1 or newer), download `vertd-mac-arm64` instead. +## Running `vertd` on Windows + +Simply navigate to the directory where you downloaded the server binary, then open it like any other program. + +> [!IMPORTANT] +> It's very likely you will get a SmartScreen pop-up on Windows. You can ignore it by pressing `More info` and then `Run anyway`. However, if you don't trust the file, you can always inspect and compile the code yourself. + ## Running `vertd` on macOS/Linux Assuming you downloaded the `vertd` executable to your Downloads folder, open the Terminal and run the following command to navigate there: @@ -179,4 +187,4 @@ You can set the `VERTD_FORCE_GPU` environment variable with your vendor type (`n ```shell $ VERTD_FORCE_GPU=intel ./vertd -``` \ No newline at end of file +``` From e9f1a661bb6975cc4aefcb63b7bedf78d1aa580f Mon Sep 17 00:00:00 2001 From: azurejelly <178000437+azurejelly@users.noreply.github.com> Date: Thu, 16 Oct 2025 12:15:59 -0400 Subject: [PATCH 2/8] fix(compose): fix variable not set warnings --- docker-compose.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index bd7c79f..fec2f25 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,10 +4,10 @@ services: image: ghcr.io/vert-sh/vertd:latest environment: - PORT=${PORT:-24153} - - WEBHOOK_URL=${WEBHOOK_URL} - - WEBHOOK_PINGS=${WEBHOOK_PINGS} - - ADMIN_PASSWORD=${ADMIN_PASSWORD} - - PUBLIC_URL=${PUBLIC_URL} + - WEBHOOK_URL=${WEBHOOK_URL:-} + - WEBHOOK_PINGS=${WEBHOOK_PINGS:-} + - ADMIN_PASSWORD=${ADMIN_PASSWORD:-} + - PUBLIC_URL=${PUBLIC_URL:-} ports: - "${PORT:-24153}:${PORT:-24153}" From 28a9b0d1b30964ffd5a353bc2a5b119de9936417 Mon Sep 17 00:00:00 2001 From: azurejelly <178000437+azurejelly@users.noreply.github.com> Date: Thu, 16 Oct 2025 12:23:22 -0400 Subject: [PATCH 3/8] fix(docker): update .dockerignore --- .dockerignore | 44 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/.dockerignore b/.dockerignore index 2773103..4aa5c48 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,8 +1,42 @@ -.git -input -output -target +# os-specific stuff +.DS_Store +Thumbs.db +desktop.ini + +# code editors +.vscode/ + +# git & docs +.git/ +.github/ +docs/ +LICENSE +.gitignore +.gitattributes +*.md + +# docker +.dockerignore +docker-compose.yml +Dockerfile + +# environment variables +*.env* + +# vertd folders +permanent/ +input/ +output/ + +# rust output +target/ + +# ffmpeg ffmpeg.exe ffmpeg ffprobe.exe -ffprobe \ No newline at end of file +ffprobe + +# nix stuff +flake.nix +flake.lock \ No newline at end of file From 7f522f6923e72180f68fbcd2ff8e8916dfdf57c9 Mon Sep 17 00:00:00 2001 From: azurejelly <178000437+azurejelly@users.noreply.github.com> Date: Thu, 16 Oct 2025 12:43:38 -0400 Subject: [PATCH 4/8] fix(compose): only use `PORT` variable for port mapping Do not modify the internal port by default --- docker-compose.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index bd7c79f..7aa0811 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,13 +3,12 @@ services: build: . image: ghcr.io/vert-sh/vertd:latest environment: - - PORT=${PORT:-24153} - WEBHOOK_URL=${WEBHOOK_URL} - WEBHOOK_PINGS=${WEBHOOK_PINGS} - ADMIN_PASSWORD=${ADMIN_PASSWORD} - PUBLIC_URL=${PUBLIC_URL} ports: - - "${PORT:-24153}:${PORT:-24153}" + - "${PORT:-24153}:24153" # For AMD/Intel GPUs, uncomment the "devices" section - then remove # or comment out the "deploy" section and the "runtime" string used From 71b6468d98a90df933940b15bd5553651358159b Mon Sep 17 00:00:00 2001 From: azurejelly <178000437+azurejelly@users.noreply.github.com> Date: Thu, 16 Oct 2025 12:56:21 -0400 Subject: [PATCH 5/8] feat(docker): add basic healthcheck Makes a request to /api/version every 30 seconds --- Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Dockerfile b/Dockerfile index a7028e0..7dad5d9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,6 +20,7 @@ COPY --from=builder /build/target/release/vertd ./vertd # https://github.com/NVIDIA/nvidia-container-toolkit/issues/140#issuecomment-1927273909 RUN apt-get update && apt-get install -y \ + curl \ ffmpeg \ mesa-va-drivers \ intel-media-va-driver \ @@ -37,4 +38,7 @@ RUN rm -rf \ /var/lib/apt/lists/* \ /var/tmp/* +HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ + CMD sh -c "curl --fail --silent --output /dev/null http://localhost:${PORT:-24153}/api/version || exit 1" + ENTRYPOINT ["./vertd"] From 3eae2c50d8f5f7c7aba3bbb4f1f27917acbc081f Mon Sep 17 00:00:00 2001 From: azurejelly <178000437+azurejelly@users.noreply.github.com> Date: Thu, 16 Oct 2025 12:56:57 -0400 Subject: [PATCH 6/8] fix(docker): expose 24153/tcp --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dockerfile b/Dockerfile index 7dad5d9..b8e0f77 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,6 +38,8 @@ RUN rm -rf \ /var/lib/apt/lists/* \ /var/tmp/* +EXPOSE 24153/tcp + HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD sh -c "curl --fail --silent --output /dev/null http://localhost:${PORT:-24153}/api/version || exit 1" From d4b4ba89a64ec0d20648ae8ecdf093c8b6c3b961 Mon Sep 17 00:00:00 2001 From: azurejelly <178000437+azurejelly@users.noreply.github.com> Date: Thu, 16 Oct 2025 13:19:38 -0400 Subject: [PATCH 7/8] fix(compose): specify docker container name --- docker-compose.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index bd7c79f..3903c98 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,8 @@ services: vertd: - build: . + container_name: vertd image: ghcr.io/vert-sh/vertd:latest + build: . environment: - PORT=${PORT:-24153} - WEBHOOK_URL=${WEBHOOK_URL} From 60ccc0e167568f4349624479e84b948e8f3d38b6 Mon Sep 17 00:00:00 2001 From: Maya Date: Sun, 19 Oct 2025 19:31:45 +0300 Subject: [PATCH 8/8] feat: return ffmpeg error logs --- src/http/services/websocket.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/http/services/websocket.rs b/src/http/services/websocket.rs index 90f41fa..649e877 100644 --- a/src/http/services/websocket.rs +++ b/src/http/services/websocket.rs @@ -270,9 +270,15 @@ pub async fn websocket(req: HttpRequest, stream: web::Payload) -> Result