diff --git a/Dockerfile b/Dockerfile index 7f2ca9a..5dc66af 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,44 +6,43 @@ ENV VNC_SCREEN_SIZE=1024x768 COPY copyables / -RUN apt-get update \ - && DEBIAN_FRONTEND=noninteractive apt-get upgrade -y \ - && DEBIAN_FRONTEND=noninteractive \ - apt-get install -y --no-install-recommends \ - gnupg2 \ - fonts-noto-cjk \ - pulseaudio \ - supervisor \ - x11vnc \ - fluxbox \ - eterm - -ADD https://dl.google.com/linux/linux_signing_key.pub \ - https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \ - https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb \ - /tmp/ - -RUN apt-key add /tmp/linux_signing_key.pub \ - && dpkg -i /tmp/google-chrome-stable_current_amd64.deb \ - || dpkg -i /tmp/chrome-remote-desktop_current_amd64.deb \ - || DEBIAN_FRONTEND=noninteractive apt-get -f --yes install - -RUN apt-get clean \ - && rm -rf /var/cache/* /var/log/apt/* /var/lib/apt/lists/* /tmp/* \ - && useradd -m -G chrome-remote-desktop,pulse-access chrome \ - && usermod -s /bin/bash chrome \ - && ln -s /crdonly /usr/local/sbin/crdonly \ - && ln -s /update /usr/local/sbin/update \ - && mkdir -p /home/chrome/.config/chrome-remote-desktop \ - && mkdir -p /home/chrome/.fluxbox \ - && echo ' \n\ - session.screen0.toolbar.visible: false\n\ - session.screen0.fullMaximization: true\n\ - session.screen0.maxDisableResize: true\n\ - session.screen0.maxDisableMove: true\n\ - session.screen0.defaultDeco: NONE\n\ - ' >> /home/chrome/.fluxbox/init \ - && chown -R chrome:chrome /home/chrome/.config /home/chrome/.fluxbox +# Update packages, install essential dependencies, and clean up +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + gnupg2 \ + fonts-noto-cjk \ + pulseaudio \ + supervisor \ + x11vnc \ + fluxbox \ + eterm \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + apt-get clean && \ + rm -rf /var/cache/* /var/log/apt/* /tmp/* + +# Install Latest Google Chrome and Chrome Remote Desktop +RUN wget --no-check-certificate -O /tmp/google-chrome-stable.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ + wget --no-check-certificate -O /tmp/chrome-remote-desktop.deb https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb && \ + apt-get update && \ + apt-get install -y --no-install-recommends /tmp/google-chrome-stable.deb /tmp/chrome-remote-desktop.deb && \ + rm /tmp/google-chrome-stable.deb /tmp/chrome-remote-desktop.deb + +# Configure the environment +RUN useradd -m -G chrome-remote-desktop,pulse-access chrome && \ + usermod -s /bin/bash chrome && \ + ln -s /crdonly /usr/local/sbin/crdonly && \ + ln -s /update /usr/local/sbin/update && \ + mkdir -p /home/chrome/.config/chrome-remote-desktop /home/chrome/.fluxbox && \ + echo ' \n\ + session.screen0.toolbar.visible: false\n\ + session.screen0.fullMaximization: true\n\ + session.screen0.maxDisableResize: true\n\ + session.screen0.maxDisableMove: true\n\ + session.screen0.defaultDeco: NONE\n\ + ' >> /home/chrome/.fluxbox/init && \ + chown -R chrome:chrome /home/chrome/.config /home/chrome/.fluxbox USER chrome @@ -55,4 +54,4 @@ EXPOSE 5900 ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] -CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"] +CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..8a5275c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3.9' + +services: + chrome-docker: + build: + context: . + dockerfile: Dockerfile + environment: + VNC_SCREEN_SIZE: 1024x768 + VNC_PASSWORD: your_password + volumes: + - chrome_data:/home/chrome + ports: + - "5900:5900" + restart: unless-stopped + +volumes: + chrome_data: \ No newline at end of file