mirror of
https://github.com/kasmtech/workspaces-images.git
synced 2024-11-21 23:53:10 +01:00
Merge branch 'feature/KASM-3187-jammy-dind-images' into 'develop'
KASM-3187 Closes KASM-3187 See merge request kasm-technologies/internal/workspaces-images!84
This commit is contained in:
commit
8fcbaeba37
@ -63,6 +63,8 @@ variables:
|
||||
- tracelabs
|
||||
- ubuntu-focal-dind
|
||||
- ubuntu-focal-dind-rootless
|
||||
- ubuntu-jammy-dind
|
||||
- ubuntu-jammy-dind-rootless
|
||||
- unityhub
|
||||
- zoom
|
||||
- zsnes
|
||||
@ -154,6 +156,8 @@ build_ubuntu_desktop_images:
|
||||
- ls docs/$KASM_IMAGE/description.txt
|
||||
# Check for private variable to build against private core images
|
||||
- if [[ $KASM_IMAGE =~ 'ubuntu-jammy-desktop' ]]; then CORE_IMAGE=core-ubuntu-jammy; fi
|
||||
- if [[ $KASM_IMAGE =~ 'ubuntu-jammy-dind' ]]; then CORE_IMAGE=core-ubuntu-jammy; fi
|
||||
- if [[ $KASM_IMAGE =~ 'ubuntu-jammy-dind-rootless' ]]; then CORE_IMAGE=core-ubuntu-jammy; fi
|
||||
- if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; fi;
|
||||
|
||||
- docker buildx build --push --platform $BUILD_PLATFORM -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_BRANCH -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE=$CORE_IMAGE --build-arg BASE_TAG=$CORE_IMAGE_TAG -f dockerfile-kasm-$KASM_IMAGE .
|
||||
@ -166,7 +170,7 @@ build_ubuntu_desktop_images:
|
||||
- aws-autoscale
|
||||
parallel:
|
||||
matrix:
|
||||
- KASM_IMAGE: [desktop, desktop-deluxe, ubuntu-focal-desktop, ubuntu-jammy-desktop, ubuntu-focal-dind, ubuntu-focal-dind-rootless]
|
||||
- KASM_IMAGE: [desktop, desktop-deluxe, ubuntu-focal-desktop, ubuntu-jammy-desktop, ubuntu-focal-dind, ubuntu-focal-dind-rootless, ubuntu-jammy-dind, ubuntu-jammy-dind-rootless]
|
||||
|
||||
build_non_ubuntu:
|
||||
stage: build
|
||||
@ -285,6 +289,8 @@ build_single_arch_dev:
|
||||
- if [[ $KASM_IMAGE =~ 'oracle-8-desktop' ]]; then CORE_IMAGE=core-oracle-8; fi
|
||||
- if [[ $KASM_IMAGE =~ 'opensuse-15-desktop' ]]; then CORE_IMAGE=core-opensuse-15; fi
|
||||
- if [[ $KASM_IMAGE =~ 'ubuntu-jammy-desktop' ]]; then CORE_IMAGE=core-ubuntu-jammy; fi
|
||||
- if [[ $KASM_IMAGE =~ 'ubuntu-jammy-dind' ]]; then CORE_IMAGE=core-ubuntu-jammy; fi
|
||||
- if [[ $KASM_IMAGE =~ 'ubuntu-jammy-dind-rootless' ]]; then CORE_IMAGE=core-ubuntu-jammy; fi
|
||||
# Check for private variable to build against private core images
|
||||
- if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; fi;
|
||||
- >
|
||||
@ -548,6 +554,8 @@ build_schedules_ubuntu_desktop_images:
|
||||
- ls docs/$KASM_IMAGE/description.txt
|
||||
# Check for private variable to build against private core images
|
||||
- if [[ $KASM_IMAGE =~ 'ubuntu-jammy-desktop' ]]; then CORE_IMAGE=core-ubuntu-jammy; fi
|
||||
- if [[ $KASM_IMAGE =~ 'ubuntu-jammy-dind' ]]; then CORE_IMAGE=core-ubuntu-jammy; fi
|
||||
- if [[ $KASM_IMAGE =~ 'ubuntu-jammy-dind-rootless' ]]; then CORE_IMAGE=core-ubuntu-jammy; fi
|
||||
- if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; fi;
|
||||
|
||||
# Equivalent to docker build and docker push. Builds amd64 natively uses qemu for arm64.
|
||||
@ -559,7 +567,7 @@ build_schedules_ubuntu_desktop_images:
|
||||
- aws-autoscale
|
||||
parallel:
|
||||
matrix:
|
||||
- KASM_IMAGE: [desktop, desktop-deluxe, ubuntu-focal-desktop, ubuntu-jammy-desktop, ubuntu-focal-dind, ubuntu-focal-dind-rootless]
|
||||
- KASM_IMAGE: [desktop, desktop-deluxe, ubuntu-focal-desktop, ubuntu-jammy-desktop, ubuntu-focal-dind, ubuntu-focal-dind-rootless, ubuntu-jammy-dind, ubuntu-jammy-dind-rootless]
|
||||
|
||||
build_schedules_non_ubuntu:
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
@ -710,3 +718,5 @@ update_readmes2:
|
||||
matrix:
|
||||
- KASM_IMAGE:
|
||||
- vivaldi
|
||||
- ubuntu-jammy-dind
|
||||
- ubuntu-jammy-dind-rootless
|
||||
|
59
dockerfile-kasm-ubuntu-jammy-dind
Normal file
59
dockerfile-kasm-ubuntu-jammy-dind
Normal file
@ -0,0 +1,59 @@
|
||||
ARG BASE_TAG="develop"
|
||||
ARG BASE_IMAGE="core-ubuntu-jammy"
|
||||
FROM kasmweb/$BASE_IMAGE:$BASE_TAG
|
||||
USER root
|
||||
|
||||
ENV HOME /home/kasm-default-profile
|
||||
ENV STARTUPDIR /dockerstartup
|
||||
ENV INST_SCRIPTS $STARTUPDIR/install
|
||||
WORKDIR $HOME
|
||||
|
||||
######### Customize Container Here ###########
|
||||
|
||||
ENV DOCKER_CHANNEL=stable \
|
||||
DOCKER_VERSION=20.10.9 \
|
||||
DOCKER_COMPOSE_VERSION=1.29.2 \
|
||||
DEBUG=false
|
||||
|
||||
COPY ./src/ubuntu/install/dind $INST_SCRIPTS/dind/
|
||||
COPY ./src/ubuntu/install/dind/daemon.json /etc/docker/daemon.json
|
||||
|
||||
RUN bash $INST_SCRIPTS/dind/install_dind.sh && rm -rf $INST_SCRIPTS/dind/
|
||||
|
||||
COPY ./src/ubuntu/install/dind/custom_startup.sh $STARTUPDIR/custom_startup.sh
|
||||
RUN chmod +x $STARTUPDIR/custom_startup.sh
|
||||
RUN chmod 755 $STARTUPDIR/custom_startup.sh
|
||||
|
||||
COPY ./src/ubuntu/install/dind/modprobe /usr/local/bin/modprobe
|
||||
RUN chmod +x /usr/local/bin/modprobe
|
||||
COPY ./src/ubuntu/install/dind/dockerd.conf /etc/supervisor/conf.d/
|
||||
|
||||
### Install Tools
|
||||
COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/
|
||||
RUN bash $INST_SCRIPTS/tools/install_tools_deluxe.sh && rm -rf $INST_SCRIPTS/tools/
|
||||
|
||||
# Install Utilities
|
||||
COPY ./src/ubuntu/install/misc $INST_SCRIPTS/misc/
|
||||
RUN bash $INST_SCRIPTS/misc/install_tools.sh && rm -rf $INST_SCRIPTS/misc/
|
||||
|
||||
### Install Sublime Text
|
||||
COPY ./src/ubuntu/install/sublime_text $INST_SCRIPTS/sublime_text/
|
||||
RUN bash $INST_SCRIPTS/sublime_text/install_sublime_text.sh && rm -rf $INST_SCRIPTS/sublime_text/
|
||||
|
||||
### Install Visual Studio Code
|
||||
COPY ./src/ubuntu/install/vs_code $INST_SCRIPTS/vs_code/
|
||||
RUN bash $INST_SCRIPTS/vs_code/install_vs_code.sh && rm -rf $INST_SCRIPTS/vs_code/
|
||||
|
||||
# Install Google Chrome
|
||||
COPY ./src/ubuntu/install/chrome $INST_SCRIPTS/chrome/
|
||||
RUN bash $INST_SCRIPTS/chrome/install_chrome.sh && rm -rf $INST_SCRIPTS/chrome/
|
||||
|
||||
######### End Customizations ###########
|
||||
|
||||
RUN chown 1000:0 $HOME
|
||||
|
||||
ENV HOME /home/kasm-user
|
||||
WORKDIR $HOME
|
||||
RUN mkdir -p $HOME && chown -R 1000:0 $HOME
|
||||
|
||||
USER 1000
|
67
dockerfile-kasm-ubuntu-jammy-dind-rootless
Normal file
67
dockerfile-kasm-ubuntu-jammy-dind-rootless
Normal file
@ -0,0 +1,67 @@
|
||||
ARG BASE_TAG="develop"
|
||||
ARG BASE_IMAGE="core-ubuntu-jammy"
|
||||
FROM kasmweb/$BASE_IMAGE:$BASE_TAG
|
||||
USER root
|
||||
|
||||
ENV HOME /home/kasm-default-profile
|
||||
ENV STARTUPDIR /dockerstartup
|
||||
ENV INST_SCRIPTS $STARTUPDIR/install
|
||||
WORKDIR $HOME
|
||||
|
||||
######### Customize Container Here ###########
|
||||
|
||||
ENV DOCKER_BIN=/usr/local/lib/docker \
|
||||
XDG_RUNTIME_DIR=/docker
|
||||
|
||||
RUN mkdir -p $DOCKER_BIN && chown 1000:0 $DOCKER_BIN && \
|
||||
mkdir -p $XDG_RUNTIME_DIR && chown 1000:0 $XDG_RUNTIME_DIR
|
||||
|
||||
ENV PATH=$DOCKER_BIN:$DOCKER_BIN/cli-plugins:$PATH \
|
||||
DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock
|
||||
|
||||
COPY ./src/ubuntu/install/dind_rootless/install_dind_rootless_prerequisites.sh $INST_SCRIPTS/dind_rootless/
|
||||
RUN bash $INST_SCRIPTS/dind_rootless/install_dind_rootless_prerequisites.sh
|
||||
|
||||
COPY ./src/ubuntu/install/dind_rootless/install_dind_rootless.sh $INST_SCRIPTS/dind_rootless/
|
||||
RUN chown 1000:1000 $INST_SCRIPTS/dind_rootless/install_dind_rootless.sh
|
||||
# It's recommended that docker-rootless be installed by non root user
|
||||
USER 1000
|
||||
RUN bash $INST_SCRIPTS/dind_rootless/install_dind_rootless.sh
|
||||
USER root
|
||||
RUN rm -rf $INST_SCRIPTS/dind_rootless
|
||||
|
||||
COPY ./src/ubuntu/install/dind_rootless/custom_startup.sh $STARTUPDIR/custom_startup.sh
|
||||
RUN chmod +x $STARTUPDIR/custom_startup.sh && chmod 755 $STARTUPDIR/custom_startup.sh
|
||||
|
||||
COPY ./src/ubuntu/install/dind_rootless/modprobe /usr/local/bin/modprobe
|
||||
RUN chmod +x /usr/local/bin/modprobe
|
||||
|
||||
### Install Tools
|
||||
COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/
|
||||
RUN bash $INST_SCRIPTS/tools/install_tools_deluxe.sh && rm -rf $INST_SCRIPTS/tools/
|
||||
|
||||
# Install Utilities
|
||||
COPY ./src/ubuntu/install/misc $INST_SCRIPTS/misc/
|
||||
RUN bash $INST_SCRIPTS/misc/install_tools.sh && rm -rf $INST_SCRIPTS/misc/
|
||||
|
||||
### Install Sublime Text
|
||||
COPY ./src/ubuntu/install/sublime_text $INST_SCRIPTS/sublime_text/
|
||||
RUN bash $INST_SCRIPTS/sublime_text/install_sublime_text.sh && rm -rf $INST_SCRIPTS/sublime_text/
|
||||
|
||||
### Install Visual Studio Code
|
||||
COPY ./src/ubuntu/install/vs_code $INST_SCRIPTS/vs_code/
|
||||
RUN bash $INST_SCRIPTS/vs_code/install_vs_code.sh && rm -rf $INST_SCRIPTS/vs_code/
|
||||
|
||||
# Install Google Chrome
|
||||
COPY ./src/ubuntu/install/chrome $INST_SCRIPTS/chrome/
|
||||
RUN bash $INST_SCRIPTS/chrome/install_chrome.sh && rm -rf $INST_SCRIPTS/chrome/
|
||||
|
||||
######### End Customizations ###########
|
||||
|
||||
RUN chown 1000:0 $HOME
|
||||
|
||||
ENV HOME /home/kasm-user
|
||||
WORKDIR $HOME
|
||||
RUN mkdir -p $HOME && chown -R 1000:0 $HOME
|
||||
|
||||
USER 1000
|
13
docs/ubuntu-jammy-dind-rootless/README.md
Normal file
13
docs/ubuntu-jammy-dind-rootless/README.md
Normal file
@ -0,0 +1,13 @@
|
||||
# About This Image
|
||||
|
||||
This Image contains a browser-accessible version of [Docker](https://www.docker.com/) running as a normal, non-root user.
|
||||
|
||||
![Screenshot][Image_Screenshot]
|
||||
|
||||
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/image-screenshots/ubuntu-jammy-dind-rootless.png "Image Screenshot"
|
||||
|
||||
See [Kasm Docs](https://kasmweb.com/docs/latest/how_to/docker_in_kasm.html) for additional setup instructions.
|
||||
|
||||
# Environment Variables
|
||||
|
||||
* `APP_ARGS` - Additional arguments to pass to the application when launched.
|
1
docs/ubuntu-jammy-dind-rootless/description.txt
Normal file
1
docs/ubuntu-jammy-dind-rootless/description.txt
Normal file
@ -0,0 +1 @@
|
||||
Rootless Docker for Kasm Workspaces
|
13
docs/ubuntu-jammy-dind/README.md
Normal file
13
docs/ubuntu-jammy-dind/README.md
Normal file
@ -0,0 +1,13 @@
|
||||
# About This Image
|
||||
|
||||
This Image contains a browser-accessible version of [Docker](https://www.docker.com/).
|
||||
|
||||
![Screenshot][Image_Screenshot]
|
||||
|
||||
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/image-screenshots/ubuntu-jammy-dind.png "Image Screenshot"
|
||||
|
||||
See [Kasm Docs](https://kasmweb.com/docs/latest/how_to/docker_in_kasm.html) for additional setup instructions.
|
||||
|
||||
# Environment Variables
|
||||
|
||||
* `APP_ARGS` - Additional arguments to pass to the application when launched.
|
1
docs/ubuntu-jammy-dind/description.txt
Normal file
1
docs/ubuntu-jammy-dind/description.txt
Normal file
@ -0,0 +1 @@
|
||||
Docker for Kasm Workspaces
|
@ -47,6 +47,7 @@ sed -i 's/-stable//g' /usr/share/applications/google-chrome.desktop
|
||||
|
||||
cp /usr/share/applications/google-chrome.desktop $HOME/Desktop/
|
||||
chown 1000:1000 $HOME/Desktop/google-chrome.desktop
|
||||
chmod +x $HOME/Desktop/google-chrome.desktop
|
||||
|
||||
mv /usr/bin/google-chrome /usr/bin/google-chrome-orig
|
||||
cat >/usr/bin/google-chrome <<EOL
|
||||
|
@ -7,6 +7,7 @@ VIVALDI_ARGS="--password-store=basic --no-sandbox --ignore-gpu-blocklist --user-
|
||||
wget -qO- https://repo.vivaldi.com/archive/linux_signing_key.pub | gpg --dearmor > /usr/share/keyrings/vivaldi-browser.gpg
|
||||
echo "deb [signed-by=/usr/share/keyrings/vivaldi-browser.gpg arch=$(dpkg --print-architecture)] https://repo.vivaldi.com/archive/deb/ stable main" > /etc/apt/sources.list.d/vivaldi-archive.list
|
||||
apt-get update && apt-get install -y vivaldi-stable
|
||||
mkdir -p /var/opt/vivaldi
|
||||
/opt/vivaldi/update-ffmpeg
|
||||
|
||||
# Add Desktop Icon
|
||||
|
Loading…
Reference in New Issue
Block a user