Compare commits

..

No commits in common. "3126f53e48e054c78eb4671d2d774337261d323b" and "7855b30b9e9739acadb8fa2cdf96ddef8bbb559c" have entirely different histories.

13 changed files with 111 additions and 134 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 B

After

Width:  |  Height:  |  Size: 562 KiB

View File

@ -91,7 +91,7 @@ The default username is `designer` and the password is `password`.
### 3. Configure Volare
Choose a PDK variant from the following list to install.
List the available PDKs and choose one to install.
| PDK Technology | PDK Variant |
|----------------|-------------|
@ -101,16 +101,10 @@ Choose a PDK variant from the following list to install.
| | gf180mcuB |
| | gf180mcuC |
To automatically download and configure the latest version of the PDK to this date, run `volare_set_latest` replacing `<pdk_variant>` for a PDK variant from the list.
Replace `<pdk_variant>` and `<pdk_tech>` correspondingly by one of the PDKs listed above.
```sh
volare_set_latest <pdk_variant>
```
To manually set any version of the PDK, set the `PDK` environment variable, list the available PDKs and choose one to install replacing `<pdk_variant>` and `<pdk_tech>` correspondingly by one of the PDKs listed above.
```sh
echo 'export PDK=<pdk_variant>' >> ~/.bashrc
source ~/.bashrc
export PDK=<pdk_variant>
echo 'export PDK=${PDK}' >> ~/.bashrc
volare ls-remote --pdk <pdk_tech>
volare enable --pdk <pdk_tech> <version_id>
```
@ -127,20 +121,6 @@ or you can also install packages from the [AUR](https://aur.archlinux.org/) usin
```paru <package_name>```
## Updating the image
To update to the latest image version, first make sure you have all your important data linked by a volume or backed up in an external storage, **all your files outside any linked volume will be lost**.
After you backed your data, stop the container, delete it, pull the latest image and finally start the container again as the first step of the usage section.
```
docker stop <container_name>
docker rm <container_name>
docker pull <image>
docker run -d --security-opt seccomp=unconfined -p 8444:8444 -v <path_to_volume>:/home/designer/shared --name <container_name> <image-web>
```
> Container names can be seen with `docker ps -a`
## Custom Images
For creating an image with your own pre-installed set of packages for your team you can create your own docker image extending the stacks, just as the stacks extend the base image. For reference check the stacks dockerfiles in the `stack` folder.

View File

@ -6,21 +6,7 @@ FROM greyltc/archlinux-aur:paru as osicstacks-base-desktop
RUN pacman -Syuq --noconfirm
# Install packages
RUN aur-install \
sudo \
git \
git-lfs \
python \
python-pip \
python-pipx \
xz \
gnu-free-fonts \
gvim \
ngspice \
gedit \
jupyter-notebook \
xterm
RUN aur-install sudo git git-lfs python python-pip python-pipx xz gnu-free-fonts gvim ngspice gedit jupyter-notebook xterm
ENV TERM=xterm EDITOR=gedit
# Clean cache
@ -46,16 +32,7 @@ COPY --chown=designer:designer --chmod=755 scripts/* /home/designer/.scripts
ENV PATH="/home/designer/.scripts:${PATH}"
# Add motd
RUN echo "custom_motd" >> "/home/designer/.bashrc"
# Add media includes
RUN mkdir -p /home/designer/.media
COPY --chown=designer:designer include/media/* /home/designer/.media
# Setup Docker in Docker (DiD)
RUN aur-install docker
RUN sudo groupadd docker
RUN sudo usermod -aG docker $USER
RUN echo "/home/designer/.bashrc" >> "custom_motd"
# Initialize the enviroment keeping container alive
ENTRYPOINT ["start_desktop"]

View File

@ -27,9 +27,11 @@ RUN sudo usermod -aG root designer
# Install XFCE
RUN sudo pacman -S --noconfirm xorg xfce4
# Copy autostart include
# Copy includes
RUN mkdir -p /home/designer/.media
COPY --chown=designer:designer include/media/* /home/designer/.media
RUN mkdir -p /home/designer/.config/autostart
COPY --chown=designer:designer include/desktop_init.desktop /home/designer/.config/autostart
COPY --chown=designer:designer include/desktopinit.desktop /home/designer/.config/autostart
# Set login user
ENV LOGIN_USER designer

View File

@ -1,8 +0,0 @@
__ __
__ /\ \__ /\ \
___ ____/\_\ ___ ____\ \ ,_\ __ ___\ \ \/'\ ____
/ __`\ /',__\/\ \ /'___\ /',__\\ \ \/ /'__`\ /'___\ \ , < /',__\
/\ \L\ \/\__, `\ \ \/\ \__/ /\__, `\\ \ \_/\ \L\.\_/\ \__/\ \ \\`\ /\__, `\
\ \____/\/\____/\ \_\ \____\ \/\____/ \ \__\ \__/.\_\ \____\\ \_\ \_\/\____/
\/___/ \/___/ \/_/\/____/ \/___/ \/__/\/__/\/_/\/____/ \/_/\/_/\/___/

BIN
include/media/default_wallpaper.png (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 744 KiB

View File

@ -1,16 +1,20 @@
#!/bin/bash
cat << EOF
__ __
__ /\ \__ /\ \
___ ____/\_\ ___ ____\ \ ,_\ __ ___\ \ \/'\ ____
/ __`\ /',__\/\ \ /'___\ /',__\\ \ \/ /'__`\ /'___\ \ , < /',__\
/\ \L\ \/\__, `\ \ \/\ \__/ /\__, `\\ \ \_/\ \L\.\_/\ \__/\ \ \\`\ /\__, `\
\ \____/\/\____/\ \_\ \____\ \/\____/ \ \__\ \__/.\_\ \____\\ \_\ \_\/\____/
\/___/ \/___/ \/_/\/____/ \/___/ \/__/\/__/\/_/\/____/ \/_/\/_/\/___/
EOF
cat $HOME/.media/ascii_art.txt
if [[ ! -z "${PDK_TECH}" ]]; then
if [[ ! -z "${PDK_VERSION}" ]]; then
volare_set_latest
fi
else
echo "
if [[ -z "${PDK} "]]
cat << EOF
There is not an active PDK, Use:
volare_set_latest <pdk_variant>
to automatically download and configure the latest version of a PDK.
You can also manually configure a PDK using volare and setting the PDK_TECH environment variable
"
fi
You can also manually configure a PDK using volare and setting the PDK environment variable
EOF
fi

View File

@ -1,18 +1,3 @@
#!/bin/bash
set_wallpaper $HOME/.media/default_wallpaper.png
xfce4-terminal
# Add application launcher
mkdir -p $HOME/.config/xfce4/panel/launcher-18
ln /usr/share/applications/klayoutEditor.desktop $HOME/.config/xfce4/panel/launcher-18
xfconf-query -c xfce4-panel -p /plugins/plugin-18 -t string -s "launcher" --create
xfconf-query -c xfce4-panel -p /plugins/plugin-18/items -t string -s "klayoutEditor.desktop" -a --create
# Delete plugin id array
xfconf-query -c xfce4-panel -p /panels/panel-2/plugin-ids -rR
# Recreate id array with new values
xfconf-query -c xfce4-panel -p /panels/panel-2/plugin-ids -t int -s 18
# Restart panel
xfce4-panel -r
setwallpaper /home/designer/.media/defaultwallpaper.png
xfce4-terminal

View File

@ -1,34 +1,89 @@
#!/bin/bash
cd $HOME
cd /home/designer
# Run VNC server
echo 'Running VNC Server'
mkdir -p $HOME/.vnc
touch "$HOME/.Xauthority"
touch "$HOME/.vnc/passwd"
/usr/sbin/Xvnc $DISPLAY \
-httpd '/usr/share/kasmvnc/www' \
-DLP_RegionAllowClick '0' \
-QueryConnect '0' \
-VideoScaling '2' \
-DLP_ClipDelay '0' \
-DLP_Log 'off' \
-KasmPasswordFile '/home/designer/.kasmpasswd' \
-MaxVideoResolution '1920x1080' \
-ImprovedHextile '1' \
-QueryConnectTimeout '10' \
-Log '*:stdout:100' \
-DynamicQualityMin '7' \
-RectThreads '0' \
-WebpVideoQuality '-1' \
-DLP_ClipTypes 'chromium/x-web-custom-data,text/html,image/png' \
-udpFullFrameFrequency '0' \
-UseIPv6 '1' \
-DLP_RegionAllowRelease '0' \
-AcceptCutText '1' \
-DLP_ClipAcceptMax '0' \
-http-header 'Cross-Origin-Embedder-Policy=require-corp' \
-http-header 'Cross-Origin-Opener-Policy=same-origin' \
-MaxConnectionTime '0' \
-fp '/usr/share/fonts/75dpi,/usr/share/fonts/100dpi' \
-TreatLossless '10' \
-interface '0.0.0.0' \
-SendPrimary '0' \
-RawKeyboard '0' \
-DynamicQualityMax '8' \
-MaxDisconnectionTime '0' \
-BlacklistTimeout '10' \
-DisconnectClients '0' \
-DLP_ClipSendMax '0' \
-AcceptKeyEvents '1' \
-IgnoreClientSettingsKasm '0' \
-AcceptPointerEvents '1' \
-websocketPort '8445' \
-BlacklistThreshold '5' \
-depth '24' \
-MaxIdleTime '0' \
-cert '/etc/ssl/certs/ssl-cert-snakeoil.pem' \
-DLP_KeyRateLimit '0' \
-VideoTime '5' \
-auth '/home/designer/.Xauthority' \
-SendCutText '1' \
-VideoOutTime '3' \
-UseIPv4 '1' \
-sslOnly '0' \
-VideoArea '45' \
-desktop "$(hostname):$DISPLAY (designer)" \
-CompareFB '2' \
-PrintVideoArea '0' \
-FrameRate '60' \
-AcceptSetDesktopSize '1' \
-AvoidShiftNumLock '0' \
-key '/etc/ssl/private/ssl-cert-snakeoil.key' \
-JpegVideoQuality '-1' \
-geometry '1024x768' \
-IdleTimeout '0' \
-AllowOverride 'AcceptPointerEvents,SendCutText,AcceptCutText,SendPrimary' \
-rfbauth '/home/designer/.vnc/passwd' \
-rfbwait '30000' \
-rfbport '5901' \
>> "/home/designer/.vnc/$(hostname):$DISPLAY.log" 2>&1
echo -e "$LOGIN_PASSWORD\n$LOGIN_PASSWORD\n" | vncpasswd -u $LOGIN_USER -w -r
echo -e "${LOGIN_PASSWORD}\n${LOGIN_PASSWORD}\n" | vncpasswd -u ${LOGIN_USER} -w -r
kasm_vnc_options="
-httpd /usr/share/kasmvnc/www \
-SecurityTypes None \
-disableBasicAuth \
-KasmPasswordFile $HOME/.kasmpasswd \
-MaxVideoResolution 1920x1080 \
-interface 0.0.0.0 \
-websocketPort 8444 \
-cert /etc/ssl/certs/ssl-cert-snakeoil.pem \
-key /etc/ssl/private/ssl-cert-snakeoil.key \
-auth $HOME/.Xauthority \
-sslOnly 0 \
-desktop osicstacks \
-rfbauth $HOME/.vnc/passwd"
# Wait for VNC server to start
sleep 2
while ! xset q &>/dev/null;
do
echo "XServer not responsive, retrying..."
sleep 2
done
vncserver -select-de xfce -fg -xstartup $HOME/.scripts/xstartup $kasm_vnc_options &
echo "XServer has been found, running desktop environment"
#if ! docker info > /dev/null 2>&1; then
sudo dockerd &
#fi
# Run desktop environment (XFCE)
xfce4-session --display=$DISPLAY
volare_set_latest
# Keep container alive
sleep infinity
sleep infinity

View File

@ -1,7 +1,6 @@
#!/bin/bash
if [[ ! -z "$1" ]]; then PDK_TECH=$1; fi
if [[ ! -z "${PDK_TECH}" ]]; then
echo "Installing $PDK_TECH ($PDK_VERSION)"
PDK_VERSION=$(volare ls-remote --pdk $PDK_TECH | sed -n '1 p')
volare enable --pdk $PDK_TECH $PDK_VERSION
if [[ -z "$1"]]; then PDK=$1 fi
if [[ -z "${PDK}" ]]; then
PDK_VERSION=$(volare ls-remote --pdk $PDK | sed -n '1 p')
volare enable --pdk $PDK $PDK_VERSION
fi

View File

@ -1,14 +0,0 @@
#!/bin/bash
# Wait for VNC server to start
sleep 2
while ! xdpyinfo -display $DISPLAY &> /dev/null;
do
echo "XServer not responsive, retrying..."
sleep 2
done
echo "XServer has been found, running desktop environment"
# Run desktop environment (XFCE)
dbus-launch xfce4-session --display=$DISPLAY