Rebase to noble, update for 1.17.0

This commit is contained in:
thespad 2025-06-03 13:50:40 +01:00
parent a2a6a9ab16
commit 5b752d1735
No known key found for this signature in database
8 changed files with 36 additions and 70 deletions

0
.github/workflows/call_issue_pr_tracker.yml vendored Executable file → Normal file
View file

0
.github/workflows/call_issues_cron.yml vendored Executable file → Normal file
View file

View file

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy
FROM ghcr.io/linuxserver/baseimage-ubuntu:noble
# set version label
ARG BUILD_DATE
@ -21,43 +21,33 @@ ENV NVIDIA_DRIVER_CAPABILITIES="compute,graphics,video,utility" \
RUN \
echo "**** install packages ****" && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu jammy stable" > \
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu noble stable" > \
/etc/apt/sources.list.d/docker.list && \
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && \
curl -s -L https://nvidia.github.io/libnvidia-container/ubuntu22.04/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
tee /etc/apt/sources.list.d/nvidia-container-toolkit.list && \
curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && \
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
tee /etc/apt/sources.list.d/nvidia-container-toolkit.list && \
curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
apt-get install -y --no-install-recommends \
btrfs-progs \
build-essential \
containerd.io \
docker-ce \
docker-ce-cli \
docker-compose-plugin \
e2fsprogs \
fuse-overlayfs \
g++ \
gcc \
iproute2 \
iptables \
jq \
lsof \
make \
nodejs \
nvidia-container-toolkit \
nvidia-docker2 \
openssl \
pigz \
python3 \
sudo \
uidmap \
xfsprogs && \
echo "**** compose install ****" && \
mkdir -p /usr/local/lib/docker/cli-plugins && \
curl -L \
https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-$(uname -s)-$(uname -m) -o \
/usr/local/lib/docker/cli-plugins/docker-compose && \
chmod +x /usr/local/lib/docker/cli-plugins/docker-compose && \
echo "**** dind setup ****" && \
useradd -U dockremap && \
usermod -G dockremap dockremap && \
@ -93,7 +83,7 @@ RUN \
ALVERSION=$(cat /kasm_release/conf/database/seed_data/default_properties.yaml |awk '/alembic_version/ {print $2}') && \
curl -o \
/tmp/images.tar.gz -L \
"https://kasm-ci.s3.amazonaws.com/1.16.1-images-combined.tar.gz" && \
"https://kasm-ci.s3.amazonaws.com/1.17.0-images-combined.tar.gz" && \
tar xf \
/tmp/images.tar.gz -C \
/ && \

View file

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-noble
# set version label
ARG BUILD_DATE
@ -21,43 +21,33 @@ ENV NVIDIA_DRIVER_CAPABILITIES="compute,graphics,video,utility" \
RUN \
echo "**** install packages ****" && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
echo "deb [arch=arm64] https://download.docker.com/linux/ubuntu jammy stable" > \
echo "deb [arch=arm64] https://download.docker.com/linux/ubuntu noble stable" > \
/etc/apt/sources.list.d/docker.list && \
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && \
curl -s -L https://nvidia.github.io/libnvidia-container/ubuntu22.04/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
tee /etc/apt/sources.list.d/nvidia-container-toolkit.list && \
curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && \
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
tee /etc/apt/sources.list.d/nvidia-container-toolkit.list && \
curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
apt-get install -y --no-install-recommends \
btrfs-progs \
build-essential \
containerd.io \
docker-ce \
docker-ce-cli \
docker-compose-plugin \
e2fsprogs \
fuse-overlayfs \
g++ \
gcc \
iproute2 \
iptables \
jq \
lsof \
make \
nodejs \
nvidia-container-toolkit \
nvidia-docker2 \
openssl \
pigz \
python3 \
sudo \
uidmap \
xfsprogs && \
echo "**** compose install ****" && \
mkdir -p /usr/local/lib/docker/cli-plugins && \
curl -L \
https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-$(uname -s)-$(uname -m) -o \
/usr/local/lib/docker/cli-plugins/docker-compose && \
chmod +x /usr/local/lib/docker/cli-plugins/docker-compose && \
echo "**** dind setup ****" && \
useradd -U dockremap && \
usermod -G dockremap dockremap && \
@ -93,7 +83,7 @@ RUN \
ALVERSION=$(cat /kasm_release/conf/database/seed_data/default_properties.yaml |awk '/alembic_version/ {print $2}') && \
curl -o \
/tmp/images.tar.gz -L \
"https://kasm-ci.s3.amazonaws.com/1.16.1-images-combined.tar.gz" && \
"https://kasm-ci.s3.amazonaws.com/1.17.0-images-combined.tar.gz" && \
tar xf \
/tmp/images.tar.gz -C \
/ && \

View file

@ -132,8 +132,8 @@ services:
- DOCKER_HUB_PASSWORD=PASS #optional
- DOCKER_MTU=1500 #optional
volumes:
- /path/to/data:/opt
- /path/to/profiles:/profiles #optional
- /path/to/kasm/data:/opt
- /path/to/kasm/profiles:/profiles #optional
- /dev/input:/dev/input #optional
- /run/udev/data:/run/udev/data #optional
ports:
@ -155,8 +155,8 @@ docker run -d \
-e DOCKER_MTU=1500 `#optional` \
-p 3000:3000 \
-p 443:443 \
-v /path/to/data:/opt \
-v /path/to/profiles:/profiles `#optional` \
-v /path/to/kasm/data:/opt \
-v /path/to/kasm/profiles:/profiles `#optional` \
-v /dev/input:/dev/input `#optional` \
-v /run/udev/data:/run/udev/data `#optional` \
--restart unless-stopped \
@ -325,6 +325,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **03.06.25:** - Rebase to Ubuntu Noble. Update for 1.17.0 release.
* **09.11.24:** - Update base image for 1.16.1 release.
* **24.09.24:** - Add base users in docker build logic to survive container upgrades.
* **17.09.24:** - Update base image for 1.16.0 release and fix Nvidia support.

