Compare commits

...

3 Commits

Author SHA1 Message Date
alban
67ed0cb9e0 [fix] cleanup 2020-09-24 15:45:46 +02:00
alban
3422f8b467 [fix] remove supervisor file 2020-09-24 15:45:46 +02:00
alban
5996274075 [fix] .bashrc disappeared... 2020-09-24 15:45:46 +02:00
4 changed files with 211 additions and 125 deletions

View File

@ -2,24 +2,21 @@
"variables":{ "variables":{
"user":"root", "user":"root",
"password":"laser", "password":"laser",
"disk_size": "100000", "disk_size":"5G",
"domain":"" "domain":""
}, },
"builders":[ "builders":[
{ {
"type":"lxc", "type":"lxc",
"name":"teamlaser-lj-lxc", "name":"teamlaser-lj-lxc",
"config_file":"files/lxc/config", "config_file":"files/lxc/config",
"template_name":"debian", "template_name":"debian",
"template_environment_vars": ["SUITE=buster"], "template_environment_vars":[
"SUITE=buster"
],
"output_directory":"output-lxc" "output_directory":"output-lxc"
}, },
{ {
"headless":false, "headless":false,
"name":"teamlaser-lj", "name":"teamlaser-lj",
"type":"qemu", "type":"qemu",
@ -34,12 +31,13 @@
"ssh_username":"{{ user `user` }}", "ssh_username":"{{ user `user` }}",
"ssh_password":"{{ user `password` }}", "ssh_password":"{{ user `password` }}",
"shutdown_command":"echo '{{ user `password` }}' | sudo -S shutdown -h now", "shutdown_command":"echo '{{ user `password` }}' | sudo -S shutdown -h now",
"ssh_wait_timeout":"60m", "ssh_wait_timeout":"60m",
"qemuargs":[ "qemuargs":[
[ "-m", "2048M" ] [
"-m",
"2048M"
]
], ],
"boot_wait":"2s", "boot_wait":"2s",
"boot_command":[ "boot_command":[
"<esc><wait><wait>", "<esc><wait><wait>",
@ -51,10 +49,7 @@
"<enter>" "<enter>"
] ]
}, },
{ {
"headless":false, "headless":false,
"name":"teamlaser-lj-xfce", "name":"teamlaser-lj-xfce",
"type":"qemu", "type":"qemu",
@ -69,12 +64,13 @@
"ssh_username":"{{ user `user` }}", "ssh_username":"{{ user `user` }}",
"ssh_password":"{{ user `password` }}", "ssh_password":"{{ user `password` }}",
"shutdown_command":"echo '{{ user `password` }}' | sudo -S shutdown -h now", "shutdown_command":"echo '{{ user `password` }}' | sudo -S shutdown -h now",
"ssh_wait_timeout":"60m", "ssh_wait_timeout":"60m",
"qemuargs":[ "qemuargs":[
[ "-m", "2048M" ] [
"-m",
"2048M"
]
], ],
"boot_wait":"2s", "boot_wait":"2s",
"boot_command":[ "boot_command":[
"<esc><wait><wait>", "<esc><wait><wait>",
@ -87,7 +83,6 @@
] ]
} }
], ],
"provisioners":[ "provisioners":[
{ {
"type":"shell", "type":"shell",
@ -95,6 +90,7 @@
"sleep 3", "sleep 3",
"apt update", "apt update",
"apt install -y --no-install-recommends cmake git libasound2-dev libjack-dev libsdl1.2-dev network-manager nginx portaudio19-dev python3-dev python3-pip python3-rtmidi redis-server screen ssh ssl-cert ", "apt install -y --no-install-recommends cmake git libasound2-dev libjack-dev libsdl1.2-dev network-manager nginx portaudio19-dev python3-dev python3-pip python3-rtmidi redis-server screen ssh ssl-cert ",
"rm -f /etc/nginx/sites-enabled/default",
"pip3 install setuptools", "pip3 install setuptools",
"pip3 install DMXEnttecPro mido numpy pysimpledmx redis scipy ", "pip3 install DMXEnttecPro mido numpy pysimpledmx redis scipy ",
"git clone https://github.com/ptone/pyosc --depth 1 /tmp/pyosc && cd /tmp/pyosc && ./setup.py install ", "git clone https://github.com/ptone/pyosc --depth 1 /tmp/pyosc && cd /tmp/pyosc && ./setup.py install ",

View File

@ -1,12 +1,21 @@
server { server {
listen 443 ssl; listen 80;
listen [::]:443 ssl; listen [::]:80;
ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
server_name _; server_name _;
root /opt/LJ/www; root /opt/LJ/www;
index index.html index.htm index.nginx-debian.html; return 301 https://localhost$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name _;
ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
root /opt/LJ/www;
index index.html index.htm;
} }

87
files/root/.bashrc Normal file
View File

@ -0,0 +1,87 @@
cd /opt/LJ
echo -e "\n\e[1;31m"
cat << HEREDOC
\ \ / | | | |
\ \ \ / _ \ | __| _ \ __ \__ \ _ \ __| _ \ | |
\ \ \ / __/ | ( ( | | | | __/ | ( | | \ |
\_/\_/ \___| _| \___| \___/ _| _| _| \___| \__| \___/ _____| \___/
HEREDOC
echo -e "\e[0m\n"
# Check the ip address on the machine
checkNetwork(){
echo -e "\Checking network connectivity..."
ping=$( ping 1.1.1.1 -c 1 -W 2 &>/dev/null; echo $?;)
# Net is working, escape
if [[ 0 -eq $ping ]] ; then
echo -e "\n OK, Use this IP Address for GUEST_IP : $( ip address show | grep global | awk '{print $2}'|sed -e 's=/.*==' ) \n"
return
fi
echo -e "\nSeems you can't reach internet..."
# Get the ethernet interface
# 772 is the loopback device, cf. http://lxr.linux.no/linux+v3.0/include/linux/if_arp.h#L67
for f in /sys/class/net/* ; do
[[ 772 != $(cat "$f/type" ) ]] && interface=$(basename $f)
done
if [[ -z "$interface" ]] ; then
echo -e "\e[31mFatal Error : no network interface configured.";
# Eventually, use nm-tui for a graphical (ncurses install)
read -e -p "(Experts only) Do you want to set up network via network-manager UI? [yN]: "
[[ "${REPLY^^}" == "Y" ]] && { nmtui; return; }
else
echo "OK, network interface '$interface' found"
fi
# Ensure the interface is up
ip l set $interface up
ipList=$( ip address show | grep global )
ipRoute=$( ip route show | grep default )
[[ -z "$ipList" ]] && {
echo -e "\nNo IP address configured. Please set one."
read -e -i '192.168.1.90/24' -p "Which address and range do you want to use (or 'x' to skip)? " ipAddr
[[ 'x' != "$ipAddr" ]] && {
ip address add $ipAddr dev $interface
}
}
[[ -z "$ipRoute" ]] && {
echo -e "\nNo IP route configured. Please set one."
read -e -i '192.168.1.1' -p "Which routing address do you want to use (or 'x' to skip)? " ipAddr
[[ 'x' != "$ipAddr" ]] && {
ip route add default via $ipAddr dev $interface
}
}
}
checkNetwork
[[ ! -f /tmp/.first_run ]] && {
touch /tmp/.first_run ;
echo -e "\e[1mCaution! configuring the server and lasers network is mandatory for the app to work."
echo -e "Type the "c" key immediately to start the configuration."
echo -e "\e[0m"
echo -e "Everytime you will login, the configure and documentation options will be offered to you."
echo -e "Or use the commands 'config' or 'usage' any time to access the same functions."
echo -e "\e[0m"
}
config(){ cd /opt/LJ ; /usr/bin/python3 configure.py; }
usage(){ cat /opt/LJ/README.md; }
echo -e "\e[1m"
read -e -n 1 -p "Do you want to (c)onfigure the app, (r)ead documentation, or (n)othing: "
echo -e "\e[0m"
case $REPLY in
(c):
config
;;
(r):
usage
;;
esac

View File

@ -1,6 +0,0 @@
[program:syncthing]
autorestart = True
directory = /home/teamlaser15/codesync
user = teamlaser15
command = /usr/bin/syncthing -no-browser -home="/home/teamlaser15/codesync/.config/syncthing"
environment = STNORESTART="1", HOME="/home/teamlaser15/codesync/"