mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-05 04:12:10 +00:00
feat(oci): offer GPU acceleration to the ArtCraft apps built on the LinuxServer Selkies base
This commit is contained in:
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -41,8 +41,8 @@
|
|||||||
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
"Use a trusted HTTPS reverse proxy for browser access. Port 3001 uses the upstream self-signed certificate; port 3000 is for an HTTP reverse-proxy backend.",
|
||||||
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
"The upstream default has no login. Optional CUSTOM_USER and PASSWORD variables enable HTTP basic authentication; do not expose an unauthenticated desktop to untrusted networks.",
|
||||||
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
"/config holds settings and desktop state and is included in Proxmox backups. /storage holds documents and supports a managed volume or an explicitly selected host directory; host directories require separate backups.",
|
||||||
"The default uses software rendering. GPU acceleration and other CPU architectures are not claimed tested by a CPU-only amd64 installation.",
|
"The default installation draws on the CPU. The advanced installation can assign an Intel or AMD GPU, which the desktop, the application and the video stream then use; NVIDIA is offered when the host has its driver and the NVIDIA Container Toolkit.",
|
||||||
"Without an assigned GPU, an application may ask to switch to CPU rendering. Choose the CPU option; hardware acceleration is not required for the default configuration."
|
"Without a GPU, an application may ask to switch to CPU rendering. Choose the CPU option; the application remembers it."
|
||||||
],
|
],
|
||||||
"mini_changelog": [],
|
"mini_changelog": [],
|
||||||
"display_version": null,
|
"display_version": null,
|
||||||
@@ -112,6 +112,14 @@
|
|||||||
"required": false,
|
"required": false,
|
||||||
"sensitive": true,
|
"sensitive": true,
|
||||||
"source": "upstream-documentation"
|
"source": "upstream-documentation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LC_ALL",
|
||||||
|
"example": "",
|
||||||
|
"required": false,
|
||||||
|
"sensitive": false,
|
||||||
|
"source": "upstream-documentation",
|
||||||
|
"prompt": "Language/locale (e.g. es_ES.UTF-8; translation of every application is not guaranteed)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
@@ -365,6 +373,111 @@
|
|||||||
"stability_seconds": 8,
|
"stability_seconds": 8,
|
||||||
"accept_any_status": true,
|
"accept_any_status": true,
|
||||||
"verify_tls": true
|
"verify_tls": true
|
||||||
|
},
|
||||||
|
"selkies": {
|
||||||
|
"base": "FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute@sha256:6efa3fd775a552938d862f75975d34c418ad26d028ba2c952da58682cfe1cb47",
|
||||||
|
"dockerfile_url": "https://raw.githubusercontent.com/junkerderprovinz/artcraft-apps/32bee0dea9bdaf5310c693210bea0d732a129ae8/Dockerfile",
|
||||||
|
"dockerfile_sha256": "69ab1a81d1696d1bd143a6fa5a121c034ddfb3e83008969340e8cd2413547fe1",
|
||||||
|
"reviewed_on": "2026-11-04",
|
||||||
|
"documentation": "https://docs.linuxserver.io/images/docker-baseimage-selkies/",
|
||||||
|
"nvidia": "available-in-advanced-mode-with-compatible-host-driver-and-toolkit",
|
||||||
|
"validation": "Intel/AMD tested on a Radeon 680M: GL compositor and VAAPI encoding on the render node"
|
||||||
|
},
|
||||||
|
"device_requests": [],
|
||||||
|
"optional_devices": [],
|
||||||
|
"hardware_acceleration": {
|
||||||
|
"prompt": "Selkies desktop and streaming acceleration",
|
||||||
|
"default": "none",
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"id": "none",
|
||||||
|
"label": "No GPU (CPU)",
|
||||||
|
"device_requests": [],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "vaapi",
|
||||||
|
"label": "Intel/AMD (streaming rendering and encoding)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-render",
|
||||||
|
"kind": "character-device",
|
||||||
|
"path_prompt": "Intel/AMD render node",
|
||||||
|
"host_path_default": "/dev/dri/renderD128",
|
||||||
|
"container_path_strategy": "same-as-host",
|
||||||
|
"mode": "0660",
|
||||||
|
"deny_write": false,
|
||||||
|
"gid_strategy": "host-device-gid",
|
||||||
|
"drm_vendor_ids": [
|
||||||
|
"0x8086",
|
||||||
|
"0x1002"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "PIXELFLUX_WAYLAND",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "false"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment_from_devices": {
|
||||||
|
"DRINODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"DRI_NODE": [
|
||||||
|
"selkies-render"
|
||||||
|
],
|
||||||
|
"ATTACHED_DEVICES_PERMS": [
|
||||||
|
"selkies-render"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "nvidia",
|
||||||
|
"label": "NVIDIA (Selkies rendering and NVENC)",
|
||||||
|
"device_requests": [
|
||||||
|
{
|
||||||
|
"id": "selkies-nvidia",
|
||||||
|
"kind": "nvidia-runtime",
|
||||||
|
"device_selection": "all-requested-by-compose"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"environment": [
|
||||||
|
{
|
||||||
|
"name": "AUTO_GPU",
|
||||||
|
"value": "true"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_VISIBLE_DEVICES",
|
||||||
|
"value": "all"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NVIDIA_DRIVER_CAPABILITIES",
|
||||||
|
"value": "compute,video,graphics,utility,display"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gpu_validation": {
|
||||||
|
"device_inventory": "host-sysfs-and-stat",
|
||||||
|
"application_acceleration": "requires-workload-test",
|
||||||
|
"tone_mapping": "not-implied-by-device-access"
|
||||||
|
},
|
||||||
|
"device_permissions": {
|
||||||
|
"strategy": "linuxserver-native-init",
|
||||||
|
"service_user": "abc",
|
||||||
|
"environment": "ATTACHED_DEVICES_PERMS",
|
||||||
|
"paths": "all-resolved-selected-character-devices"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"adaptations": [
|
"adaptations": [
|
||||||
|
|||||||
@@ -513,9 +513,7 @@ class CatalogRefresh:
|
|||||||
text += "\n" + translate("New applications since your last visit: {count}").format(count=added)
|
text += "\n" + translate("New applications since your last visit: {count}").format(count=added)
|
||||||
if updated:
|
if updated:
|
||||||
text += "\n" + translate("Updated recipes since your last visit: {count}").format(count=updated)
|
text += "\n" + translate("Updated recipes since your last visit: {count}").format(count=updated)
|
||||||
if self.active:
|
if self.failed:
|
||||||
text += "\n" + translate("Refreshing the application catalog...")
|
|
||||||
elif self.failed:
|
|
||||||
text += "\n" + translate("Catalog refresh unavailable; using the local catalog.")
|
text += "\n" + translate("Catalog refresh unavailable; using the local catalog.")
|
||||||
return text
|
return text
|
||||||
|
|
||||||
|
|||||||
@@ -606,8 +606,9 @@ def interactive(catalog: Catalog) -> int:
|
|||||||
updates.wait()
|
updates.wait()
|
||||||
continue
|
continue
|
||||||
try:
|
try:
|
||||||
kwargs = ({'refresh': lambda: updates.changed() or catalog_refresh.changed()}
|
# The catalog downloads behind the open menu without closing it:
|
||||||
if updates.active or catalog_refresh.active else {})
|
# a new catalog is shown the next time the menu is drawn.
|
||||||
|
kwargs = {'refresh': updates.changed} if updates.active else {}
|
||||||
selected = ui.choose(text, entries, selection, size=MENU_SIZE, **kwargs)
|
selected = ui.choose(text, entries, selection, size=MENU_SIZE, **kwargs)
|
||||||
except MenuRefresh:
|
except MenuRefresh:
|
||||||
continue
|
continue
|
||||||
|
|||||||
@@ -70,7 +70,12 @@ def apply_gpu_contract(template: dict[str, Any]) -> None:
|
|||||||
|
|
||||||
def apply_selkies_contract(template):
|
def apply_selkies_contract(template):
|
||||||
profile = template['proxmox']['installer_profile']
|
profile = template['proxmox']['installer_profile']
|
||||||
if not template['container_contract']['image']['reference'].startswith('lscr.io/linuxserver/'):
|
# A LinuxServer image, or one whose reviewed Dockerfile is built on the
|
||||||
|
# LinuxServer Selkies base and so has the same init and GPU variables.
|
||||||
|
built_on_base = str(profile['selkies'].get('base', '')).startswith(
|
||||||
|
'FROM ghcr.io/linuxserver/baseimage-selkies:')
|
||||||
|
if not (template['container_contract']['image']['reference'].startswith('lscr.io/linuxserver/')
|
||||||
|
or built_on_base):
|
||||||
raise ValueError(translate('The Selkies profile requires a verified LinuxServer image'))
|
raise ValueError(translate('The Selkies profile requires a verified LinuxServer image'))
|
||||||
environment = template['container_contract']['environment']
|
environment = template['container_contract']['environment']
|
||||||
if not any(e['name'] == 'LC_ALL' for e in environment):
|
if not any(e['name'] == 'LC_ALL' for e in environment):
|
||||||
|
|||||||
@@ -361,9 +361,8 @@ class CatalogRefreshTests(unittest.TestCase):
|
|||||||
next_visit = refresh.CatalogRefresh(self.root, Catalog(self.root))
|
next_visit = refresh.CatalogRefresh(self.root, Catalog(self.root))
|
||||||
self.assertIn("New applications since your last visit: 1", next_visit.describe())
|
self.assertIn("New applications since your last visit: 1", next_visit.describe())
|
||||||
|
|
||||||
def test_main_menu_redraws_totals_and_news_after_background_refresh(self):
|
def test_the_download_never_closes_the_open_menu_and_shows_on_the_next_draw(self):
|
||||||
from proxmenux_oci import cli, updates
|
from proxmenux_oci import cli, updates
|
||||||
from proxmenux_oci.ui import MenuRefresh
|
|
||||||
status = refresh.CatalogRefresh(self.root, Catalog(self.root))
|
status = refresh.CatalogRefresh(self.root, Catalog(self.root))
|
||||||
status.process = Mock(returncode=0)
|
status.process = Mock(returncode=0)
|
||||||
status.process.poll.return_value = None
|
status.process.poll.return_value = None
|
||||||
@@ -374,14 +373,16 @@ class CatalogRefreshTests(unittest.TestCase):
|
|||||||
def choose(self, text, entries, default, **kwargs):
|
def choose(self, text, entries, default, **kwargs):
|
||||||
screens.append((text, dict(entries)))
|
screens.append((text, dict(entries)))
|
||||||
if len(screens) == 1:
|
if len(screens) == 1:
|
||||||
|
# The catalog finishes downloading while the menu is open:
|
||||||
|
# nothing may close it, so no refresh is watched.
|
||||||
|
owner.assertNotIn('refresh', kwargs)
|
||||||
|
owner.assertNotIn('Refreshing the application catalog', text)
|
||||||
owner.add_app()
|
owner.add_app()
|
||||||
owner.sync()
|
owner.sync()
|
||||||
refresh.write_json(refresh.cache_root(owner.root) / 'main-result.json',
|
refresh.write_json(refresh.cache_root(owner.root) / 'main-result.json',
|
||||||
{"ok": True, "changed": True})
|
{"ok": True, "changed": True})
|
||||||
status.process.poll.return_value = 0
|
status.process.poll.return_value = 0
|
||||||
self_refreshed = kwargs['refresh']()
|
return 'search' # any action brings the user back to the menu
|
||||||
owner.assertTrue(self_refreshed)
|
|
||||||
raise MenuRefresh()
|
|
||||||
return None
|
return None
|
||||||
checker = Mock(active=False)
|
checker = Mock(active=False)
|
||||||
checker.status.return_value = {"available": []}
|
checker.status.return_value = {"available": []}
|
||||||
@@ -396,6 +397,7 @@ class CatalogRefreshTests(unittest.TestCase):
|
|||||||
patch.object(refresh, 'CatalogRefresh', return_value=status), \
|
patch.object(refresh, 'CatalogRefresh', return_value=status), \
|
||||||
patch.object(cli, 'PROJECT_ROOT', self.root), \
|
patch.object(cli, 'PROJECT_ROOT', self.root), \
|
||||||
patch.object(cli, 'interactive_ui', return_value=UI()), \
|
patch.object(cli, 'interactive_ui', return_value=UI()), \
|
||||||
|
patch.object(cli, '_search'), \
|
||||||
patch.object(updates, 'UpdateCheck', return_value=checker_context):
|
patch.object(updates, 'UpdateCheck', return_value=checker_context):
|
||||||
self.assertEqual(cli.interactive(Catalog(self.root)), 0)
|
self.assertEqual(cli.interactive(Catalog(self.root)), 0)
|
||||||
self.assertIn('Available applications: 1', screens[0][0])
|
self.assertIn('Available applications: 1', screens[0][0])
|
||||||
@@ -447,7 +449,8 @@ class CatalogRefreshTests(unittest.TestCase):
|
|||||||
with patch.object(refresh.threading, "Thread") as thread:
|
with patch.object(refresh.threading, "Thread") as thread:
|
||||||
with status:
|
with status:
|
||||||
self.assertTrue(status.active)
|
self.assertTrue(status.active)
|
||||||
self.assertIn("Refreshing", status.describe())
|
# The download is transparent: the open menu does not announce it.
|
||||||
|
self.assertNotIn("Refreshing", status.describe())
|
||||||
thread.return_value.start.assert_called_once()
|
thread.return_value.start.assert_called_once()
|
||||||
spawn.return_value.wait.assert_not_called()
|
spawn.return_value.wait.assert_not_called()
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
"""An image built on the LinuxServer Selkies base, but published by someone
|
||||||
|
else, receives the same GPU profile as the LinuxServer Selkies images."""
|
||||||
|
import copy
|
||||||
|
import json
|
||||||
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
ROOT = Path(__file__).resolve().parents[1]
|
||||||
|
sys.path.insert(0, str(ROOT / 'src'))
|
||||||
|
|
||||||
|
from proxmenux_oci.catalog import Catalog
|
||||||
|
from proxmenux_oci.gpu import apply_selkies_contract
|
||||||
|
|
||||||
|
ARTCRAFT = ('cadcraft', 'deckcraft', 'designcraft', 'effectcraft', 'figcraft', 'filmcraft', 'gridcraft',
|
||||||
|
'lightcraft', 'pdfcraft', 'photocraft', 'soundcraft', 'vectorcraft', 'wordcraft')
|
||||||
|
|
||||||
|
|
||||||
|
def template(reference, base):
|
||||||
|
return {'container_contract': {'image': {'reference': reference}, 'environment': []},
|
||||||
|
'proxmox': {'installer_profile': {'selkies': {'base': base}}}}
|
||||||
|
|
||||||
|
|
||||||
|
class SelkiesBaseImageTests(unittest.TestCase):
|
||||||
|
def test_an_image_built_on_the_selkies_base_gets_the_gpu_profile(self):
|
||||||
|
built = template('docker.io/junkerderprovinz/photocraft:latest',
|
||||||
|
'FROM ghcr.io/linuxserver/baseimage-selkies:ubunturesolute')
|
||||||
|
apply_selkies_contract(built)
|
||||||
|
profiles = built['proxmox']['installer_profile']['hardware_acceleration']['profiles']
|
||||||
|
self.assertEqual([item['id'] for item in profiles], ['none', 'vaapi', 'nvidia'])
|
||||||
|
|
||||||
|
def test_any_other_image_is_still_refused(self):
|
||||||
|
other = template('docker.io/someone/desktop:latest', 'FROM ubuntu:24.04')
|
||||||
|
with self.assertRaises(ValueError):
|
||||||
|
apply_selkies_contract(copy.deepcopy(other))
|
||||||
|
|
||||||
|
def test_every_artcraft_app_offers_the_gpu_to_its_desktop(self):
|
||||||
|
catalog = Catalog(ROOT)
|
||||||
|
for app in ARTCRAFT:
|
||||||
|
with self.subTest(app=app):
|
||||||
|
profile = catalog.compose(app)['proxmox']['installer_profile']
|
||||||
|
vaapi = next(item for item in profile['hardware_acceleration']['profiles'] if item['id'] == 'vaapi')
|
||||||
|
self.assertEqual(set(vaapi['environment_from_devices']),
|
||||||
|
{'DRINODE', 'DRI_NODE', 'ATTACHED_DEVICES_PERMS'})
|
||||||
|
self.assertEqual(profile['device_permissions']['environment'], 'ATTACHED_DEVICES_PERMS')
|
||||||
|
self.assertEqual(profile['hardware_acceleration']['default'], 'none')
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main()
|
||||||
Reference in New Issue
Block a user