Skip to main content

Selkies

Build Release PyPI License: MPL 2.0 Docs Discord Ask DeepWiki

Moonlight, Google Stadia, or GeForce NOW in noVNC form factor for Linux X11 and Wayland, in any HTML5 web interface you wish to embed inside, with at least 60 frames per second on Full HD resolution.

We are in need of maintainers and community contributors. Please consider stepping up, as we can never have too much help!

screenshot

Selkies is an open-source low-latency high-performance Linux-native GPU/CPU-accelerated HTML5 remote desktop streaming platform, for self-hosting, containers, Kubernetes, or Cloud/HPC platforms, started out first by Google engineers, then open-sourced and developed by academic researchers, LinuxServer.io, and community contributors. It streams over plain WebSockets by default, with WebRTC available as an opt-in transport.

Selkies is designed for researchers studying Agentic AI, Graphical AI, Robotics, Autonomous Driving, Drug Discovery technologies, SLURM supercomputer or HPC system administrators, Jupyter, Kubernetes, Docker®, Coder infrastructure administrators, and Linux cloud gaming enthusiasts.

While designed for clustered or unprivileged containerized environments, Selkies can also be deployed in desktop computers, and any performance issue that would be problematic in cloud gaming platforms is also considered a bug.

The HTML5 client runs on Chromium, Firefox, and Safari, with two-way clipboard (text and images), low-latency zero-copy video rendering, automatic GPU selection, resilient keyboard, mouse, and gamepad input, and microphone and webcam forwarding into the session.

Quick Start

The desktop container carries a desktop, a browser, and an audio stack, so without a GPU this is the whole command:

docker run --name selkies -it -d --rm --shm-size=2g -p 8080:8080 \
    ghcr.io/selkies-project/selkies/desktop:latest-ubuntu26.04

Open https://localhost:8080, accept the container's self-signed certificate, and log in as ubuntu with the password mypasswd; -e PASSWD= sets another, which it needs before anyone else can reach the session. Getting Started has the commands for Intel, AMD, and NVIDIA GPUs and what each flag is for. The tag names the distribution inside the image, ubuntu26.04 or debiantrixie, after latest for the newest release or main for the newest commit.

Other ways to run it:

  • pip install selkies (Python 3.9 or newer) brings the server, its web client, and the capture extensions, and selkies session then runs the desktop the host has installed, bringing up what it lacks for a session (a display and a sound server), which is how Jupyter, Coder, and Open OnDemand start it.
  • Native Install has the .deb, .rpm, .apk, and Arch packages, which attach Selkies to a display and sound server you run, and the AppImage, which installs nothing and starts a display and a sound server where none is running.
  • The Base Container is the whole session without a desktop, the image to build your own FROM, and docker-selkies-egl-desktop and docker-selkies-glx-desktop are KDE Plasma desktops built on it.

Read the Documentation for the rest. The Settings Reference lists every current setting. Licensing inventories the third-party components of an installation, with their licenses and where the GPL pieces come from.

Automated reviews are provided by Pullfrog. This project is tested with BrowserStack.

Metadata

Release files for selkies 2.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for selkies 2.1.0
File Size Uploaded Provenance
selkies-2.1.0.tar.gz 1.8 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for selkies 2.1.0
File Interpreter ABI Platform
selkies-2.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 4.3 MB

Release files / selkies-2.1.0.tar.gz

Download URL selkies-2.1.0.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
9765360801ca1f381916b4cfac21b106aa27fdbe025c64e1da0081565a316abe
BLAKE2b-256 checksum
How to use checksums
109cf720e882705cec1fb7466402fef660b6d18c1d816d87e617191309c8e29f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / selkies-2.1.0-py3-none-any.whl

Download URL selkies-2.1.0-py3-none-any.whl
Size 2.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8bde6207ca921cb2f38c3204fafe18d40b5578165894818ae1ca9e46fca7b966
BLAKE2b-256 checksum
How to use checksums
483964b75999a7a45a1bf063cc31f2a3fda9da65dafb0fb7a6567ecde9674891
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Security for selkies 2.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for selkies-2.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

2.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page