mirror of
https://github.com/linuxserver/docker-kasm.git
synced 2026-01-23 02:24:38 +00:00
Rebase to noble, update for 1.17.0
This commit is contained in:
parent
a2a6a9ab16
commit
5b752d1735
8 changed files with 36 additions and 70 deletions
0
.github/workflows/call_issue_pr_tracker.yml
vendored
Executable file → Normal file
0
.github/workflows/call_issue_pr_tracker.yml
vendored
Executable file → Normal file
0
.github/workflows/call_issues_cron.yml
vendored
Executable file → Normal file
0
.github/workflows/call_issues_cron.yml
vendored
Executable file → Normal file
30
Dockerfile
30
Dockerfile
|
|
@ -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 \
|
||||
/ && \
|
||||
|
|
|
|||
|
|
@ -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 \
|
||||
/ && \
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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'
|
||||
|
|
|
|||
|
|
@ -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."}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue