x-neko-common: &neko-common image: "${NEKO_IMAGE:-ghcr.io/m1k1o/neko/chromium:3.0.0}" restart: unless-stopped shm_size: "${NEKO_SHM_SIZE:-512mb}" cap_add: - SYS_ADMIN x-neko-env: &neko-env DISPLAY: ":99.0" NEKO_DESKTOP_SCREEN: "${NEKO_DESKTOP_SCREEN}" NEKO_SERVER_BIND: ":8080" NEKO_MEMBER_PROVIDER: "multiuser" NEKO_MEMBER_MULTIUSER_USER_PASSWORD: "${NEKO_USER_PASS}" NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD: "${NEKO_ADMIN_PASS}" NEKO_WEBRTC_ICELITE: "${NEKO_WEBRTC_ICELITE}" NEKO_WEBRTC_NAT1TO1: "${NEKO_WEBRTC_NAT1TO1}" NEKO_MAX_FPS: "${NEKO_MAX_FPS}" NEKO_VIDEO_BITRATE: "${NEKO_VIDEO_BITRATE}" NEKO_PLUGINS_ENABLED: "${NEKO_PLUGINS_ENABLED}" NEKO_PLUGINS_DIR: "/etc/neko/plugins/" NEKO_START_URL: "${NEKO_START_URL}" NEKO_BROWSER_RENDER_MODE: "${NEKO_BROWSER_RENDER_MODE}" services: neko1: <<: *neko-common container_name: live-neko-1 environment: <<: *neko-env NEKO_WEBRTC_EPR: "${NEKO_WEBRTC_EPR_1}" NEKO_WEBRTC_TCPMUX: "${NEKO_WEBRTC_TCPMUX_1}" NEKO_WEBRTC_UDPMUX: "${NEKO_WEBRTC_UDPMUX_1}" ports: - "${NEKO_HTTP_PORT_1}:8080" - "${NEKO_WEBRTC_TCPMUX_1}:${NEKO_WEBRTC_TCPMUX_1}/tcp" - "${NEKO_WEBRTC_UDPMUX_1}:${NEKO_WEBRTC_UDPMUX_1}/udp" - "${NEKO_WEBRTC_UDP_RANGE_1}:${NEKO_WEBRTC_UDP_RANGE_1}/udp" volumes: - "${NEKO_PROFILE_HOST_DIR_1}:/home/neko/.config/chromium" - "${NEKO_PROFILE_HOST_DIR_1}:/home/neko/.config/google-chrome" - "./policies:/etc/chromium/policies/managed:ro" - "./policies:/etc/opt/chrome/policies/managed:ro" - "./provisioning:/var/www/provisioning:ro" - "./browser-launch.sh:/etc/neko/browser-launch.sh:ro" - "./${NEKO_BROWSER_SUPERVISOR_CONF}:/etc/neko/supervisord/${NEKO_BROWSER_SUPERVISOR_CONF}:ro" neko2: <<: *neko-common container_name: live-neko-2 environment: <<: *neko-env NEKO_WEBRTC_EPR: "${NEKO_WEBRTC_EPR_2}" NEKO_WEBRTC_TCPMUX: "${NEKO_WEBRTC_TCPMUX_2}" NEKO_WEBRTC_UDPMUX: "${NEKO_WEBRTC_UDPMUX_2}" ports: - "${NEKO_HTTP_PORT_2}:8080" - "${NEKO_WEBRTC_TCPMUX_2}:${NEKO_WEBRTC_TCPMUX_2}/tcp" - "${NEKO_WEBRTC_UDPMUX_2}:${NEKO_WEBRTC_UDPMUX_2}/udp" - "${NEKO_WEBRTC_UDP_RANGE_2}:${NEKO_WEBRTC_UDP_RANGE_2}/udp" volumes: - "${NEKO_PROFILE_HOST_DIR_2}:/home/neko/.config/chromium" - "${NEKO_PROFILE_HOST_DIR_2}:/home/neko/.config/google-chrome" - "./policies:/etc/chromium/policies/managed:ro" - "./policies:/etc/opt/chrome/policies/managed:ro" - "./provisioning:/var/www/provisioning:ro" - "./browser-launch.sh:/etc/neko/browser-launch.sh:ro" - "./${NEKO_BROWSER_SUPERVISOR_CONF}:/etc/neko/supervisord/${NEKO_BROWSER_SUPERVISOR_CONF}:ro" neko3: <<: *neko-common container_name: live-neko-3 environment: <<: *neko-env NEKO_WEBRTC_EPR: "${NEKO_WEBRTC_EPR_3}" NEKO_WEBRTC_TCPMUX: "${NEKO_WEBRTC_TCPMUX_3}" NEKO_WEBRTC_UDPMUX: "${NEKO_WEBRTC_UDPMUX_3}" ports: - "${NEKO_HTTP_PORT_3}:8080" - "${NEKO_WEBRTC_TCPMUX_3}:${NEKO_WEBRTC_TCPMUX_3}/tcp" - "${NEKO_WEBRTC_UDPMUX_3}:${NEKO_WEBRTC_UDPMUX_3}/udp" - "${NEKO_WEBRTC_UDP_RANGE_3}:${NEKO_WEBRTC_UDP_RANGE_3}/udp" volumes: - "${NEKO_PROFILE_HOST_DIR_3}:/home/neko/.config/chromium" - "${NEKO_PROFILE_HOST_DIR_3}:/home/neko/.config/google-chrome" - "./policies:/etc/chromium/policies/managed:ro" - "./policies:/etc/opt/chrome/policies/managed:ro" - "./provisioning:/var/www/provisioning:ro" - "./browser-launch.sh:/etc/neko/browser-launch.sh:ro" - "./${NEKO_BROWSER_SUPERVISOR_CONF}:/etc/neko/supervisord/${NEKO_BROWSER_SUPERVISOR_CONF}:ro"