nyxt-docker
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
- Install XQuartz =brew install xquartz=
- Launch XQuartz #+begin_src bash open -a XQuartz #+end_src
- 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) - Restart XQuartz
- Launch a new =xterm= terminal and ensure you have "DISPLAY=:0" set.
- Run =xhost + 127.0.0.1= from a xquartz terminal #+begin_src bash xhost +127.0.0.1 #+end_src
- 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