Add example Docker Compose configurations for Neko (#684)

* Add example Docker Compose configurations for Neko

- Introduced a simple browser example using Firefox in Docker with optional persistent profile configuration.
- Added a TURN server example using Coturn alongside Neko for WebRTC support.
- Updated installation documentation to include new examples and improved organization.
- Enhanced Docusaurus configuration to support dynamic code imports for example files.
- Updated package dependencies to include remark-code-import for better documentation handling.

* feat: rename GPU-accelerated browser examples for Intel and Nvidia.

* feat: update GPU browser examples and add OAuth configuration example

* feat: add Raspberry Pi GPU browser example and update documentation links

* feat: update GPU browser examples section for clarity and organization
This commit is contained in:
Miroslav Šedivý
2026-09-27 17:13:20 +02:00
committed by GitHub
parent f4d632df2c
commit 3f4f94087a
16 changed files with 838 additions and 367 deletions
+42
View File
@@ -0,0 +1,42 @@
# See: https://neko.m1k1o.net/docs/v3/configuration/authentication#member.oauth
member:
provider: "oauth"
oauth:
enabled: true
# When true, visiting the Neko root page immediately starts OAuth login.
auto_redirect: true
name: "Example SSO"
admin_emails: ["admin@example.com"]
user_emails: [] # if empty, any authenticated user is allowed to log in
client_id: "<client-id>"
client_secret: "<client-secret>"
# For OpenID Connect providers, issuer_url alone is enough - Neko
# discovers the authorization, token and user-info endpoints from
# /.well-known/openid-configuration.
issuer_url: "https://id.example.com"
scopes: ["openid", "profile", "email"]
# Configure these to match the JSON returned by the user-info endpoint.
subject_field: "sub"
username_field: "name"
avatar_field: "picture"
success_redirect: "/"
user_profile:
is_admin: false
can_login: true
can_connect: true
can_watch: true
can_host: true
can_share_media: true
can_access_clipboard: true
sends_inactive_cursor: true
can_see_inactive_cursors: false
admin_profile:
is_admin: true
can_login: true
can_connect: true
can_watch: true
can_host: true
can_share_media: true
can_access_clipboard: true
sends_inactive_cursor: true
can_see_inactive_cursors: true
+23
View File
@@ -0,0 +1,23 @@
# Neko - OAuth Example
#
# Authenticates users via an external OAuth 2.0 / OpenID Connect provider
# instead of the built-in multiuser passwords. OAuth has many settings, so
# they are set via a mounted config.yaml instead of environment variables.
#
# See: https://neko.m1k1o.net/docs/v3/configuration/authentication#member.oauth
services:
neko:
image: "ghcr.io/m1k1o/neko/firefox:latest"
restart: "unless-stopped"
shm_size: "2gb"
ports:
- "8080:8080"
- "52000-52100:52000-52100/udp"
volumes:
- "./config.yaml:/etc/neko/neko.yaml"
environment:
NEKO_DESKTOP_SCREEN: '1920x1080@30'
NEKO_WEBRTC_EPR: 52000-52100
NEKO_WEBRTC_ICELITE: 1
# See: https://neko.m1k1o.net/docs/v3/configuration/webrtc#nat1to1
# NEKO_WEBRTC_NAT1TO1: <your-IP>