nyxt-docker icon indicating copy to clipboard operation
nyxt-docker copied to clipboard

  • Docker nyxt A dockerized version of [[https://nyxt.atlas.engineer/][Nyxt]]

** Usage

#+begin_src bash docker run -it --rm bigdeddu/nyxt:2.2.4 #+end_src

See special note for macOS below.

Alternatively, you can also use [[https://github.com/mviereck/x11docker][x11docker]] tool, which has lots of features and options.

** Usage for Docker on macOS

  1. Install XQuartz =brew install xquartz=
  2. Launch XQuartz #+begin_src bash open -a XQuartz #+end_src
  3. Enable "Allow connections from network clients" under preferences in XQuartz. (Go to the xquartz preferences panel =preferences -> security= and click allow connections from network clients)
  4. Restart XQuartz
  5. Launch a new =xterm= terminal and ensure you have "DISPLAY=:0" set.
  6. Run =xhost + 127.0.0.1= from a xquartz terminal #+begin_src bash xhost +127.0.0.1 #+end_src
  7. In that terminal run #+begin_src docker run -it --rm bigdeddu/nyxt:2.2.4 #+end_src

** TODO general

  • [-] containerize
    • [X] installation from binary
    • [X] install deps
    • [ ] cleanup container layers

** TODO macOS

  • [-] run via gui on host machine (xquartz?)
    • [X] xquartz on mac
    • [ ] document volume mounts
    • [ ] create automator or some other link
    • [ ] fix sound
    • [ ] fix youtube

** dev/debugging/building

To debug audio/video play I run with: #+begin_src xterm -e 'xhost +127.0.0.1'; docker run -it --rm --name nyxt
-v /tmp/.X11-unix:/tmp/.X11-unix
-e DISPLAY=unix$DISPLAY
-e WEBKIT_DISABLE_COMPOSITING_MODE=1
-e GDK_SYNCHRONIZE=1
-e LIBGL_DEBUG=verbose
-e LIBGL_ALWAYS_INDIRECT=1
-e NO_AT_BRIDGE=1
--privileged
--device /dev/snd nyxt:2.2.4 #+end_src

And build with: #+begin_src docker build . -t nyxt:2.2.4 #+end_src

This way I can exec in the container via =docker exec=: #+begin_src bash docker exec -it nyxt bash #+end_src