diff --git a/.recycle/yankee-gnome-fire-linux/compose.bash b/.recycle/yankee-gnome-fire-linux/compose.bash new file mode 100755 index 0000000..0e53db5 --- /dev/null +++ b/.recycle/yankee-gnome-fire-linux/compose.bash @@ -0,0 +1,17 @@ +#!/bin/bash + +## + +reset + +clear + +## + +#set -e + +#set -x + +docker compose down --remove-orphans + +docker compose up -d diff --git a/.recycle/yankee-gnome-fire-linux/compose.yaml b/.recycle/yankee-gnome-fire-linux/compose.yaml new file mode 100644 index 0000000..7f378f2 --- /dev/null +++ b/.recycle/yankee-gnome-fire-linux/compose.yaml @@ -0,0 +1,62 @@ +services: + + yankee-gnome-fire-linux: + + container_name: yankee-gnome-fire-linux + + image: softwareshinobi/shinobi-academy-desktop:latest + + restart: unless-stopped + + ports: + + - "127.0.0.1:5900:5900" + + - "127.0.0.1:5922:22" + + - "127.0.0.1:5980:80" + + hostname: yankee + + volumes: + + - code:/yankee/code + + - downloads:/yankee/downloads + +# - code:/home/yankee/code +## - code:/root/code + + environment: + + TZ: America/Bogota + +## USER_UID: 1000 + +## USER_GID: 1000 + + USER: yankee + + PASSWORD: yankee + +volumes: + + code: + + driver_opts: + + type: "nfs" + + o: "addr=osiris.yankee.embanet.online,nolock,rw,hard,nfsvers=4" + + device: ":/Code" + + downloads: + + driver_opts: + + type: "nfs" + + o: "addr=osiris.yankee.embanet.online,nolock,rw,hard,nfsvers=4" + + device: ":/Downloads" diff --git a/.trash/dev.bash b/.trash/dev.bash new file mode 100755 index 0000000..9b8a9cd --- /dev/null +++ b/.trash/dev.bash @@ -0,0 +1 @@ +stop;c build; c push; ./compose.bash diff --git a/8ada1506-94b6-491a-bb60-ec828d457c1c.devvv b/8ada1506-94b6-491a-bb60-ec828d457c1c.devvv new file mode 100644 index 0000000..e69de29 diff --git a/Dockerfile b/Dockerfile new file mode 100755 index 0000000..540a318 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,34 @@ +FROM softwareshinobi/valorant-digital-desktop:pristine AS desktopBase + +## + +WORKDIR / + +COPY /provision / + +## + +COPY /provision/media/Backgrounds/desktop.png /usr/share/lxqt/themes/light/simple_blue_widescreen.png + +COPY /provision/media/Backgrounds/desktop.png /usr/local/share/doro-lxde-wallpapers/bg1.jpg +COPY /provision/media/Backgrounds/desktop.png /usr/local/share/doro-lxde-wallpapers/bg2.jpg +COPY /provision/media/Backgrounds/desktop.png /usr/local/share/doro-lxde-wallpapers/bg3.jpg +COPY /provision/media/Backgrounds/desktop.png /usr/local/share/doro-lxde-wallpapers/bg4.jpg + +RUN ls -lha / + +RUN ls -lha /usr/share/lxqt/themes/light/simple_blue_widescreen.png + +## + +RUN bash installs/gnomedownloader.bash + +RUN bash installs/sshserver.bash + +## + +COPY provision/installs/startup/startup.sh /startup.sh + +## + + diff --git a/compose.bash b/compose.bash new file mode 100755 index 0000000..e9b09fb --- /dev/null +++ b/compose.bash @@ -0,0 +1,23 @@ +#!/bin/bash + +## + +set -e + +set -x + +## + +reset + +clear + +## + +## docker compose pull + +docker compose down --remove-orphans + + + +docker compose up --build -d diff --git a/compose.yaml b/compose.yaml new file mode 100755 index 0000000..ffb9648 --- /dev/null +++ b/compose.yaml @@ -0,0 +1,55 @@ +services: + +########################################## +## +## orchestration / yankee-desktop-remix +## +########################################## + + yankee-desktop-remix: + + container_name: yankee-desktop-remix + + image: softwareshinobi/yankee-desktop-remix + + restart: unless-stopped + + build: + + context: . + + dockerfile: Dockerfile + + volumes: + + - /tmp/volumes/yankee/desktop:/home/shinobi + + hostname: yankeedownload + + domainname: desktop.yankee.embaNET.online + + ports: + + - "5922:22" + + - "5980:80" + + - "5900:5900" + + environment: + + TZ: America/Bogota + + USER_UID: 1000 + + USER_GID: 1000 + + USER: yankee + + PASSWORD: yankee + + HTTP_PASSWORD: yankee + + VIRTUAL_HOST: desktop.yankee.embaNET.online + + LETSENCRYPT_HOST: desktop.yankee.embaNET.online diff --git a/dev.bash b/dev.bash new file mode 100755 index 0000000..4a5f42f --- /dev/null +++ b/dev.bash @@ -0,0 +1,34 @@ +#!/bin/bash + +## + +set -e + +set -x + +## + +reset + +clear + +## + +## docker compose pull + +docker compose down --remove-orphans + +echo "pruning..." + +docker container prune -f + + +rm -f *.devvv + +touch touch $(cat /proc/sys/kernel/random/uuid)".devvv" + +ls -lha + +sleep 5 + +docker compose up --build diff --git a/provision/installs/docker.bash b/provision/installs/docker.bash new file mode 100755 index 0000000..a309581 --- /dev/null +++ b/provision/installs/docker.bash @@ -0,0 +1,36 @@ +#!/bin/bash + +sudo apt update; + +sudo apt -y install ca-certificates curl; + +## aptitude package dependency setup + +sudo install -m 0755 -d /etc/apt/keyrings + +sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc + +sudo chmod a+r /etc/apt/keyrings/docker.asc + +echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ + $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ + tee /etc/apt/sources.list.d/docker.list > /dev/null + +## docker compose install + +sudo apt update + +sudo apt purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-compose docker docker.io + +sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin + +## run the sample container + +reset;clear; + +sudo docker run hello-world + +echo +echo "finished installing docker compose." +echo diff --git a/provision/installs/gnomedownloader.bash b/provision/installs/gnomedownloader.bash new file mode 100755 index 0000000..5404737 --- /dev/null +++ b/provision/installs/gnomedownloader.bash @@ -0,0 +1,21 @@ +#!/bin/bash + +## + +echo "##" +echo "## launch > python jms client (aventador JMS)" +echo "##" + +sudo apt update; + +sudo apt install git -y + +sudo apt install pip -y + +pip install stomp.py + +pip install selenium + +## for rest situations + +pip install requests diff --git a/provision/installs/hostname.bash b/provision/installs/hostname.bash new file mode 100755 index 0000000..35ee785 --- /dev/null +++ b/provision/installs/hostname.bash @@ -0,0 +1,17 @@ +#!/bin/bash + +## + +set -e; + +set -x; + +## + +cat /etc/issue; + +echo "Shinobi OS Sian 20.04" > /etc/issue; + +cat /etc/issue; + +## diff --git a/provision/installs/network.bash b/provision/installs/network.bash new file mode 100755 index 0000000..bb62287 --- /dev/null +++ b/provision/installs/network.bash @@ -0,0 +1,24 @@ +#!/bin/bash + +## +## This script installs stuff +## to set up a linux server +## suitable for newbies. +## +## This linux server will be hosted under +## linux.softwareshinobi.digital +## +## Before you go, check read around my blog! +## +## https://www.softwareshinobi.digital +## + + +## Install more software + +apt-get install -y wget net-tools curl nslookup + + +## + +echo "fin." diff --git a/provision/installs/recycle/media.bash b/provision/installs/recycle/media.bash new file mode 100755 index 0000000..6b05e3a --- /dev/null +++ b/provision/installs/recycle/media.bash @@ -0,0 +1,13 @@ + +set -x + +outputDIR=/tmp/media/backgrounds/ + +outputCNT=4 + +ls -lha / + +pwd + +cp /provision/media/Backgrounds/desktop.png /usr/share/lxqt/themes/light/simple_blue_widescreen.png + diff --git a/provision/installs/recycle/netbeans.bash b/provision/installs/recycle/netbeans.bash new file mode 100755 index 0000000..ccd301e --- /dev/null +++ b/provision/installs/recycle/netbeans.bash @@ -0,0 +1,37 @@ +#!/bin/bash + +set -e + +set -x + +## +## create the apps dir and populate with unzipped netbeans content +## + +ls + +mkdir /apps + +cd /apps + +## + +ls + +wget https://dlcdn.apache.org/netbeans/netbeans/21/netbeans-21-bin.zip + +ls + +mv netbeans-21-bin.zip netbeans.zip + +ls + +unzip netbeans.zip + +ls + +pwd + +## +## +## diff --git a/provision/installs/software.bash b/provision/installs/software.bash new file mode 100755 index 0000000..0bc1c3c --- /dev/null +++ b/provision/installs/software.bash @@ -0,0 +1,14 @@ +#!/bin/bash + +## + +set -e; + +set -x; + +## +sudo apt update + +sudo apt install -y recordmydesktop kdenlive shotcut zip keepassx mpv dos2unix git filezilla openjdk-17-jdk maven remmina thunderbird openssh-server sudo vim sshpass + +## diff --git a/provision/installs/sshserver.bash b/provision/installs/sshserver.bash new file mode 100755 index 0000000..b7db540 --- /dev/null +++ b/provision/installs/sshserver.bash @@ -0,0 +1,13 @@ +#!/bin/bash + +apt update; + +apt install -y openssh-server; + +apt install -y sudo; + +service ssh restart; + +## + +echo "fin." diff --git a/provision/installs/startup/startup.sh b/provision/installs/startup/startup.sh new file mode 100755 index 0000000..3ffe160 --- /dev/null +++ b/provision/installs/startup/startup.sh @@ -0,0 +1,114 @@ +#!/bin/bash + +if [ -n "$VNC_PASSWORD" ]; then + echo -n "$VNC_PASSWORD" > /.password1 + x11vnc -storepasswd $(cat /.password1) /.password2 + chmod 400 /.password* + sed -i 's/^command=x11vnc.*/& -rfbauth \/.password2/' /etc/supervisor/conf.d/supervisord.conf + export VNC_PASSWORD= +fi + +if [ -n "$X11VNC_ARGS" ]; then + sed -i "s/^command=x11vnc.*/& ${X11VNC_ARGS}/" /etc/supervisor/conf.d/supervisord.conf +fi + +if [ -n "$OPENBOX_ARGS" ]; then + sed -i "s#^command=/usr/bin/openbox\$#& ${OPENBOX_ARGS}#" /etc/supervisor/conf.d/supervisord.conf +fi + +if [ -n "$RESOLUTION" ]; then + sed -i "s/1024x768/$RESOLUTION/" /usr/local/bin/xvfb.sh +fi + +USER=${USER:-root} +HOME=/root +if [ "$USER" != "root" ]; then + echo "* enable custom user: $USER" + useradd --create-home --shell /bin/bash --user-group --groups adm,sudo $USER + if [ -z "$PASSWORD" ]; then + echo " set default password to \"ubuntu\"" + PASSWORD=ubuntu + fi + HOME=/home/$USER + echo "$USER:$PASSWORD" | chpasswd + cp -r /root/{.config,.gtkrc-2.0,.asoundrc} ${HOME} + chown -R $USER:$USER ${HOME} + [ -d "/dev/snd" ] && chgrp -R adm /dev/snd +fi +sed -i -e "s|%USER%|$USER|" -e "s|%HOME%|$HOME|" /etc/supervisor/conf.d/supervisord.conf + +# home folder +if [ ! -x "$HOME/.config/pcmanfm/LXDE/" ]; then + mkdir -p $HOME/.config/pcmanfm/LXDE/ + ln -sf /usr/local/share/doro-lxde-wallpapers/desktop-items-0.conf $HOME/.config/pcmanfm/LXDE/ + chown -R $USER:$USER $HOME +fi + +# nginx workers +sed -i 's|worker_processes .*|worker_processes 1;|' /etc/nginx/nginx.conf + +# nginx ssl +if [ -n "$SSL_PORT" ] && [ -e "/etc/nginx/ssl/nginx.key" ]; then + echo "* enable SSL" + sed -i 's|#_SSL_PORT_#\(.*\)443\(.*\)|\1'$SSL_PORT'\2|' /etc/nginx/sites-enabled/default + sed -i 's|#_SSL_PORT_#||' /etc/nginx/sites-enabled/default +fi + +# nginx http base authentication +if [ -n "$HTTP_PASSWORD" ]; then + echo "* enable HTTP base authentication" + htpasswd -bc /etc/nginx/.htpasswd $USER $HTTP_PASSWORD + sed -i 's|#_HTTP_PASSWORD_#||' /etc/nginx/sites-enabled/default +fi + +# dynamic prefix path renaming +if [ -n "$RELATIVE_URL_ROOT" ]; then + echo "* enable RELATIVE_URL_ROOT: $RELATIVE_URL_ROOT" + sed -i 's|#_RELATIVE_URL_ROOT_||' /etc/nginx/sites-enabled/default + sed -i 's|_RELATIVE_URL_ROOT_|'$RELATIVE_URL_ROOT'|' /etc/nginx/sites-enabled/default +fi + +# clearup +PASSWORD= +HTTP_PASSWORD= + +touch /tmp/prince-trunks-has-returned + +#### + +echo +echo "hey!" +echo + +#### + +service ssh restart; + +#### + +cd / + +git clone https://code.yankee.embanet.online/yankee/yankee-gnome-fire-consumer.git + +chmod 777 yankee-gnome-fire-consumer -R + +cd yankee-gnome-fire-consumer + +bash provision.bash + +pppwd=`pwd` + +echo " dir / "$pppwd + +echo "python3 $pppwd/consumer.py" | at now + 1 minutes + +##echo "/yankee/go.sh" | at now + 10 minutes + +#### + + +#### + +exec /bin/tini -- supervisord -n -c /etc/supervisor/supervisord.conf + +touch /tmp/prince-trunks-has-returned-after diff --git a/provision/media/Backgrounds/desktop.png b/provision/media/Backgrounds/desktop.png new file mode 100644 index 0000000..46ab9a8 Binary files /dev/null and b/provision/media/Backgrounds/desktop.png differ diff --git a/provision/media/Backgrounds/valorantsoftware.png b/provision/media/Backgrounds/valorantsoftware.png new file mode 100755 index 0000000..977a325 Binary files /dev/null and b/provision/media/Backgrounds/valorantsoftware.png differ diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..e69de29 diff --git a/touch b/touch new file mode 100644 index 0000000..e69de29