Synology DSM 7.2.1-69057 Update 3
Thanks. I wasn't aware you could volume mount a single file like that.
I’ll look at adding an environment variable to the docker file for specify a local port.
"Volume" is a misnomer ... it's merely an overlay, whether that be an entire directory, or a single file.
Hopefully before this becomes a stable release
@chDVRuser Please pull the latest docker image. There is a new CHANNELS_PORT
environment variable you can use to specify an alternate port.
Thanks. Updated all container and server versions.
I'm good to go. Not sure about all the rest of the users affected.
@chDVRuser Just to make sure I understand the situation, were all of your DVRs blocked from local access when you updated until you made the networking change?
I didn't update Pre-Release until I pulled the new docker image. I read these posts and said "Not me. I'm not jumping in with my eyes closed".
I'm assuming this affects older docker daemon versions and not sure which versions work or don't.
Just reverted one of my docker container servers on my Synology to using a named bridge network.
It's prompting for an Authorization Code when accessed via local IP address.
Log shows
2024/01/05 17:34:21.325341 [HTTP] Detected docker guest gateway. Requiring authentication for: 172.18.0.1
I experienced this and was able to authenticate locally, but
what does this mean. You can't connect or authenticate using a local client?
Locally, clients do not use authentication. So, if the server is rejecting local requests, then the clients will not be able to connect.
Having issues with my dockers running under Windows 11 and WSL2 but those on ubuntu the network: host option had no issues
Are you seeing this in the DVR log when you try to connect?
All I see is Running Channels DVR..
However unlike with -p option I don't see the port listening with the network: host command
In doing research I've read where someone stated "If you want host networking, you can uninstall Docker Desktop, and install Docker Engine natively inside WSL2" so may need to try that instead
It will be in the DVR log
Docker Bridge network with docker run -p 8489:8089
2024/01/05 21:54:54.058010 [SYS] Starting Channels DVR v2024.01.05.2044 (linux-x86_64 pid:7) in /channels-dvr/data
2024/01/05 21:54:54.067125 [SYS] Started HTTP Server on 8089
Docker Host network with channels-dvr -port=8489
in run.sh
OR docker run with -e CHANNELS_PORT=8489
2024/01/05 21:59:24.382653 [SYS] Starting Channels DVR v2024.01.05.2044 (linux-x86_64 pid:7) in /channels-dvr/data
2024/01/05 21:59:24.414253 [SYS] Started HTTP Server on 8489
I can also see the listening ports with netstat
root@DS1019PLUS:~# netstat -vpntel | grep '../latest/ch'
tcp6 0 0 :::8089 :::* LISTEN 0 192088701 2866/../latest/chan
tcp6 0 0 :::8189 :::* LISTEN 0 192090979 5868/../latest/chan
tcp6 0 0 :::8190 :::* LISTEN 242120 192093301 13521/../latest/cha
tcp6 0 0 :::8289 :::* LISTEN 0 192091224 9144/../latest/chan
tcp6 0 0 :::8389 :::* LISTEN 0 192086719 29910/../latest/cha
tcp6 0 0 :::8489 :::* LISTEN 0 192735274 9880/../latest/chan
I can run fine with only the -p option, but then I get the authentication screen.
It is when I try to migrate to the --network=host that there is an issue
You cannot run the -p option along with the --network=host option as it gives the following message:
WARNING: Published ports are discarded when using host network mode
which then results in the issue
Again this is only an issue in WSL and Docker Desktop on Windows 11,
not on Ubuntu
The -p
option being discussed is for the channels-dvr
binary running inside the container. It is completely different from the --publish
/-p
option passed to the docker
binary.
A new environment variable was added to allow this setting to more easily be passed to the binary in the container. To change the port your server is going to listen on, add -e CHANNELS_PORT=…
to your Docker command line.
So what is the "issue". You never said?
My understanding is you cannot run a docker container using host networking mode (--network=host) on Docker for Mac or Docker for Windows Channels — Channels DVR Server
- Neither Docker for Mac nor Docker for Windows support
--net=host
. When running on these platforms, you'll have to connect to Channels DVR Server by IP address from Channels. You can do this in the Settings tab of the Channels Apps.
Hence my first post in this thread