automated terminal push

This commit is contained in:
Your Name
2025-02-07 14:40:21 -05:00
parent 7bec6a448c
commit a8c03cdfb3
21 changed files with 515 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
#!/bin/bash
##
reset
clear
##
#set -e
#set -x
docker compose down --remove-orphans
docker compose up -d

View File

@@ -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"

1
.trash/dev.bash Executable file
View File

@@ -0,0 +1 @@
stop;c build; c push; ./compose.bash

34
Dockerfile Executable file
View File

@@ -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
##

23
compose.bash Executable file
View File

@@ -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

55
compose.yaml Executable file
View File

@@ -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

34
dev.bash Executable file
View File

@@ -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

36
provision/installs/docker.bash Executable file
View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,17 @@
#!/bin/bash
##
set -e;
set -x;
##
cat /etc/issue;
echo "Shinobi OS Sian 20.04" > /etc/issue;
cat /etc/issue;
##

24
provision/installs/network.bash Executable file
View File

@@ -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."

View File

@@ -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

View File

@@ -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
##
##
##

View File

@@ -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
##

View File

@@ -0,0 +1,13 @@
#!/bin/bash
apt update;
apt install -y openssh-server;
apt install -y sudo;
service ssh restart;
##
echo "fin."

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

0
readme.md Normal file
View File

0
touch Normal file
View File