scripts
This commit is contained in:
parent
9a0c54adb3
commit
a3526fc415
7 changed files with 232 additions and 0 deletions
3
README.md
Normal file
3
README.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Hello World!
|
||||||
|
|
||||||
|
A collection of useful scripts
|
42
backup/homedir-backup.sh
Normal file
42
backup/homedir-backup.sh
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Get today's date for our backup filename
|
||||||
|
backupDate=$(date +'%F')
|
||||||
|
|
||||||
|
# Enter backup directory
|
||||||
|
cd /backup || exit
|
||||||
|
echo "Moving to backup directory..."
|
||||||
|
|
||||||
|
# Clear old log files
|
||||||
|
rm -rf *.log
|
||||||
|
echo "Log files cleared..." | tee -a $backupDate-rob-homedir-backup.log
|
||||||
|
|
||||||
|
# Display todays date
|
||||||
|
echo "Backup Log - Rob's Home Directory" | tee -a $backupDate-rob-homedir-backup.log
|
||||||
|
echo $backupDate | tee -a $backupDate-rob-homedir-backup.log
|
||||||
|
|
||||||
|
# Create tar of docker directory
|
||||||
|
echo "Creating a tar archive of your docker parent folder..." | tee -a $backupDate-rob-homedir-backup.log
|
||||||
|
|
||||||
|
echo "EXCLUDING ./Downloads & ./VirtualBoxVMs" | tee -a $backupDate-rob-homedir-backup.log
|
||||||
|
|
||||||
|
tar -czvf --exclude='./Downloads' --exclude='./VirtualBoxVMs' $backupDate-rob-homedir-backup.tar.gz /home/rob
|
||||||
|
|
||||||
|
|
||||||
|
echo "Uploading backup file to BackBlaze..." | & tee -a $backupDate-rob-homedir-backup.log
|
||||||
|
rclone copy $backupDate-rob-homedir-backup.tar.gz b2:workhorse-laptop --progress >> $backupDate-rob-homedir-backup.log 2>&1
|
||||||
|
|
||||||
|
# remove the tar file from the main home folder after it's copied
|
||||||
|
echo "Removing local backup cache..." | tee -a rob-homedir-backup-$backupDate.log
|
||||||
|
rm -rf $backupDate-rob-homedir-backup.tar.gz >> rob-homedir-backup-$backupDate.log 2>&1
|
||||||
|
|
||||||
|
# Run System Update
|
||||||
|
echo "Running System Update..." | tee -a rob-homedir-backup-$backupDate.log
|
||||||
|
apt update && apt upgrade -y && apt autoremove -y | tee -a rob-homedir-backup-$backupDate.log
|
||||||
|
|
||||||
|
# Email log to an email address
|
||||||
|
# sendmail -s "Home Directory Backup Completed" rgmcewan@outlook.com < docker-$backupDate.log
|
||||||
|
|
||||||
|
# Email log to an email address using postfix
|
||||||
|
echo "Robs Home Directory backup | Complete" | tee -a rob-homedir-backup-$backupDate.log
|
||||||
|
#/usr/sbin/sendmail -t -v rgmcewan@outlook.com < echo rob-homedir-backup-$backupDate.log
|
39
backup/workhorse-laptop-backup.sh
Normal file
39
backup/workhorse-laptop-backup.sh
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Get today's date for our backup filename
|
||||||
|
backupDate=$(date +'%F')
|
||||||
|
|
||||||
|
# Enter backup directory
|
||||||
|
cd /backup || exit
|
||||||
|
echo "Moving to backup directory..."
|
||||||
|
|
||||||
|
# Clear old log files
|
||||||
|
rm -rf *.log
|
||||||
|
echo "Log files cleared..." | tee -a rob-homedir-$backupDate.log
|
||||||
|
|
||||||
|
# Display todays date
|
||||||
|
echo "Backup Log - Rob's Home Directory" | tee -a rob-homedir-$backupDate.log
|
||||||
|
echo $backupDate | tee -a rob-homedir-$backupDate.log
|
||||||
|
|
||||||
|
# Create tar of docker directory
|
||||||
|
echo "Creating a tar archive of your docker parent folder..." | tee -a rob-homedir-$backupDate.log
|
||||||
|
tar -czvf $backupDate-rob-homedir-backup.tar.gz /home/rob
|
||||||
|
|
||||||
|
|
||||||
|
echo "Uploading backup file to BackBlaze..." | tee -a rob-homedir-$backupDate.log
|
||||||
|
rclone copy $backupDate-rob-homedir-backup.tar.gz backblaze:workhorse-laptop --progress >> rob-homedir-$backupDate.log 2>&1
|
||||||
|
|
||||||
|
# remove the tar file from the main home folder after it's copied
|
||||||
|
echo "Removing local backup cache..." | tee -a rob-homedir-backup-$backupDate.log
|
||||||
|
rm -rf $backupDate-rob-homedir-backup.tar.gz >> rob-homedir-backup-$backupDate.log 2>&1
|
||||||
|
|
||||||
|
# Run System Update
|
||||||
|
echo "Running System Update..." | tee -a rob-homedir-backup-$backupDate.log
|
||||||
|
apt update && apt upgrade -y && apt autoremove -y | tee -a rob-homedir-backup-$backupDate.log
|
||||||
|
|
||||||
|
# Email log to an email address
|
||||||
|
# sendmail -s "Docker Backup Completed" rgmcewan@outlook.com < docker-$backupDate.log
|
||||||
|
|
||||||
|
# Email log to an email address using postfix
|
||||||
|
#echo "Docker backup | Complete" | tee -a docker-$backupDate.log
|
||||||
|
#/usr/sbin/sendmail -t -v rgmcewan@outlook.com < docker-$backupDate.log
|
16
docker-compose/open-webui-docker-compose.yml
Normal file
16
docker-compose/open-webui-docker-compose.yml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
services:
|
||||||
|
open-webui:
|
||||||
|
build:
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
image: ghcr.io/open-webui/open-webui:${WEBUI_DOCKER_TAG-main}
|
||||||
|
container_name: open-webui
|
||||||
|
volumes:
|
||||||
|
- /home/rob/docker/open-webui:/app/backend/data
|
||||||
|
ports:
|
||||||
|
- ${OPEN_WEBUI_PORT-3000}:8080
|
||||||
|
environment:
|
||||||
|
- 'OLLAMA_BASE_URL=http://172.16.50.56:11434'
|
||||||
|
- 'WEBUI_SECRET_KEY='
|
||||||
|
extra_hosts:
|
||||||
|
- host.docker.internal:host-gateway
|
||||||
|
restart: unless-stopped
|
69
docker-compose/radius-docker-compose.yml
Normal file
69
docker-compose/radius-docker-compose.yml
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
services:
|
||||||
|
|
||||||
|
mysql:
|
||||||
|
image: mysql:5.7.22
|
||||||
|
container_name: fradmin-mysql
|
||||||
|
volumes:
|
||||||
|
- /home/rob/docker/radius/srv/conf.d:/etc/mysql/conf.d
|
||||||
|
- /home/rob/docker/radius/mysql/srv/initdb.d:/docker-entrypoint-initdb.d
|
||||||
|
- /home/rob/docker/radius/mysql/srv/data:/var/lib/mysql
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD: hadxSWzzA50B82NRff8p
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
|
||||||
|
nginx:
|
||||||
|
image: nginx
|
||||||
|
container_name: fradmin-nginx
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
- php
|
||||||
|
volumes:
|
||||||
|
- "/home/rob/docker/radius/web/src:/var/www/html"
|
||||||
|
- "/home/rob/docker/radius/web/conf.d:/etc/nginx/conf.d"
|
||||||
|
ports:
|
||||||
|
- "8082:80"
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
php:
|
||||||
|
build:
|
||||||
|
context: /home/rob/docker/radius/php
|
||||||
|
container_name: fradmin-php
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- "/home/rob/docker/radius/web/src:/var/www/html"
|
||||||
|
|
||||||
|
phpmyadmin:
|
||||||
|
image: phpmyadmin/phpmyadmin
|
||||||
|
container_name: fradmin-pma
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
environment:
|
||||||
|
- PMA_HOST=mysql
|
||||||
|
- PMA_USER=root
|
||||||
|
- PMA_PASSWORD=hadxSWzzA50B82NRff8p
|
||||||
|
ports:
|
||||||
|
- "9200:80"
|
||||||
|
|
||||||
|
radius:
|
||||||
|
image: freeradius/freeradius-server:3.0.17
|
||||||
|
container_name: fradmin-radius
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
ports:
|
||||||
|
- "1812:1812"
|
||||||
|
- "1813:1813"
|
||||||
|
volumes:
|
||||||
|
- "/home/rob/docker/radius/freeradius/config/freeradius:/etc/freeradius"
|
||||||
|
- "/home/rob/docker/radius/freeradius/logs:/var/log/freeradius"
|
||||||
|
|
||||||
|
restart: unless-stopped
|
||||||
|
#tty: true
|
||||||
|
|
||||||
|
radtest:
|
||||||
|
build: /home/rob/docker/radius/radtest
|
||||||
|
container_name: fradmin-radtest
|
||||||
|
depends_on:
|
||||||
|
- radius
|
||||||
|
restart: unless-stopped
|
||||||
|
tty: true
|
23
docker-compose/transmission-docker-compose.yml
Normal file
23
docker-compose/transmission-docker-compose.yml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
services:
|
||||||
|
transmission:
|
||||||
|
image: lscr.io/linuxserver/transmission:latest
|
||||||
|
container_name: transmission
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Australia/Brisbane
|
||||||
|
# - TRANSMISSION_WEB_HOME= #optional
|
||||||
|
# - USER= #optional
|
||||||
|
# - PASS= #optional
|
||||||
|
# - WHITELIST= #optional
|
||||||
|
# - PEERPORT= #optional
|
||||||
|
# - HOST_WHITELIST= #optional
|
||||||
|
volumes:
|
||||||
|
- /home/rob/docker/transmission/data:/config
|
||||||
|
- /mnt/downloads:/downloads
|
||||||
|
- /mnt/media:/watch
|
||||||
|
ports:
|
||||||
|
- 9091:9091
|
||||||
|
- 51413:51413
|
||||||
|
- 51413:51413/udp
|
||||||
|
restart: unless-stopped
|
40
docker-compose/wireguard-docker-compose.yml
Normal file
40
docker-compose/wireguard-docker-compose.yml
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
services:
|
||||||
|
wireguard:
|
||||||
|
image: linuxserver/wireguard:latest
|
||||||
|
container_name: wireguard
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN
|
||||||
|
volumes:
|
||||||
|
- /home/rob/docker/wireguard/config:/config
|
||||||
|
ports:
|
||||||
|
# port for wireguard-ui. this must be set here as the `wireguard-ui` container joins the network of this container and hasn't its own network over which it could publish the ports
|
||||||
|
- "5000:5000"
|
||||||
|
# port of the wireguard server
|
||||||
|
- "51820:51820/udp"
|
||||||
|
|
||||||
|
wireguard-ui:
|
||||||
|
image: ngoduykhanh/wireguard-ui:latest
|
||||||
|
container_name: wireguard-ui
|
||||||
|
depends_on:
|
||||||
|
- wireguard
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN
|
||||||
|
# use the network of the 'wireguard' service. this enables to show active clients in the status page
|
||||||
|
network_mode: service:wireguard
|
||||||
|
environment:
|
||||||
|
- SENDGRID_API_KEY
|
||||||
|
- EMAIL_FROM_ADDRESS
|
||||||
|
- EMAIL_FROM_NAME
|
||||||
|
- SESSION_SECRET
|
||||||
|
- WGUI_USERNAME=rob.mcewan
|
||||||
|
- WGUI_PASSWORD=5b4wBnqU3J739e3y37hJ
|
||||||
|
- WG_CONF_TEMPLATE
|
||||||
|
- WGUI_MANAGE_START=true
|
||||||
|
- WGUI_MANAGE_RESTART=true
|
||||||
|
logging:
|
||||||
|
driver: json-file
|
||||||
|
options:
|
||||||
|
max-size: 50m
|
||||||
|
volumes:
|
||||||
|
- /home/rob/docker/wireguard/db:/app/db
|
||||||
|
- /home/rob/docker/wireguard/config:/etc/wireguard
|
Loading…
Reference in a new issue