mirror of
https://github.com/kasmtech/workspaces-images.git
synced 2024-11-24 17:13:10 +01:00
Resolve KASM-2598 "Feature/ more images"
This commit is contained in:
parent
bb39c3a4dc
commit
e6b0c218f3
@ -4,21 +4,27 @@ services:
|
|||||||
variables:
|
variables:
|
||||||
DOCKER_AUTH_CONFIG: ${_DOCKER_AUTH_CONFIG}
|
DOCKER_AUTH_CONFIG: ${_DOCKER_AUTH_CONFIG}
|
||||||
PLATFORM: "linux/amd64"
|
PLATFORM: "linux/amd64"
|
||||||
ARM_BUILDS: ",chromium,firefox,gimp,rdesktop,remmina,terminal,ubuntu-bionic-desktop,ubuntu-focal-desktop,vlc,vs-code,doom,sublime-text,tor-browser,java-dev,telegram,opensuse-15-desktop,oracle-8-desktop,libre-office,thunderbird,"
|
ARM_BUILDS: ",chromium,firefox,gimp,rdesktop,remmina,terminal,ubuntu-bionic-desktop,ubuntu-focal-desktop,vlc,vs-code,doom,sublime-text,tor-browser,java-dev,telegram,opensuse-15-desktop,oracle-8-desktop,libre-office,thunderbird,audacity,deluge,filezilla,inkscape,pinta,qbittorrent,"
|
||||||
CORE_IMAGE_TAG: "develop"
|
CORE_IMAGE_TAG: "develop"
|
||||||
CORE_IMAGE: "core-ubuntu-focal"
|
CORE_IMAGE: "core-ubuntu-focal"
|
||||||
USE_PRIVATE_IMAGES: 0
|
USE_PRIVATE_IMAGES: 0
|
||||||
|
|
||||||
# YAML level anchors
|
# YAML level anchors
|
||||||
.MULTI_ARCH_BUILDS: &MULTI_ARCH_BUILDS
|
.MULTI_ARCH_BUILDS: &MULTI_ARCH_BUILDS
|
||||||
|
- audacity
|
||||||
- chromium
|
- chromium
|
||||||
|
- deluge
|
||||||
- doom
|
- doom
|
||||||
|
- filezilla
|
||||||
- firefox
|
- firefox
|
||||||
- gimp
|
- gimp
|
||||||
|
- inkscape
|
||||||
- java-dev
|
- java-dev
|
||||||
- libre-office
|
- libre-office
|
||||||
- opensuse-15-desktop
|
- opensuse-15-desktop
|
||||||
- oracle-8-desktop
|
- oracle-8-desktop
|
||||||
|
- pinta
|
||||||
|
- qbittorrent
|
||||||
- rdesktop
|
- rdesktop
|
||||||
- remmina
|
- remmina
|
||||||
- sublime-text
|
- sublime-text
|
||||||
@ -31,6 +37,7 @@ variables:
|
|||||||
- vs-code
|
- vs-code
|
||||||
|
|
||||||
.SINGLE_ARCH_BUILDS: &SINGLE_ARCH_BUILDS
|
.SINGLE_ARCH_BUILDS: &SINGLE_ARCH_BUILDS
|
||||||
|
- atom
|
||||||
- brave
|
- brave
|
||||||
- centos-7-desktop
|
- centos-7-desktop
|
||||||
- chrome
|
- chrome
|
||||||
@ -124,7 +131,7 @@ build_app_images:
|
|||||||
- aws-autoscale
|
- aws-autoscale
|
||||||
parallel:
|
parallel:
|
||||||
matrix:
|
matrix:
|
||||||
- KASM_IMAGE: [doom, sublime-text, gimp, vs-code, slack, teams, only-office, zoom, signal, steam, postman, insomnia, zsnes, vlc, maltego, telegram, hunchly, java-dev, terminal, vmware-horizon, remmina, rdesktop, discord, libre-office, thunderbird]
|
- KASM_IMAGE: [doom, sublime-text, gimp, vs-code, slack, teams, only-office, zoom, signal, steam, postman, insomnia, zsnes, vlc, maltego, telegram, hunchly, java-dev, terminal, vmware-horizon, remmina, rdesktop, discord, libre-office, thunderbird, atom, audacity, deluge, filezilla, inkscape, pinta, qbittorrent]
|
||||||
|
|
||||||
build_ubuntu_desktop_images:
|
build_ubuntu_desktop_images:
|
||||||
stage: build
|
stage: build
|
||||||
@ -349,7 +356,7 @@ build_schedules_browser_images:
|
|||||||
- ls docs/$KASM_IMAGE/README.md
|
- ls docs/$KASM_IMAGE/README.md
|
||||||
- ls docs/$KASM_IMAGE/description.txt
|
- ls docs/$KASM_IMAGE/description.txt
|
||||||
# Check for private variable to build against private core images
|
# Check for private variable to build against private core images
|
||||||
- if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; 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.
|
# Equivalent to docker build and docker push. Builds amd64 natively uses qemu for arm64.
|
||||||
# The only way to push multiple architectures to the same tag is to use buildx.
|
# The only way to push multiple architectures to the same tag is to use buildx.
|
||||||
@ -361,7 +368,6 @@ build_schedules_browser_images:
|
|||||||
parallel:
|
parallel:
|
||||||
matrix:
|
matrix:
|
||||||
- KASM_IMAGE: [chrome, chromium, firefox, firefox-mobile, tor-browser, edge, brave]
|
- KASM_IMAGE: [chrome, chromium, firefox, firefox-mobile, tor-browser, edge, brave]
|
||||||
CORE_IMAGE: [core-ubuntu-bionic, core-ubuntu-focal]
|
|
||||||
|
|
||||||
build_schedules_app_images:
|
build_schedules_app_images:
|
||||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||||
@ -389,8 +395,7 @@ build_schedules_app_images:
|
|||||||
- aws-autoscale
|
- aws-autoscale
|
||||||
parallel:
|
parallel:
|
||||||
matrix:
|
matrix:
|
||||||
- KASM_IMAGE: [doom, sublime-text, gimp, vs-code, slack, teams, only-office, zoom, signal, steam, postman, insomnia, zsnes, vlc, maltego, telegram, hunchly, java-dev, terminal, vmware-horizon, remmina, rdesktop, discord, libre-office, thunderbird]
|
- KASM_IMAGE: [doom, sublime-text, gimp, vs-code, slack, teams, only-office, zoom, signal, steam, postman, insomnia, zsnes, vlc, maltego, telegram, hunchly, java-dev, terminal, vmware-horizon, remmina, rdesktop, discord, libre-office, thunderbird, atom, audacity, deluge, filezilla, inkscape, pinta, qbittorrent]
|
||||||
CORE_IMAGE: [core-ubuntu-bionic, core-ubuntu-focal]
|
|
||||||
|
|
||||||
build_schedules_ubuntu_desktop_images:
|
build_schedules_ubuntu_desktop_images:
|
||||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||||
@ -486,19 +491,24 @@ update_readmes:
|
|||||||
parallel:
|
parallel:
|
||||||
matrix:
|
matrix:
|
||||||
- KASM_IMAGE:
|
- KASM_IMAGE:
|
||||||
|
- atom
|
||||||
|
- audacity
|
||||||
- brave
|
- brave
|
||||||
- centos-7-desktop
|
- centos-7-desktop
|
||||||
- chrome
|
- chrome
|
||||||
- chromium
|
- chromium
|
||||||
|
- deluge
|
||||||
- desktop
|
- desktop
|
||||||
- desktop-deluxe
|
- desktop-deluxe
|
||||||
- discord
|
- discord
|
||||||
- doom
|
- doom
|
||||||
- edge
|
- edge
|
||||||
|
- filezilla
|
||||||
- firefox
|
- firefox
|
||||||
- firefox-mobile
|
- firefox-mobile
|
||||||
- gimp
|
- gimp
|
||||||
- hunchly
|
- hunchly
|
||||||
|
- inkscape
|
||||||
- insomnia
|
- insomnia
|
||||||
- java-dev
|
- java-dev
|
||||||
- libre-office
|
- libre-office
|
||||||
@ -507,7 +517,9 @@ update_readmes:
|
|||||||
- opensuse-15-desktop
|
- opensuse-15-desktop
|
||||||
- oracle-7-desktop
|
- oracle-7-desktop
|
||||||
- oracle-8-desktop
|
- oracle-8-desktop
|
||||||
|
- pinta
|
||||||
- postman
|
- postman
|
||||||
|
- qbittorrent
|
||||||
- rdesktop
|
- rdesktop
|
||||||
- remmina
|
- remmina
|
||||||
- signal
|
- signal
|
||||||
|
35
dockerfile-kasm-atom
Normal file
35
dockerfile-kasm-atom
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
ARG BASE_TAG="develop"
|
||||||
|
ARG BASE_IMAGE="core-ubuntu-focal"
|
||||||
|
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 ###########
|
||||||
|
|
||||||
|
|
||||||
|
COPY ./src/ubuntu/install/atom $INST_SCRIPTS/atom/
|
||||||
|
RUN bash $INST_SCRIPTS/atom/install_atom.sh && rm -rf $INST_SCRIPTS/atom/
|
||||||
|
|
||||||
|
COPY ./src/ubuntu/install/atom/custom_startup.sh $STARTUPDIR/custom_startup.sh
|
||||||
|
RUN chmod +x $STARTUPDIR/custom_startup.sh
|
||||||
|
RUN chmod 755 $STARTUPDIR/custom_startup.sh
|
||||||
|
|
||||||
|
|
||||||
|
# Update the desktop environment to be optimized for a single application
|
||||||
|
RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/
|
||||||
|
RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png
|
||||||
|
RUN apt-get remove -y xfce4-panel
|
||||||
|
|
||||||
|
######### 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
|
35
dockerfile-kasm-audacity
Normal file
35
dockerfile-kasm-audacity
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
ARG BASE_TAG="develop"
|
||||||
|
ARG BASE_IMAGE="core-ubuntu-focal"
|
||||||
|
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 ###########
|
||||||
|
|
||||||
|
|
||||||
|
COPY ./src/ubuntu/install/audacity $INST_SCRIPTS/audacity/
|
||||||
|
RUN bash $INST_SCRIPTS/audacity/install_audacity.sh && rm -rf $INST_SCRIPTS/audacity/
|
||||||
|
|
||||||
|
COPY ./src/ubuntu/install/audacity/custom_startup.sh $STARTUPDIR/custom_startup.sh
|
||||||
|
RUN chmod +x $STARTUPDIR/custom_startup.sh
|
||||||
|
RUN chmod 755 $STARTUPDIR/custom_startup.sh
|
||||||
|
|
||||||
|
|
||||||
|
# Update the desktop environment to be optimized for a single application
|
||||||
|
RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/
|
||||||
|
RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png
|
||||||
|
RUN apt-get remove -y xfce4-panel
|
||||||
|
|
||||||
|
######### 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
|
35
dockerfile-kasm-deluge
Normal file
35
dockerfile-kasm-deluge
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
ARG BASE_TAG="develop"
|
||||||
|
ARG BASE_IMAGE="core-ubuntu-focal"
|
||||||
|
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 ###########
|
||||||
|
|
||||||
|
|
||||||
|
COPY ./src/ubuntu/install/deluge $INST_SCRIPTS/deluge/
|
||||||
|
RUN bash $INST_SCRIPTS/deluge/install_deluge.sh && rm -rf $INST_SCRIPTS/deluge/
|
||||||
|
|
||||||
|
COPY ./src/ubuntu/install/deluge/custom_startup.sh $STARTUPDIR/custom_startup.sh
|
||||||
|
RUN chmod +x $STARTUPDIR/custom_startup.sh
|
||||||
|
RUN chmod 755 $STARTUPDIR/custom_startup.sh
|
||||||
|
|
||||||
|
|
||||||
|
# Update the desktop environment to be optimized for a single application
|
||||||
|
RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/
|
||||||
|
RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png
|
||||||
|
RUN apt-get remove -y xfce4-panel
|
||||||
|
|
||||||
|
######### 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
|
35
dockerfile-kasm-filezilla
Normal file
35
dockerfile-kasm-filezilla
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
ARG BASE_TAG="develop"
|
||||||
|
ARG BASE_IMAGE="core-ubuntu-focal"
|
||||||
|
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 ###########
|
||||||
|
|
||||||
|
|
||||||
|
COPY ./src/ubuntu/install/filezilla $INST_SCRIPTS/filezilla/
|
||||||
|
RUN bash $INST_SCRIPTS/filezilla/install_filezilla.sh && rm -rf $INST_SCRIPTS/filezilla/
|
||||||
|
|
||||||
|
COPY ./src/ubuntu/install/filezilla/custom_startup.sh $STARTUPDIR/custom_startup.sh
|
||||||
|
RUN chmod +x $STARTUPDIR/custom_startup.sh
|
||||||
|
RUN chmod 755 $STARTUPDIR/custom_startup.sh
|
||||||
|
|
||||||
|
|
||||||
|
# Update the desktop environment to be optimized for a single application
|
||||||
|
RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/
|
||||||
|
RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png
|
||||||
|
RUN apt-get remove -y xfce4-panel
|
||||||
|
|
||||||
|
######### 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
|
35
dockerfile-kasm-inkscape
Normal file
35
dockerfile-kasm-inkscape
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
ARG BASE_TAG="develop"
|
||||||
|
ARG BASE_IMAGE="core-ubuntu-focal"
|
||||||
|
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 ###########
|
||||||
|
|
||||||
|
|
||||||
|
COPY ./src/ubuntu/install/inkscape $INST_SCRIPTS/inkscape/
|
||||||
|
RUN bash $INST_SCRIPTS/inkscape/install_inkscape.sh && rm -rf $INST_SCRIPTS/inkscape/
|
||||||
|
|
||||||
|
COPY ./src/ubuntu/install/inkscape/custom_startup.sh $STARTUPDIR/custom_startup.sh
|
||||||
|
RUN chmod +x $STARTUPDIR/custom_startup.sh
|
||||||
|
RUN chmod 755 $STARTUPDIR/custom_startup.sh
|
||||||
|
|
||||||
|
|
||||||
|
# Update the desktop environment to be optimized for a single application
|
||||||
|
RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/
|
||||||
|
RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png
|
||||||
|
RUN apt-get remove -y xfce4-panel
|
||||||
|
|
||||||
|
######### 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
|
35
dockerfile-kasm-pinta
Normal file
35
dockerfile-kasm-pinta
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
ARG BASE_TAG="develop"
|
||||||
|
ARG BASE_IMAGE="core-ubuntu-focal"
|
||||||
|
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 ###########
|
||||||
|
|
||||||
|
|
||||||
|
COPY ./src/ubuntu/install/pinta $INST_SCRIPTS/pinta/
|
||||||
|
RUN bash $INST_SCRIPTS/pinta/install_pinta.sh && rm -rf $INST_SCRIPTS/pinta/
|
||||||
|
|
||||||
|
COPY ./src/ubuntu/install/pinta/custom_startup.sh $STARTUPDIR/custom_startup.sh
|
||||||
|
RUN chmod +x $STARTUPDIR/custom_startup.sh
|
||||||
|
RUN chmod 755 $STARTUPDIR/custom_startup.sh
|
||||||
|
|
||||||
|
|
||||||
|
# Update the desktop environment to be optimized for a single application
|
||||||
|
RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/
|
||||||
|
RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png
|
||||||
|
RUN apt-get remove -y xfce4-panel
|
||||||
|
|
||||||
|
######### 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
|
35
dockerfile-kasm-qbittorrent
Normal file
35
dockerfile-kasm-qbittorrent
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
ARG BASE_TAG="develop"
|
||||||
|
ARG BASE_IMAGE="core-ubuntu-focal"
|
||||||
|
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 ###########
|
||||||
|
|
||||||
|
|
||||||
|
COPY ./src/ubuntu/install/qbittorrent $INST_SCRIPTS/qbittorrent/
|
||||||
|
RUN bash $INST_SCRIPTS/qbittorrent/install_qbittorrent.sh && rm -rf $INST_SCRIPTS/qbittorrent/
|
||||||
|
|
||||||
|
COPY ./src/ubuntu/install/qbittorrent/custom_startup.sh $STARTUPDIR/custom_startup.sh
|
||||||
|
RUN chmod +x $STARTUPDIR/custom_startup.sh
|
||||||
|
RUN chmod 755 $STARTUPDIR/custom_startup.sh
|
||||||
|
|
||||||
|
|
||||||
|
# Update the desktop environment to be optimized for a single application
|
||||||
|
RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/
|
||||||
|
RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png
|
||||||
|
RUN apt-get remove -y xfce4-panel
|
||||||
|
|
||||||
|
######### 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
|
11
docs/atom/README.md
Normal file
11
docs/atom/README.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# About This Image
|
||||||
|
|
||||||
|
This Image contains a browser-accessible version of [ATOM](https://atom.io/).
|
||||||
|
|
||||||
|
![Screenshot][Image_Screenshot]
|
||||||
|
|
||||||
|
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/atom.png "Image Screenshot"
|
||||||
|
|
||||||
|
# Environment Variables
|
||||||
|
|
||||||
|
* `APP_ARGS` - Additional arguments to pass to the application when launched.
|
1
docs/atom/description.txt
Normal file
1
docs/atom/description.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Atom Editor for Kasm Workspaces
|
11
docs/audacity/README.md
Normal file
11
docs/audacity/README.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# About This Image
|
||||||
|
|
||||||
|
This Image contains a browser-accessible version of [Audacity](https://www.audacityteam.org/).
|
||||||
|
|
||||||
|
![Screenshot][Image_Screenshot]
|
||||||
|
|
||||||
|
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/audacity.png "Image Screenshot"
|
||||||
|
|
||||||
|
# Environment Variables
|
||||||
|
|
||||||
|
* `APP_ARGS` - Additional arguments to pass to the application when launched.
|
1
docs/audacity/description.txt
Normal file
1
docs/audacity/description.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Audacity for Kasm Workspaces
|
11
docs/deluge/README.md
Normal file
11
docs/deluge/README.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# About This Image
|
||||||
|
|
||||||
|
This Image contains a browser-accessible version of [Deluge](https://deluge-torrent.org/).
|
||||||
|
|
||||||
|
![Screenshot][Image_Screenshot]
|
||||||
|
|
||||||
|
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/deluge.png "Image Screenshot"
|
||||||
|
|
||||||
|
# Environment Variables
|
||||||
|
|
||||||
|
* `APP_ARGS` - Additional arguments to pass to the application when launched.
|
1
docs/deluge/description.txt
Normal file
1
docs/deluge/description.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Deluge for Kasm Workspaces
|
11
docs/filezilla/README.md
Normal file
11
docs/filezilla/README.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# About This Image
|
||||||
|
|
||||||
|
This Image contains a browser-accessible version of [FileZilla](https://filezilla-project.org/).
|
||||||
|
|
||||||
|
![Screenshot][Image_Screenshot]
|
||||||
|
|
||||||
|
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/filezilla.png "Image Screenshot"
|
||||||
|
|
||||||
|
# Environment Variables
|
||||||
|
|
||||||
|
* `APP_ARGS` - Additional arguments to pass to the application when launched.
|
1
docs/filezilla/description.txt
Normal file
1
docs/filezilla/description.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
FileZilla for Kasm Workspaces
|
11
docs/inkscape/README.md
Normal file
11
docs/inkscape/README.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# About This Image
|
||||||
|
|
||||||
|
This Image contains a browser-accessible version of [Inkscape](https://inkscape.org/).
|
||||||
|
|
||||||
|
![Screenshot][Image_Screenshot]
|
||||||
|
|
||||||
|
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/inkscape.png "Image Screenshot"
|
||||||
|
|
||||||
|
# Environment Variables
|
||||||
|
|
||||||
|
* `APP_ARGS` - Additional arguments to pass to the application when launched.
|
1
docs/inkscape/description.txt
Normal file
1
docs/inkscape/description.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Inkscape for Kasm Workspaces
|
11
docs/pinta/README.md
Normal file
11
docs/pinta/README.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# About This Image
|
||||||
|
|
||||||
|
This Image contains a browser-accessible version of [Pinta](https://www.pinta-project.com/).
|
||||||
|
|
||||||
|
![Screenshot][Image_Screenshot]
|
||||||
|
|
||||||
|
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/pinta.png "Image Screenshot"
|
||||||
|
|
||||||
|
# Environment Variables
|
||||||
|
|
||||||
|
* `APP_ARGS` - Additional arguments to pass to the application when launched.
|
1
docs/pinta/description.txt
Normal file
1
docs/pinta/description.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Pinta for Kasm Workspaces
|
11
docs/qbittorrent/README.md
Normal file
11
docs/qbittorrent/README.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# About This Image
|
||||||
|
|
||||||
|
This Image contains a browser-accessible version of [qBittorrent](https://www.qbittorrent.org/).
|
||||||
|
|
||||||
|
![Screenshot][Image_Screenshot]
|
||||||
|
|
||||||
|
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/qbittorrent.png "Image Screenshot"
|
||||||
|
|
||||||
|
# Environment Variables
|
||||||
|
|
||||||
|
* `APP_ARGS` - Additional arguments to pass to the application when launched.
|
1
docs/qbittorrent/description.txt
Normal file
1
docs/qbittorrent/description.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
qBittorrent for Kasm Workspaces
|
84
src/ubuntu/install/atom/custom_startup.sh
Normal file
84
src/ubuntu/install/atom/custom_startup.sh
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
START_COMMAND="atom --no-sandbox --disable-setuid-sandbox"
|
||||||
|
PGREP="atom"
|
||||||
|
export MAXIMIZE="true"
|
||||||
|
export MAXIMIZE_NAME="Atom"
|
||||||
|
MAXIMIZE_SCRIPT=$STARTUPDIR/maximize_window.sh
|
||||||
|
DEFAULT_ARGS=""
|
||||||
|
ARGS=${APP_ARGS:-$DEFAULT_ARGS}
|
||||||
|
|
||||||
|
options=$(getopt -o gau: -l go,assign,url: -n "$0" -- "$@") || exit
|
||||||
|
eval set -- "$options"
|
||||||
|
|
||||||
|
while [[ $1 != -- ]]; do
|
||||||
|
case $1 in
|
||||||
|
-g|--go) GO='true'; shift 1;;
|
||||||
|
-a|--assign) ASSIGN='true'; shift 1;;
|
||||||
|
-u|--url) OPT_URL=$2; shift 2;;
|
||||||
|
*) echo "bad option: $1" >&2; exit 1;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
|
||||||
|
# Process non-option arguments.
|
||||||
|
for arg; do
|
||||||
|
echo "arg! $arg"
|
||||||
|
done
|
||||||
|
|
||||||
|
FORCE=$2
|
||||||
|
|
||||||
|
kasm_exec() {
|
||||||
|
if [ -n "$OPT_URL" ] ; then
|
||||||
|
URL=$OPT_URL
|
||||||
|
elif [ -n "$1" ] ; then
|
||||||
|
URL=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Since we are execing into a container that already has the browser running from startup,
|
||||||
|
# when we don't have a URL to open we want to do nothing. Otherwise a second browser instance would open.
|
||||||
|
if [ -n "$URL" ] ; then
|
||||||
|
/usr/bin/filter_ready
|
||||||
|
/usr/bin/desktop_ready
|
||||||
|
bash ${MAXIMIZE_SCRIPT} &
|
||||||
|
$START_COMMAND $ARGS $OPT_URL
|
||||||
|
else
|
||||||
|
echo "No URL specified for exec command. Doing nothing."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
kasm_startup() {
|
||||||
|
if [ -n "$KASM_URL" ] ; then
|
||||||
|
URL=$KASM_URL
|
||||||
|
elif [ -z "$URL" ] ; then
|
||||||
|
URL=$LAUNCH_URL
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ; then
|
||||||
|
|
||||||
|
echo "Entering process startup loop"
|
||||||
|
set +x
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
if ! pgrep -x $PGREP > /dev/null
|
||||||
|
then
|
||||||
|
/usr/bin/filter_ready
|
||||||
|
/usr/bin/desktop_ready
|
||||||
|
set +e
|
||||||
|
bash ${MAXIMIZE_SCRIPT} &
|
||||||
|
$START_COMMAND $ARGS $URL
|
||||||
|
set -e
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
set -x
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -n "$GO" ] || [ -n "$ASSIGN" ] ; then
|
||||||
|
kasm_exec
|
||||||
|
else
|
||||||
|
kasm_startup
|
||||||
|
fi
|
12
src/ubuntu/install/atom/install_atom.sh
Normal file
12
src/ubuntu/install/atom/install_atom.sh
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | apt-key add -
|
||||||
|
echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" \
|
||||||
|
> /etc/apt/sources.list.d/atom.list
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y atom
|
||||||
|
|
||||||
|
# Desktop Icon
|
||||||
|
cp /usr/share/applications/atom.desktop $HOME/Desktop/
|
||||||
|
chmod +x $HOME/Desktop/atom.desktop
|
2
src/ubuntu/install/audacity/audacity.cfg
Normal file
2
src/ubuntu/install/audacity/audacity.cfg
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
[GUI]
|
||||||
|
ShowSplashScreen=0
|
84
src/ubuntu/install/audacity/custom_startup.sh
Normal file
84
src/ubuntu/install/audacity/custom_startup.sh
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
START_COMMAND="audacity"
|
||||||
|
PGREP="audacity"
|
||||||
|
export MAXIMIZE="true"
|
||||||
|
export MAXIMIZE_NAME="Audacity"
|
||||||
|
MAXIMIZE_SCRIPT=$STARTUPDIR/maximize_window.sh
|
||||||
|
DEFAULT_ARGS=""
|
||||||
|
ARGS=${APP_ARGS:-$DEFAULT_ARGS}
|
||||||
|
|
||||||
|
options=$(getopt -o gau: -l go,assign,url: -n "$0" -- "$@") || exit
|
||||||
|
eval set -- "$options"
|
||||||
|
|
||||||
|
while [[ $1 != -- ]]; do
|
||||||
|
case $1 in
|
||||||
|
-g|--go) GO='true'; shift 1;;
|
||||||
|
-a|--assign) ASSIGN='true'; shift 1;;
|
||||||
|
-u|--url) OPT_URL=$2; shift 2;;
|
||||||
|
*) echo "bad option: $1" >&2; exit 1;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
|
||||||
|
# Process non-option arguments.
|
||||||
|
for arg; do
|
||||||
|
echo "arg! $arg"
|
||||||
|
done
|
||||||
|
|
||||||
|
FORCE=$2
|
||||||
|
|
||||||
|
kasm_exec() {
|
||||||
|
if [ -n "$OPT_URL" ] ; then
|
||||||
|
URL=$OPT_URL
|
||||||
|
elif [ -n "$1" ] ; then
|
||||||
|
URL=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Since we are execing into a container that already has the browser running from startup,
|
||||||
|
# when we don't have a URL to open we want to do nothing. Otherwise a second browser instance would open.
|
||||||
|
if [ -n "$URL" ] ; then
|
||||||
|
/usr/bin/filter_ready
|
||||||
|
/usr/bin/desktop_ready
|
||||||
|
bash ${MAXIMIZE_SCRIPT} &
|
||||||
|
$START_COMMAND $ARGS $OPT_URL
|
||||||
|
else
|
||||||
|
echo "No URL specified for exec command. Doing nothing."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
kasm_startup() {
|
||||||
|
if [ -n "$KASM_URL" ] ; then
|
||||||
|
URL=$KASM_URL
|
||||||
|
elif [ -z "$URL" ] ; then
|
||||||
|
URL=$LAUNCH_URL
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ; then
|
||||||
|
|
||||||
|
echo "Entering process startup loop"
|
||||||
|
set +x
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
if ! pgrep -x $PGREP > /dev/null
|
||||||
|
then
|
||||||
|
/usr/bin/filter_ready
|
||||||
|
/usr/bin/desktop_ready
|
||||||
|
set +e
|
||||||
|
bash ${MAXIMIZE_SCRIPT} &
|
||||||
|
$START_COMMAND $ARGS $URL
|
||||||
|
set -e
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
set -x
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -n "$GO" ] || [ -n "$ASSIGN" ] ; then
|
||||||
|
kasm_exec
|
||||||
|
else
|
||||||
|
kasm_startup
|
||||||
|
fi
|
14
src/ubuntu/install/audacity/install_audacity.sh
Normal file
14
src/ubuntu/install/audacity/install_audacity.sh
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
apt-get update
|
||||||
|
|
||||||
|
apt-get install -y audacity
|
||||||
|
rm -rf \
|
||||||
|
/var/lib/apt/lists/* \
|
||||||
|
/var/tmp/*
|
||||||
|
|
||||||
|
# Default settings and desktop icon
|
||||||
|
mkdir -p $HOME/.audacity-data/
|
||||||
|
cp /dockerstartup/install/audacity/audacity.cfg $HOME/.audacity-data/
|
||||||
|
cp /usr/share/applications/audacity.desktop $HOME/Desktop/
|
||||||
|
chmod +x $HOME/Desktop/audacity.desktop
|
84
src/ubuntu/install/deluge/custom_startup.sh
Normal file
84
src/ubuntu/install/deluge/custom_startup.sh
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
START_COMMAND="deluge"
|
||||||
|
PGREP="deluge"
|
||||||
|
export MAXIMIZE="true"
|
||||||
|
export MAXIMIZE_NAME="Deluge"
|
||||||
|
MAXIMIZE_SCRIPT=$STARTUPDIR/maximize_window.sh
|
||||||
|
DEFAULT_ARGS=""
|
||||||
|
ARGS=${APP_ARGS:-$DEFAULT_ARGS}
|
||||||
|
|
||||||
|
options=$(getopt -o gau: -l go,assign,url: -n "$0" -- "$@") || exit
|
||||||
|
eval set -- "$options"
|
||||||
|
|
||||||
|
while [[ $1 != -- ]]; do
|
||||||
|
case $1 in
|
||||||
|
-g|--go) GO='true'; shift 1;;
|
||||||
|
-a|--assign) ASSIGN='true'; shift 1;;
|
||||||
|
-u|--url) OPT_URL=$2; shift 2;;
|
||||||
|
*) echo "bad option: $1" >&2; exit 1;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
|
||||||
|
# Process non-option arguments.
|
||||||
|
for arg; do
|
||||||
|
echo "arg! $arg"
|
||||||
|
done
|
||||||
|
|
||||||
|
FORCE=$2
|
||||||
|
|
||||||
|
kasm_exec() {
|
||||||
|
if [ -n "$OPT_URL" ] ; then
|
||||||
|
URL=$OPT_URL
|
||||||
|
elif [ -n "$1" ] ; then
|
||||||
|
URL=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Since we are execing into a container that already has the browser running from startup,
|
||||||
|
# when we don't have a URL to open we want to do nothing. Otherwise a second browser instance would open.
|
||||||
|
if [ -n "$URL" ] ; then
|
||||||
|
/usr/bin/filter_ready
|
||||||
|
/usr/bin/desktop_ready
|
||||||
|
bash ${MAXIMIZE_SCRIPT} &
|
||||||
|
$START_COMMAND $ARGS $OPT_URL
|
||||||
|
else
|
||||||
|
echo "No URL specified for exec command. Doing nothing."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
kasm_startup() {
|
||||||
|
if [ -n "$KASM_URL" ] ; then
|
||||||
|
URL=$KASM_URL
|
||||||
|
elif [ -z "$URL" ] ; then
|
||||||
|
URL=$LAUNCH_URL
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ; then
|
||||||
|
|
||||||
|
echo "Entering process startup loop"
|
||||||
|
set +x
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
if ! pgrep -x $PGREP > /dev/null
|
||||||
|
then
|
||||||
|
/usr/bin/filter_ready
|
||||||
|
/usr/bin/desktop_ready
|
||||||
|
set +e
|
||||||
|
bash ${MAXIMIZE_SCRIPT} &
|
||||||
|
$START_COMMAND $ARGS $URL
|
||||||
|
set -e
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
set -x
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -n "$GO" ] || [ -n "$ASSIGN" ] ; then
|
||||||
|
kasm_exec
|
||||||
|
else
|
||||||
|
kasm_startup
|
||||||
|
fi
|
13
src/ubuntu/install/deluge/install_deluge.sh
Normal file
13
src/ubuntu/install/deluge/install_deluge.sh
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y software-properties-common
|
||||||
|
|
||||||
|
add-apt-repository -y ppa:deluge-team/stable
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y deluge
|
||||||
|
|
||||||
|
# Desktop Icon
|
||||||
|
cp /usr/share/applications/deluge.desktop $HOME/Desktop/
|
||||||
|
chmod +x $HOME/Desktop/deluge.desktop
|
84
src/ubuntu/install/filezilla/custom_startup.sh
Normal file
84
src/ubuntu/install/filezilla/custom_startup.sh
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
START_COMMAND="filezilla"
|
||||||
|
PGREP="filezilla"
|
||||||
|
export MAXIMIZE="true"
|
||||||
|
export MAXIMIZE_NAME="FileZilla"
|
||||||
|
MAXIMIZE_SCRIPT=$STARTUPDIR/maximize_window.sh
|
||||||
|
DEFAULT_ARGS=""
|
||||||
|
ARGS=${APP_ARGS:-$DEFAULT_ARGS}
|
||||||
|
|
||||||
|
options=$(getopt -o gau: -l go,assign,url: -n "$0" -- "$@") || exit
|
||||||
|
eval set -- "$options"
|
||||||
|
|
||||||
|
while [[ $1 != -- ]]; do
|
||||||
|
case $1 in
|
||||||
|
-g|--go) GO='true'; shift 1;;
|
||||||
|
-a|--assign) ASSIGN='true'; shift 1;;
|
||||||
|
-u|--url) OPT_URL=$2; shift 2;;
|
||||||
|
*) echo "bad option: $1" >&2; exit 1;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
|
||||||
|
# Process non-option arguments.
|
||||||
|
for arg; do
|
||||||
|
echo "arg! $arg"
|
||||||
|
done
|
||||||
|
|
||||||
|
FORCE=$2
|
||||||
|
|
||||||
|
kasm_exec() {
|
||||||
|
if [ -n "$OPT_URL" ] ; then
|
||||||
|
URL=$OPT_URL
|
||||||
|
elif [ -n "$1" ] ; then
|
||||||
|
URL=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Since we are execing into a container that already has the browser running from startup,
|
||||||
|
# when we don't have a URL to open we want to do nothing. Otherwise a second browser instance would open.
|
||||||
|
if [ -n "$URL" ] ; then
|
||||||
|
/usr/bin/filter_ready
|
||||||
|
/usr/bin/desktop_ready
|
||||||
|
bash ${MAXIMIZE_SCRIPT} &
|
||||||
|
$START_COMMAND $ARGS $OPT_URL
|
||||||
|
else
|
||||||
|
echo "No URL specified for exec command. Doing nothing."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
kasm_startup() {
|
||||||
|
if [ -n "$KASM_URL" ] ; then
|
||||||
|
URL=$KASM_URL
|
||||||
|
elif [ -z "$URL" ] ; then
|
||||||
|
URL=$LAUNCH_URL
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ; then
|
||||||
|
|
||||||
|
echo "Entering process startup loop"
|
||||||
|
set +x
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
if ! pgrep -x $PGREP > /dev/null
|
||||||
|
then
|
||||||
|
/usr/bin/filter_ready
|
||||||
|
/usr/bin/desktop_ready
|
||||||
|
set +e
|
||||||
|
bash ${MAXIMIZE_SCRIPT} &
|
||||||
|
$START_COMMAND $ARGS $URL
|
||||||
|
set -e
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
set -x
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -n "$GO" ] || [ -n "$ASSIGN" ] ; then
|
||||||
|
kasm_exec
|
||||||
|
else
|
||||||
|
kasm_startup
|
||||||
|
fi
|
139
src/ubuntu/install/filezilla/filezilla.xml
Normal file
139
src/ubuntu/install/filezilla/filezilla.xml
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<FileZilla3 version="3.46.3" platform="*nix">
|
||||||
|
<Settings>
|
||||||
|
<Setting name="Use Pasv mode">1</Setting>
|
||||||
|
<Setting name="Limit local ports">0</Setting>
|
||||||
|
<Setting name="Limit ports low">6000</Setting>
|
||||||
|
<Setting name="Limit ports high">7000</Setting>
|
||||||
|
<Setting name="Limit ports offset">0</Setting>
|
||||||
|
<Setting name="External IP mode">0</Setting>
|
||||||
|
<Setting name="External IP"></Setting>
|
||||||
|
<Setting name="External address resolver">http://ip.filezilla-project.org/ip.php</Setting>
|
||||||
|
<Setting name="Last resolved IP"></Setting>
|
||||||
|
<Setting name="No external ip on local conn">1</Setting>
|
||||||
|
<Setting name="Pasv reply fallback mode">0</Setting>
|
||||||
|
<Setting name="Timeout">20</Setting>
|
||||||
|
<Setting name="Logging Debug Level">0</Setting>
|
||||||
|
<Setting name="Logging Raw Listing">0</Setting>
|
||||||
|
<Setting name="fzsftp executable"></Setting>
|
||||||
|
<Setting name="fzstorj executable"></Setting>
|
||||||
|
<Setting name="Allow transfermode fallback">1</Setting>
|
||||||
|
<Setting name="Reconnect count">2</Setting>
|
||||||
|
<Setting name="Reconnect delay">5</Setting>
|
||||||
|
<Setting name="Enable speed limits">0</Setting>
|
||||||
|
<Setting name="Speedlimit inbound">1000</Setting>
|
||||||
|
<Setting name="Speedlimit outbound">100</Setting>
|
||||||
|
<Setting name="Speedlimit burst tolerance">0</Setting>
|
||||||
|
<Setting name="Preallocate space">0</Setting>
|
||||||
|
<Setting name="View hidden files">0</Setting>
|
||||||
|
<Setting name="Preserve timestamps">0</Setting>
|
||||||
|
<Setting name="Socket recv buffer size (v2)">4194304</Setting>
|
||||||
|
<Setting name="Socket send buffer size (v2)">262144</Setting>
|
||||||
|
<Setting name="FTP Keep-alive commands">0</Setting>
|
||||||
|
<Setting name="FTP Proxy type">0</Setting>
|
||||||
|
<Setting name="FTP Proxy host"></Setting>
|
||||||
|
<Setting name="FTP Proxy user"></Setting>
|
||||||
|
<Setting name="FTP Proxy password"></Setting>
|
||||||
|
<Setting name="FTP Proxy login sequence"></Setting>
|
||||||
|
<Setting name="SFTP keyfiles"></Setting>
|
||||||
|
<Setting name="SFTP compression">0</Setting>
|
||||||
|
<Setting name="Proxy type">0</Setting>
|
||||||
|
<Setting name="Proxy host"></Setting>
|
||||||
|
<Setting name="Proxy port">0</Setting>
|
||||||
|
<Setting name="Proxy user"></Setting>
|
||||||
|
<Setting name="Proxy password"></Setting>
|
||||||
|
<Setting name="Logging file"></Setting>
|
||||||
|
<Setting name="Logging filesize limit">10</Setting>
|
||||||
|
<Setting name="Logging show detailed logs">0</Setting>
|
||||||
|
<Setting name="Size format">3</Setting>
|
||||||
|
<Setting name="Size thousands separator">1</Setting>
|
||||||
|
<Setting name="Size decimal places">1</Setting>
|
||||||
|
<Setting name="TCP Keepalive Interval">15</Setting>
|
||||||
|
<Setting name="Cache TTL">600</Setting>
|
||||||
|
<Setting name="Number of Transfers">2</Setting>
|
||||||
|
<Setting name="Ascii Binary mode">0</Setting>
|
||||||
|
<Setting name="Auto Ascii files">am|asp|bat|c|cfm|cgi|conf|cpp|css|dhtml|diz|h|hpp|htm|html|in|inc|java|js|jsp|lua|m4|mak|md5|nfo|nsi|pas|patch|pem|php|phtml|pl|po|py|qmail|sh|sha1|sha256|sha512|shtml|sql|svg|tcl|tpl|txt|vbs|xhtml|xml|xrc</Setting>
|
||||||
|
<Setting name="Auto Ascii no extension">1</Setting>
|
||||||
|
<Setting name="Auto Ascii dotfiles">1</Setting>
|
||||||
|
<Setting name="Language Code"></Setting>
|
||||||
|
<Setting name="Concurrent download limit">0</Setting>
|
||||||
|
<Setting name="Concurrent upload limit">0</Setting>
|
||||||
|
<Setting name="Update Check">1</Setting>
|
||||||
|
<Setting name="Update Check Interval">7</Setting>
|
||||||
|
<Setting name="Last automatic update check"></Setting>
|
||||||
|
<Setting name="Last automatic update version"></Setting>
|
||||||
|
<Setting name="Update Check New Version"></Setting>
|
||||||
|
<Setting name="Update Check Check Beta">0</Setting>
|
||||||
|
<Setting name="Show debug menu">0</Setting>
|
||||||
|
<Setting name="File exists action download">0</Setting>
|
||||||
|
<Setting name="File exists action upload">0</Setting>
|
||||||
|
<Setting name="Allow ascii resume">0</Setting>
|
||||||
|
<Setting name="Greeting version">3.46.3</Setting>
|
||||||
|
<Setting name="Greeting resources"></Setting>
|
||||||
|
<Setting name="Onetime Dialogs"></Setting>
|
||||||
|
<Setting name="Show Tree Local">1</Setting>
|
||||||
|
<Setting name="Show Tree Remote">1</Setting>
|
||||||
|
<Setting name="File Pane Layout">0</Setting>
|
||||||
|
<Setting name="File Pane Swap">0</Setting>
|
||||||
|
<Setting name="Filelist directory sort">0</Setting>
|
||||||
|
<Setting name="Filelist name sort">1</Setting>
|
||||||
|
<Setting name="Queue successful autoclear">0</Setting>
|
||||||
|
<Setting name="Local filelist sortorder">0 0</Setting>
|
||||||
|
<Setting name="Remote filelist sortorder">0 0</Setting>
|
||||||
|
<Setting name="Time Format"></Setting>
|
||||||
|
<Setting name="Date Format"></Setting>
|
||||||
|
<Setting name="Show message log">1</Setting>
|
||||||
|
<Setting name="Show queue">1</Setting>
|
||||||
|
<Setting name="Default editor"></Setting>
|
||||||
|
<Setting name="Always use default editor">0</Setting>
|
||||||
|
<Setting name="Inherit system associations">1</Setting>
|
||||||
|
<Setting name="Custom file associations"></Setting>
|
||||||
|
<Setting name="Comparison mode">1</Setting>
|
||||||
|
<Setting name="Comparison threshold">1</Setting>
|
||||||
|
<Setting name="Site Manager position"></Setting>
|
||||||
|
<Setting name="Icon theme">default</Setting>
|
||||||
|
<Setting name="Icon scale">125</Setting>
|
||||||
|
<Setting name="Timestamp in message log">0</Setting>
|
||||||
|
<Setting name="Sitemanager last selected"></Setting>
|
||||||
|
<Setting name="Local filelist shown columns">1111</Setting>
|
||||||
|
<Setting name="Remote filelist shown columns">111111</Setting>
|
||||||
|
<Setting name="Local filelist column order">0,1,2,3</Setting>
|
||||||
|
<Setting name="Remote filelist column order">0,1,2,3,4,5</Setting>
|
||||||
|
<Setting name="Filelist status bar">1</Setting>
|
||||||
|
<Setting name="Filter toggle state">0</Setting>
|
||||||
|
<Setting name="Show quickconnect bar">1</Setting>
|
||||||
|
<Setting name="Messagelog position">0</Setting>
|
||||||
|
<Setting name="File doubleclick action">0</Setting>
|
||||||
|
<Setting name="Dir doubleclick action">0</Setting>
|
||||||
|
<Setting name="Minimize to tray">0</Setting>
|
||||||
|
<Setting name="Search column widths"></Setting>
|
||||||
|
<Setting name="Search column shown"></Setting>
|
||||||
|
<Setting name="Search column order"></Setting>
|
||||||
|
<Setting name="Search window size"></Setting>
|
||||||
|
<Setting name="Comparison hide identical">0</Setting>
|
||||||
|
<Setting name="Search sort order"></Setting>
|
||||||
|
<Setting name="Edit track local">1</Setting>
|
||||||
|
<Setting name="Prevent idle sleep">1</Setting>
|
||||||
|
<Setting name="Filteredit window size"></Setting>
|
||||||
|
<Setting name="Enable invalid char filter">1</Setting>
|
||||||
|
<Setting name="Invalid char replace">_</Setting>
|
||||||
|
<Setting name="Already connected choice">0</Setting>
|
||||||
|
<Setting name="Edit status dialog size"></Setting>
|
||||||
|
<Setting name="Display current speed">0</Setting>
|
||||||
|
<Setting name="Toolbar hidden">0</Setting>
|
||||||
|
<Setting name="Strip VMS revisions">0</Setting>
|
||||||
|
<Setting name="Startup action">0</Setting>
|
||||||
|
<Setting name="Prompt password save">1</Setting>
|
||||||
|
<Setting name="Persistent Choices">0</Setting>
|
||||||
|
<Setting name="Queue completion action">1</Setting>
|
||||||
|
<Setting name="Queue completion command"></Setting>
|
||||||
|
<Setting name="Drag and Drop disabled">0</Setting>
|
||||||
|
<Setting name="Disable update footer">0</Setting>
|
||||||
|
<Setting name="Master password encryptor"></Setting>
|
||||||
|
<Setting name="Config Location">/home/kasm-user/.config/filezilla/</Setting>
|
||||||
|
<Setting name="Kiosk mode">0</Setting>
|
||||||
|
<Setting name="Disable update check">1</Setting>
|
||||||
|
<Setting name="Cache directory"></Setting>
|
||||||
|
</Settings>
|
||||||
|
</FileZilla3>
|
||||||
|
|
14
src/ubuntu/install/filezilla/install_filezilla.sh
Normal file
14
src/ubuntu/install/filezilla/install_filezilla.sh
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
apt-get update
|
||||||
|
|
||||||
|
apt-get install -y filezilla
|
||||||
|
rm -rf \
|
||||||
|
/var/lib/apt/lists/* \
|
||||||
|
/var/tmp/*
|
||||||
|
|
||||||
|
# Default settings and desktop icon
|
||||||
|
mkdir -p $HOME/.config/filezilla
|
||||||
|
cp /dockerstartup/install/filezilla/filezilla.xml $HOME/.config/filezilla
|
||||||
|
cp /usr/share/applications/filezilla.desktop $HOME/Desktop/
|
||||||
|
chmod +x $HOME/Desktop/filezilla.desktop
|
84
src/ubuntu/install/inkscape/custom_startup.sh
Normal file
84
src/ubuntu/install/inkscape/custom_startup.sh
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
START_COMMAND="inkscape"
|
||||||
|
PGREP="inkscape"
|
||||||
|
export MAXIMIZE="true"
|
||||||
|
export MAXIMIZE_NAME="Inkscape"
|
||||||
|
MAXIMIZE_SCRIPT=$STARTUPDIR/maximize_window.sh
|
||||||
|
DEFAULT_ARGS=""
|
||||||
|
ARGS=${APP_ARGS:-$DEFAULT_ARGS}
|
||||||
|
|
||||||
|
options=$(getopt -o gau: -l go,assign,url: -n "$0" -- "$@") || exit
|
||||||
|
eval set -- "$options"
|
||||||
|
|
||||||
|
while [[ $1 != -- ]]; do
|
||||||
|
case $1 in
|
||||||
|
-g|--go) GO='true'; shift 1;;
|
||||||
|
-a|--assign) ASSIGN='true'; shift 1;;
|
||||||
|
-u|--url) OPT_URL=$2; shift 2;;
|
||||||
|
*) echo "bad option: $1" >&2; exit 1;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
|
||||||
|
# Process non-option arguments.
|
||||||
|
for arg; do
|
||||||
|
echo "arg! $arg"
|
||||||
|
done
|
||||||
|
|
||||||
|
FORCE=$2
|
||||||
|
|
||||||
|
kasm_exec() {
|
||||||
|
if [ -n "$OPT_URL" ] ; then
|
||||||
|
URL=$OPT_URL
|
||||||
|
elif [ -n "$1" ] ; then
|
||||||
|
URL=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Since we are execing into a container that already has the browser running from startup,
|
||||||
|
# when we don't have a URL to open we want to do nothing. Otherwise a second browser instance would open.
|
||||||
|
if [ -n "$URL" ] ; then
|
||||||
|
/usr/bin/filter_ready
|
||||||
|
/usr/bin/desktop_ready
|
||||||
|
bash ${MAXIMIZE_SCRIPT} &
|
||||||
|
$START_COMMAND $ARGS $OPT_URL
|
||||||
|
else
|
||||||
|
echo "No URL specified for exec command. Doing nothing."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
kasm_startup() {
|
||||||
|
if [ -n "$KASM_URL" ] ; then
|
||||||
|
URL=$KASM_URL
|
||||||
|
elif [ -z "$URL" ] ; then
|
||||||
|
URL=$LAUNCH_URL
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ; then
|
||||||
|
|
||||||
|
echo "Entering process startup loop"
|
||||||
|
set +x
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
if ! pgrep -x $PGREP > /dev/null
|
||||||
|
then
|
||||||
|
/usr/bin/filter_ready
|
||||||
|
/usr/bin/desktop_ready
|
||||||
|
set +e
|
||||||
|
bash ${MAXIMIZE_SCRIPT} &
|
||||||
|
$START_COMMAND $ARGS $URL
|
||||||
|
set -e
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
set -x
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -n "$GO" ] || [ -n "$ASSIGN" ] ; then
|
||||||
|
kasm_exec
|
||||||
|
else
|
||||||
|
kasm_startup
|
||||||
|
fi
|
13
src/ubuntu/install/inkscape/install_inkscape.sh
Normal file
13
src/ubuntu/install/inkscape/install_inkscape.sh
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y software-properties-common
|
||||||
|
|
||||||
|
add-apt-repository -y ppa:inkscape.dev/stable
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y inkscape
|
||||||
|
|
||||||
|
# Default settings and desktop icon
|
||||||
|
cp /usr/share/applications/org.inkscape.Inkscape.desktop $HOME/Desktop/
|
||||||
|
chmod +x $HOME/Desktop/org.inkscape.Inkscape.desktop
|
84
src/ubuntu/install/pinta/custom_startup.sh
Normal file
84
src/ubuntu/install/pinta/custom_startup.sh
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
START_COMMAND="pinta"
|
||||||
|
PGREP="pinta"
|
||||||
|
export MAXIMIZE="true"
|
||||||
|
export MAXIMIZE_NAME="Pinta"
|
||||||
|
MAXIMIZE_SCRIPT=$STARTUPDIR/maximize_window.sh
|
||||||
|
DEFAULT_ARGS=""
|
||||||
|
ARGS=${APP_ARGS:-$DEFAULT_ARGS}
|
||||||
|
|
||||||
|
options=$(getopt -o gau: -l go,assign,url: -n "$0" -- "$@") || exit
|
||||||
|
eval set -- "$options"
|
||||||
|
|
||||||
|
while [[ $1 != -- ]]; do
|
||||||
|
case $1 in
|
||||||
|
-g|--go) GO='true'; shift 1;;
|
||||||
|
-a|--assign) ASSIGN='true'; shift 1;;
|
||||||
|
-u|--url) OPT_URL=$2; shift 2;;
|
||||||
|
*) echo "bad option: $1" >&2; exit 1;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
|
||||||
|
# Process non-option arguments.
|
||||||
|
for arg; do
|
||||||
|
echo "arg! $arg"
|
||||||
|
done
|
||||||
|
|
||||||
|
FORCE=$2
|
||||||
|
|
||||||
|
kasm_exec() {
|
||||||
|
if [ -n "$OPT_URL" ] ; then
|
||||||
|
URL=$OPT_URL
|
||||||
|
elif [ -n "$1" ] ; then
|
||||||
|
URL=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Since we are execing into a container that already has the browser running from startup,
|
||||||
|
# when we don't have a URL to open we want to do nothing. Otherwise a second browser instance would open.
|
||||||
|
if [ -n "$URL" ] ; then
|
||||||
|
/usr/bin/filter_ready
|
||||||
|
/usr/bin/desktop_ready
|
||||||
|
bash ${MAXIMIZE_SCRIPT} &
|
||||||
|
$START_COMMAND $ARGS $OPT_URL
|
||||||
|
else
|
||||||
|
echo "No URL specified for exec command. Doing nothing."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
kasm_startup() {
|
||||||
|
if [ -n "$KASM_URL" ] ; then
|
||||||
|
URL=$KASM_URL
|
||||||
|
elif [ -z "$URL" ] ; then
|
||||||
|
URL=$LAUNCH_URL
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ; then
|
||||||
|
|
||||||
|
echo "Entering process startup loop"
|
||||||
|
set +x
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
if ! pgrep -x $PGREP > /dev/null
|
||||||
|
then
|
||||||
|
/usr/bin/filter_ready
|
||||||
|
/usr/bin/desktop_ready
|
||||||
|
set +e
|
||||||
|
bash ${MAXIMIZE_SCRIPT} &
|
||||||
|
$START_COMMAND $ARGS $URL
|
||||||
|
set -e
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
set -x
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -n "$GO" ] || [ -n "$ASSIGN" ] ; then
|
||||||
|
kasm_exec
|
||||||
|
else
|
||||||
|
kasm_startup
|
||||||
|
fi
|
12
src/ubuntu/install/pinta/install_pinta.sh
Normal file
12
src/ubuntu/install/pinta/install_pinta.sh
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
apt-get update
|
||||||
|
|
||||||
|
apt-get install -y pinta
|
||||||
|
rm -rf \
|
||||||
|
/var/lib/apt/lists/* \
|
||||||
|
/var/tmp/*
|
||||||
|
|
||||||
|
# Default settings and desktop icon
|
||||||
|
cp /usr/share/applications/pinta.desktop $HOME/Desktop/
|
||||||
|
chmod +x $HOME/Desktop/pinta.desktop
|
84
src/ubuntu/install/qbittorrent/custom_startup.sh
Normal file
84
src/ubuntu/install/qbittorrent/custom_startup.sh
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
START_COMMAND="qbittorrent --no-splash"
|
||||||
|
PGREP="qbittorrent"
|
||||||
|
export MAXIMIZE="true"
|
||||||
|
export MAXIMIZE_NAME="qBittorrent"
|
||||||
|
MAXIMIZE_SCRIPT=$STARTUPDIR/maximize_window.sh
|
||||||
|
DEFAULT_ARGS=""
|
||||||
|
ARGS=${APP_ARGS:-$DEFAULT_ARGS}
|
||||||
|
|
||||||
|
options=$(getopt -o gau: -l go,assign,url: -n "$0" -- "$@") || exit
|
||||||
|
eval set -- "$options"
|
||||||
|
|
||||||
|
while [[ $1 != -- ]]; do
|
||||||
|
case $1 in
|
||||||
|
-g|--go) GO='true'; shift 1;;
|
||||||
|
-a|--assign) ASSIGN='true'; shift 1;;
|
||||||
|
-u|--url) OPT_URL=$2; shift 2;;
|
||||||
|
*) echo "bad option: $1" >&2; exit 1;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
|
||||||
|
# Process non-option arguments.
|
||||||
|
for arg; do
|
||||||
|
echo "arg! $arg"
|
||||||
|
done
|
||||||
|
|
||||||
|
FORCE=$2
|
||||||
|
|
||||||
|
kasm_exec() {
|
||||||
|
if [ -n "$OPT_URL" ] ; then
|
||||||
|
URL=$OPT_URL
|
||||||
|
elif [ -n "$1" ] ; then
|
||||||
|
URL=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Since we are execing into a container that already has the browser running from startup,
|
||||||
|
# when we don't have a URL to open we want to do nothing. Otherwise a second browser instance would open.
|
||||||
|
if [ -n "$URL" ] ; then
|
||||||
|
/usr/bin/filter_ready
|
||||||
|
/usr/bin/desktop_ready
|
||||||
|
bash ${MAXIMIZE_SCRIPT} &
|
||||||
|
$START_COMMAND $ARGS $OPT_URL
|
||||||
|
else
|
||||||
|
echo "No URL specified for exec command. Doing nothing."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
kasm_startup() {
|
||||||
|
if [ -n "$KASM_URL" ] ; then
|
||||||
|
URL=$KASM_URL
|
||||||
|
elif [ -z "$URL" ] ; then
|
||||||
|
URL=$LAUNCH_URL
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ; then
|
||||||
|
|
||||||
|
echo "Entering process startup loop"
|
||||||
|
set +x
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
if ! pgrep -x $PGREP > /dev/null
|
||||||
|
then
|
||||||
|
/usr/bin/filter_ready
|
||||||
|
/usr/bin/desktop_ready
|
||||||
|
set +e
|
||||||
|
bash ${MAXIMIZE_SCRIPT} &
|
||||||
|
$START_COMMAND $ARGS $URL
|
||||||
|
set -e
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
set -x
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -n "$GO" ] || [ -n "$ASSIGN" ] ; then
|
||||||
|
kasm_exec
|
||||||
|
else
|
||||||
|
kasm_startup
|
||||||
|
fi
|
15
src/ubuntu/install/qbittorrent/install_qbittorrent.sh
Normal file
15
src/ubuntu/install/qbittorrent/install_qbittorrent.sh
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y software-properties-common
|
||||||
|
|
||||||
|
add-apt-repository -y ppa:qbittorrent-team/qbittorrent-stable
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y qbittorrent
|
||||||
|
|
||||||
|
# Default settings and desktop icon
|
||||||
|
mkdir -p $HOME/.config/qBittorrent
|
||||||
|
cp /dockerstartup/install/qbittorrent/qBittorrent.conf $HOME/.config/qBittorrent
|
||||||
|
cp /usr/share/applications/org.qbittorrent.qBittorrent.desktop $HOME/Desktop/
|
||||||
|
chmod +x $HOME/Desktop/org.qbittorrent.qBittorrent.desktop
|
2
src/ubuntu/install/qbittorrent/qBittorrent.conf
Normal file
2
src/ubuntu/install/qbittorrent/qBittorrent.conf
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
[LegalNotice]
|
||||||
|
Accepted=true
|
Loading…
Reference in New Issue
Block a user