+14
Considering for Future Release

Docker

Luca 8 years ago updated 5 years ago 11

I'm currently using ScreenConnect in a docker container.


( I've created this simple image: https://hub.docker.com/r/kenayagi/screenconnect/ )
It has been working well so far, but I'm forced to so some magic to correctly update it (read: run db update scripts manually after new pulls).


Any chance of getting official support?
It would be really great to have an official image directly from ConnectWise.

The main problem with my silly setup is that the entire container is backed to a volume.
So docker-style updates won't work.
The right way would be to separate data from executables... And trigger scripts on new image version.

Considering for Future Release
Considering for Future Release

Hi Luca,
We've investigated this request and have discovered Docker isn't intended to be used to contain certain applications, such as Control, hence the implications. Therefore, we are going to place this one on the back-burner to see if anything changes with Docker in the future and how many other's in the community +1. As it is now, accomplishing this would require a few extensive prerequisites which may or may not solve the overall issue. I've also added a request to consider creating a public AMI, which looks to be an alternative. 

That's a shame, was hoping I'd be able to migrate my SC install over to my Synology by running it in Docker. Would be interested to hear what issues you came across? As I seemed to be able to easily get a basic install of SC up and running in Docker ok (just couldn't get the data to be on a mounted volume).

James,

I was wondering what you used as the base OS image. I am very new to docker as well but I was hoping to try to get this to work on my unRaid server, I bet the process would be similar. 


What is wrong with running the files outside of the container? I think this makes it makes updating easier.

It was https://hub.docker.com/r/kenayagi/screenconnect/ that I used, seem to get up and running ok, but admittedly didn't test everything. It was running with the files outside of the container that I had problems with, could only get it to work with the files inside the container (otherwise it couldn't find mono). May be possible if you individually link each folder, apart from App_Runtime.

@Luca @James are you stil running SC in a docker? Is it running on the latest version?

No, I’m not. Since hitting the issue of not being able to store the user data outside of the container, I didn’t try it again. Now running it on a Linode VPS.

Yes. I'm still running inside Docker with the latest versions, even with the mentioned "dirty method" for applying updates.

My docker-compose.yml looks like this:

version: "3.5"

services:
app:
image: kenayagi/screenconnect
restart: always
command: /etc/init.d/screenconnect debug
#command: sleep 7d # This keeps the service paused while I log into the container and update the service manually. When finished I revert.
volumes:
- ./opt:/opt
ports:
- "8041:8041"
networks:
- traefik_net
environment:
- MONO_MANAGED_WATCHER=true
labels:
- "traefik.enable=true"
- "traefik.http.routers.control.rule=Host(`control.mydomain.com`)"
- "traefik.http.services.control.loadbalancer.server.port=8040"
- "traefik.http.routers.control.tls.certresolver=le"

networks:
traefik_net:
external:
name: traefik_net

(The traefik' part would deserve a separate talk, but that's "optional")

@James sorry to hear that. I'm trying to do the same thing now in docker and storing the user data outside the container is possible, with volumes. If you weren't aware of that, you may to give it another try. I'll post an update here if I get it working.