Dockerfile 1.1 KB

12345678910111213141516171819202122232425262728
  1. # syntax=docker.io/docker/dockerfile:1.3@sha256:42399d4635eddd7a9b8a24be879d2f9a930d0ed040a61324cfdf59ef1357b3b2
  2. FROM registry.fedoraproject.org/fedora:35@sha256:2d697a06d17691e87212cf248f499dd47db2e275dfe642ffca5975353ea89887
  3. RUN dnf -y install sway wayvnc procps chromium novnc hostname patch
  4. RUN dnf -y install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
  5. COPY managed.json /etc/opt/chrome/policies/managed/managed.json
  6. COPY sway.conf /etc/sway/config.d/20-docker.conf
  7. ENV WLR_BACKENDS=headless
  8. ENV WLR_LIBINPUT_NO_DEVICES=1
  9. ENV WAYLAND_DISPLAY=wayland-1
  10. ENV XDG_RUNTIME_DIR=/home/headless/.run
  11. ENV SWAYSOCK=/tmp/sway.sock
  12. RUN useradd -m -s /bin/bash headless
  13. # Python 3.10 compatibility fix for websockify (novnc dependency)
  14. # (Fedora 35 packaging bug that'll be resolved sooner or later)
  15. RUN sed -i 's/fromstring/frombytes/' /usr/lib/python3.10/site-packages/websockify/*.py && \
  16. sed -i 's/tostring/tobytes/' /usr/lib/python3.10/site-packages/websockify/*.py
  17. USER headless
  18. WORKDIR /home/headless
  19. RUN mkdir -p ~/.config ~/.run
  20. COPY --chown=headless:headless run.sh /home/headless/run.sh