| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | 
							- version: '2.3' # volumes long syntax
 
- # options to share host's x-server:
 
- # - Xephyr
 
- # - pass $XAUTHORITY (insecure, https://stackoverflow.com/a/25280523/5894777)
 
- # - xhost + (horribly insecure)
 
- volumes:
 
-   home:
 
- services:
 
-   browser:
 
-     build: .
 
-     image: docker.io/fphammerle/brave-browser
 
-     container_name: brave_browser
 
-     init: true
 
-     environment:
 
-     - DISPLAY
 
-     read_only: true
 
-     volumes:
 
-     - type: bind
 
-       source: /tmp/.X11-unix
 
-       target: /tmp/.X11-unix
 
-     - type: volume
 
-       source: home
 
-       target: /home/browser
 
-     - type: tmpfs
 
-       # > ERROR:chrome_browser_main.cc(1254)] Failed to create a ProcessSingleton for your profile directory. [...]
 
-       target: /tmp
 
-       tmpfs:
 
-         # nosuid,nodev,noexec added by default
 
-         mode: '1777'
 
-         size: 4k
 
-     # fix some "Aw, Snap!" errors (including video playback)
 
-     # > ERROR:broker_posix.cc(46)] Received unexpected number of handles
 
-     # default:
 
-     # > $ sudo docker exec brave_browser mount | grep /dev/shm
 
-     # > shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=65536k)
 
-     # https://github.com/puppeteer/puppeteer/blob/v7.1.0/docs/troubleshooting.md#tips
 
-     shm_size: 1GB
 
-     cap_drop: [ALL]
 
-     security_opt: [no-new-privileges]
 
- # https://docs.docker.com/compose/compose-file/compose-file-v2/
 
 
  |