Add Docker and LXC deployment support

This commit is contained in:
human insan
2026-08-27 22:33:05 +01:00
parent 6c521e5513
commit 451711b217
5 changed files with 80 additions and 4 deletions
+40
View File
@@ -32,6 +32,46 @@ python3 server.py
Open <http://127.0.0.1:8765> in a browser.
## Docker
Docker keeps the application and FFmpeg inside a container while the recorder
files remain on the host. From this directory, run:
```sh
docker compose up -d --build
```
Open <http://127.0.0.1:8765>. The Compose configuration mounts the original
archive read-only at `/data/source` and stores encoded files persistently in
`/data/encoded`. Stop it with:
```sh
docker compose down
```
To use different host folders, edit the two `volumes` entries in
`compose.yaml`. Do not remove `:ro` from the source mount.
## LXC
An unprivileged LXC works without Docker. Install Python and FFmpeg inside the
container, then bind-mount the host folders into the LXC and run:
```sh
python3 server.py --host 0.0.0.0 --source /mnt/c41-media --root /mnt/c41-media-mp4
```
The LXC user needs read permission on the source mount and write permission on
the encoded mount. Run the player as a system service or with a process
supervisor so it restarts after reboot. If the LXC should be reachable from
other machines, bind the port explicitly:
```sh
python3 server.py --host 0.0.0.0 --source /mnt/c41-media --root /mnt/c41-media-mp4 --port 8765
```
Then open `http://LXC-IP:8765`. No privileged container features are required.
The default source archive is:
`/home/human/Videos/Yassine Salon/C41/media`