ttalvitie / browservice

Browservice: Browse the modern web on historical browsers
MIT License
1.08k stars 32 forks source link

Docker support for latest release #85

Open binarygeek119 opened 1 year ago

binarygeek119 commented 1 year ago

the only docker service that i can find can only run v0.5.2.0 im not sure how to run this on docker with the latest appimage version

ttalvitie commented 1 year ago

Docker is not an officially supported platform for Browservice, and you cannot run it with proper Chromium sandboxing (essential for security) unless you make your Docker container privileged (which significantly reduces the container isolation). If you have a Linux setup anyway, you should be able to run the AppImage directly on any reasonably recent Linux system.

I'm not sure what you mean by a docker service or v0.5.2.0; there have never been any official Browservice Docker containers and the version numbers start from 0.9.0.0. Someone else may have provided Docker containers, but you should ask them for more support on them.

Out of curiosity, I tried to run Browservice in a privileged Ubuntu 22.04 Docker container as follows:

$ sudo docker run --privileged -p 127.0.0.1:8080:8080/tcp --shm-size 1g -it ubuntu:jammy
root@a498cdfcb9ef:/# apt update
root@a498cdfcb9ef:/# apt install -y fuse wget libnss3
root@a498cdfcb9ef:/# useradd -m -s /bin/bash user
root@a498cdfcb9ef:/# su - user
user@a498cdfcb9ef:~$ wget https://github.com/ttalvitie/browservice/releases/download/v0.9.5.1/browservice-v0.9.5.1-x86_64.AppImage
user@a498cdfcb9ef:~$ chmod +x browservice-v0.9.5.1-x86_64.AppImage
user@a498cdfcb9ef:~$ ./browservice-v0.9.5.1-x86_64.AppImage --vice-opt-http-listen-addr=0.0.0.0:8080

I needed to install fuse and libnss3 and increase shm size to make the AppImage work and Chromium not crash. Still, this is quite unnecessary as I can run the AppImage directly on the host system; as the Docker container has to be privileged for the Chromium sandbox to work, Docker does not essentially offer additional isolation.