This commit is contained in:
Rob McEwan 2025-03-14 11:49:09 +10:00
parent 9a0c54adb3
commit a3526fc415
7 changed files with 232 additions and 0 deletions

3
README.md Normal file
View file

@ -0,0 +1,3 @@
Hello World!
A collection of useful scripts

42
backup/homedir-backup.sh Normal file
View 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

View 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

View 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

View 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

View 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

View 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