From 200c7d6d8c7be89392728637eb2d49e43c0c82b0 Mon Sep 17 00:00:00 2001 From: Brian McGonagill Date: Tue, 17 Mar 2026 15:26:41 -0500 Subject: [PATCH] Additional clarifications to README --- README.md | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 26284c8..92d8615 100644 --- a/README.md +++ b/README.md @@ -47,11 +47,19 @@ Step. 1. You have two options Already included in the `docker-compose.yml` file witht his project. Step 2. Run — replace `/your/video/path` with the real path on your host - - A. Using `docker run`: + +If you want to persist data between updates, changes, etc.; then you need to create a "data" directory in the same location you store your 'docker-compose.yml' file. `mkdir -p data` +Ensure the 'data' directory is accessible with permissions = 775. + +`chmod -R 775 ./data` + + A. Using `docker run`: + + - with an image you build: + ``` docker run -d \ --name videopress \ @@ -61,9 +69,20 @@ docker run -d \ -v ./data:/data \ videopress ``` - B. Using Docker Compose - `mkdir -p data` + - with the pre-built image: + + ``` + docker run -d \ + --name videopress \ + --restart unless-stopped \ + -p 8080:8080 \ + -v /your/video/path:/media \ + -v ./data:/data \ + bmcgonag/videopress:latest + ``` + + B. Using Docker Compose `docker compose up -d` @@ -107,7 +126,7 @@ MEDIA_ROOT=/your/video/path ./start.sh --prod 9000 Every API call that accepts a path validates it with `safe_path()` before any OS operation. `safe_path()` resolves symlinks and asserts the result is inside `MEDIA_ROOT`. Requests that attempt directory traversal are rejected with -HTTP 403. The container runs as a non-root user (UID 1000). +HTTP 403. The container runs as a non-root user (e.g. your id. You can find this by entering the command `id` in the terminal, make note of the number for `uid` - usually 1000). ---