View file

@ -6,7 +6,6 @@ external_type: github_stable
release_type: stable
release_tag: latest
ls_branch: master
build_armhf: false
repo_vars:
- EXT_GIT_BRANCH = 'develop'
- EXT_USER = 'kasmtech'

View file

@ -8,8 +8,6 @@ project_blurb: |
The rendering of the graphical-based containers is powered by the open-source project [KasmVNC](https://www.kasmweb.com/kasmvnc.html?utm_campaign=LinuxServer&utm_source=kasmvnc).
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
project_categories: "Remote Desktop,Business"
project_blurb_optional_extras_enabled: false
project_blurb_optional_extras: []
# supported architectures
available_architectures:
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
@ -26,12 +24,9 @@ param_usage_include_net: false
param_usage_include_env: true
param_env_vars:
- {env_var: "KASM_PORT", env_value: "443", desc: "Specify the port you bind to the outside for Kasm Workspaces."}
- {env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London."}
param_usage_include_vols: true
param_volumes:
- {vol_path: "/opt", vol_host_path: "/path/to/data", desc: "Docker and installation storage."}
param_device_map: false
param_devices: []
- {vol_path: "/opt", vol_host_path: "/path/to/{{ project_name }}/data", desc: "Docker and installation storage."}
param_usage_include_ports: true
param_ports:
- {external_port: "3000", internal_port: "3000", port_desc: "Kasm Installation wizard. (https)"}
@ -44,22 +39,12 @@ opt_param_env_vars:
- {env_var: "DOCKER_MTU", env_value: "1500", desc: "Optionally specify the mtu options passed to dockerd."}
opt_param_usage_include_vols: true
opt_param_volumes:
- {vol_path: "/profiles", vol_host_path: "/path/to/profiles", desc: "Optionally specify a path for persistent profile storage."}
- {vol_path: "/profiles", vol_host_path: "/path/to/{{ project_name }}/profiles", desc: "Optionally specify a path for persistent profile storage."}
- {vol_path: "/dev/input", vol_host_path: "/dev/input", desc: "Optional for gamepad support."}
- {vol_path: "/run/udev/data", vol_host_path: "/run/udev/data", desc: "Optional for gamepad support."}
opt_security_opt_param: true
opt_security_opt_param_vars:
- {run_var: "apparmor=rootlesskit", compose_var: "apparmor:rootlesskit", desc: "Some hosts require this on top of privileged for namespacing to work properly inside the DinD layer."}
opt_param_usage_include_ports: false
opt_param_ports: []
opt_param_device_map: false
opt_param_devices: []
cap_add_param: false
cap_add_param_vars: []
opt_cap_add_param: false
opt_cap_add_param_vars: []
optional_block_1: false
optional_block_1_items: ""
unraid_template: false
privileged: true
# application setup block
@ -148,6 +133,7 @@ init_diagram: |
"kasm:latest" <- Base Images
# changelog
changelogs:
- {date: "03.06.25:", desc: "Rebase to Ubuntu Noble. Update for 1.17.0 release."}
- {date: "09.11.24:", desc: "Update base image for 1.16.1 release."}
- {date: "24.09.24:", desc: "Add base users in docker build logic to survive container upgrades."}
- {date: "17.09.24:", desc: "Update base image for 1.16.0 release and fix Nvidia support."}

View file

@ -1,17 +1,17 @@
#!/usr/bin/with-contenv bash
# Create directories
if [ ! -d "/opt/docker" ]; then
if [[ ! -d "/opt/docker" ]]; then
mkdir -p /opt/docker
fi
# Login to Dockerhub
if [ -n "${DOCKER_HUB_USERNAME}" ]; then
if [[ -n "${DOCKER_HUB_USERNAME}" ]]; then
docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD
fi
# Generate self cert for wizard
if [ ! -f "/opt/kasm/certs/kasm_wizard.crt" ]; then
if [[ ! -f "/opt/kasm/certs/kasm_wizard.crt" ]]; then
mkdir -p /opt/kasm/certs
openssl req -x509 -nodes -days 1825 -newkey rsa:2048 \
-keyout /opt/kasm/certs/kasm_wizard.key \
@ -20,9 +20,9 @@ if [ ! -f "/opt/kasm/certs/kasm_wizard.crt" ]; then
fi
# Create plugin directory
if [ ! -L "/var/lib/docker-plugins" ]; then
mkdir -p /opt/docker-plugins
ln -s /opt/docker-plugins /var/lib/docker-plugins
mkdir -p /var/lib/docker-plugins/rclone/config
mkdir -p /var/lib/docker-plugins/rclone/cache
if [[ ! -L "/var/lib/docker-plugins" ]]; then
mkdir -p /opt/docker-plugins
ln -s /opt/docker-plugins /var/lib/docker-plugins
mkdir -p /var/lib/docker-plugins/rclone/config
mkdir -p /var/lib/docker-plugins/rclone/cache
fi