mirror of
https://codeberg.org/hyperreal/admin-scripts
synced 2024-11-25 09:03:41 +01:00
Reorganize
This commit is contained in:
parent
ef6c35943d
commit
b8246306d3
158
justfile
Normal file
158
justfile
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
## Justfile (https://github.com/casey/justfile)
|
||||||
|
##
|
||||||
|
## Orange Pi 5+ x 3
|
||||||
|
##
|
||||||
|
## Services:
|
||||||
|
## - ArchiveBox
|
||||||
|
## - Caddy web server
|
||||||
|
## - gmcapsuled
|
||||||
|
## - Mastodon auxiliary scripts
|
||||||
|
## - qBittorrent + WireGuard
|
||||||
|
## - Tailscale
|
||||||
|
## - The Lounge IRC
|
||||||
|
|
||||||
|
debian_codename := `grep "VERSION_CODENAME" /etc/os-release | awk -F= '{print $2}'`
|
||||||
|
run_user := env_var("USER")
|
||||||
|
archivebox_data := "/nfs/archivebox"
|
||||||
|
archivebox_nfs := "10.0.0.6:/mnt/coffeeNAS/archivebox"
|
||||||
|
|
||||||
|
default: common
|
||||||
|
|
||||||
|
common:
|
||||||
|
sudo apt update
|
||||||
|
sudo apt dist-upgrade -y
|
||||||
|
sudo apt install -y \
|
||||||
|
apt-file \
|
||||||
|
apt-listchanges \
|
||||||
|
apt-utils \
|
||||||
|
atop \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
build-essential \
|
||||||
|
byobu \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
firewalld \
|
||||||
|
git \
|
||||||
|
glances \
|
||||||
|
htop \
|
||||||
|
httpie \
|
||||||
|
ifplugd \
|
||||||
|
iotop \
|
||||||
|
less \
|
||||||
|
libpam-systemd \
|
||||||
|
lynis \
|
||||||
|
man-db \
|
||||||
|
manpages \
|
||||||
|
nfs-common \
|
||||||
|
nmon \
|
||||||
|
pipx \
|
||||||
|
python3-dev \
|
||||||
|
python3-pip \
|
||||||
|
rsync \
|
||||||
|
unattended-upgrades \
|
||||||
|
vim \
|
||||||
|
wget \
|
||||||
|
zsh
|
||||||
|
sudo systemctl unmask systemd-logind
|
||||||
|
sudo systemctl enable systemd-logind
|
||||||
|
sudo sed -i 's/INTERFACES=\"\"/INTERFACES=\"eth0\"' /etc/default/ifplugd
|
||||||
|
sudo systemctl enable ifplugd
|
||||||
|
sudo systemctl enable systemd-networkd
|
||||||
|
sudo systemctl enable man-db.timer
|
||||||
|
sudo cp -v "${PWD}/systemd/network/eth0.network" /etc/systemd/network/
|
||||||
|
sudo chown root:root /etc/systemd/network/eth0.network
|
||||||
|
sudo usermod -s /usr/bin/zsh {{run_user}}
|
||||||
|
|
||||||
|
caddy-install:
|
||||||
|
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
|
||||||
|
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' \
|
||||||
|
| sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
|
||||||
|
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' \
|
||||||
|
| sudo tee /etc/apt/sources.list.d/caddy-stable.list
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install caddy
|
||||||
|
sudo rsync -aAXP "${PWD}/caddy/" /etc/caddy
|
||||||
|
|
||||||
|
archivebox-mnt-nfs:
|
||||||
|
sudo mkdir -p {{archivebox_data}}
|
||||||
|
if ! df -h | grep "archivebox"; then \
|
||||||
|
sudo chown -R {{run_user}}:{{run_user}} {{archivebox_data}}; \
|
||||||
|
fi
|
||||||
|
if ! grep "archivebox" /etc/fstab; then \
|
||||||
|
echo "{{archivebox_nfs}} {{archivebox_data}} nfs4 soft,intr,rsize=8192,wsize=8192" \
|
||||||
|
| sudo tee -a /etc/fstab; \
|
||||||
|
fi
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
sudo mount -av
|
||||||
|
|
||||||
|
archivebox-install:
|
||||||
|
sudo apt install -y pipx python3-dev python3-pip nodejs npm curl wget git ripgrep
|
||||||
|
pipx install archivebox
|
||||||
|
pipx install yt-dlp
|
||||||
|
pipx install playwright
|
||||||
|
playwright install --with-deps chromium
|
||||||
|
|
||||||
|
archivebox-init:
|
||||||
|
cd {{archivebox_data}} && archivebox init --setup
|
||||||
|
|
||||||
|
archivebox-setup:
|
||||||
|
cd {{archivebox_data}} && archivebox setup
|
||||||
|
|
||||||
|
gmcapsuled-install:
|
||||||
|
pipx install gmcapsule
|
||||||
|
mkdir -p ~/.config/systemd/user
|
||||||
|
cp -v "${PWD}/systemd/user/gmcapsuled.service" ~/.config/systemd/user/
|
||||||
|
cp -v "${PWD}/gmcapsulerc" ~/.gmcapsulerc
|
||||||
|
|
||||||
|
mastodon-aux-setup:
|
||||||
|
sudo apt install -y rclone
|
||||||
|
sudo cp -v "${PWD}/systemd/system/mastodon"* /etc/systemd/system/
|
||||||
|
sudo cp -v "${PWD}/bin/mastodon-db-backup" /usr/local/bin
|
||||||
|
sudo chown -R root:root /usr/local/bin/mastodon-db-backup
|
||||||
|
sudo chmod 755 /usr/local/bin/mastodon-db-backup
|
||||||
|
sudo systemctl enable --now mastodon-db-backup.timer
|
||||||
|
sudo systemctl enable --now mastodon-to-minio.timer
|
||||||
|
|
||||||
|
thelounge-install:
|
||||||
|
curl -s https://api.github.com/repos/thelounge/thelounge-deb/releases/latest \
|
||||||
|
| grep "browser_download_url.*deb" \
|
||||||
|
| cut -d : -f 2,3 \
|
||||||
|
| tr -d \" \
|
||||||
|
| wget -qi -
|
||||||
|
sudo apt install -y ./thelounge*.deb
|
||||||
|
|
||||||
|
tailscale-install:
|
||||||
|
curl -fsSL https://pkgs.tailscale.com/stable/debian/{{debian_codename}}.noarmor.gpg \
|
||||||
|
| sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
|
||||||
|
curl -fsSL https://pkgs.tailscale.com/stable/debian/{{debian_codename}}.tailscale-keyring.list \
|
||||||
|
| sudo tee /etc/apt/sources.list.d/tailscale.list
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install -y tailscale
|
||||||
|
sudo systemctl enable --now tailscaled
|
||||||
|
sudo tailscale up
|
||||||
|
|
||||||
|
qbt-install:
|
||||||
|
curl -1sLf 'https://dl.cloudsmith.io/public/qbittorrent-cli/qbittorrent-cli/gpg.F8756541ADDA2B7D.key' \
|
||||||
|
| sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/qbittorrent-cli.gpg
|
||||||
|
sudo wget https://repos.fedorovich.com/debian/{{ debian_codename }}/qbittorrent-cli.list \
|
||||||
|
-O /etc/apt/sources.list.d/qbittorrent-cli.list
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install -y qbittorrent-cli
|
||||||
|
mkdir ~/bin
|
||||||
|
cp -v "${PWD}/bin/qbth" ~/bin/
|
||||||
|
cp -v "${PWD}/bin/qbtlist" ~/bin/
|
||||||
|
|
||||||
|
qbittorrent-install:
|
||||||
|
sudo apt install -y qbittorrent-nox wireguard-tools lynx parallel wget curl httpie
|
||||||
|
|
||||||
|
qbittorrent-enable:
|
||||||
|
sudo systemctl enable --now qbittorrent-nox@{{run_user}}.service
|
||||||
|
|
||||||
|
scihub-setup:
|
||||||
|
mkdir ~/scihub-torrent-urls
|
||||||
|
lynx -dump -nonumbers -listonly=on https://libgen.rs/repository_torrent/ \
|
||||||
|
| grep "\.torrent" \
|
||||||
|
| tee scihub-torrent-urls/urls.txt
|
||||||
|
cd scihub-torrent-urls && split -l 60 urls.txt torrent-
|
||||||
|
rm -fv scihub-torrent-urls/urls.txt
|
42
pi0/justfile
42
pi0/justfile
@ -1,42 +0,0 @@
|
|||||||
## Justfile (https://github.com/casey/justfile)
|
|
||||||
##
|
|
||||||
## pi0 - Orange Pi 5+
|
|
||||||
##
|
|
||||||
## Services:
|
|
||||||
## - gmcapsuled
|
|
||||||
## - Mastodon
|
|
||||||
## - Tailscale
|
|
||||||
## - The Lounge IRC
|
|
||||||
|
|
||||||
debian_codename := `grep "VERSION_CODENAME" /etc/os-release | awk -F= '{print $2}'`
|
|
||||||
|
|
||||||
gmcapsuled:
|
|
||||||
pipx install gmcapsule
|
|
||||||
mkdir -p ~/.config/systemd/user
|
|
||||||
cp -v "${PWD}/systemd/user/gmcapsuled.service" ~/.config/systemd/user/
|
|
||||||
cp -v "${PWD}/gmcapsulerc" ~/.gmcapsulerc
|
|
||||||
|
|
||||||
mastodon:
|
|
||||||
sudo apt install -y rclone
|
|
||||||
sudo cp -v "${PWD}/systemd/system/mastodon"* /etc/systemd/system/
|
|
||||||
sudo cp -v "${PWD}/bin/mastodon-db-backup" /usr/local/bin
|
|
||||||
sudo chown -R root:root /usr/local/bin/mastodon-db-backup
|
|
||||||
sudo chmod 755 /usr/local/bin/mastodon-db-backup
|
|
||||||
sudo systemctl enable --now mastodon-db-backup.timer
|
|
||||||
sudo systemctl enable --now mastodon-to-minio.timer
|
|
||||||
|
|
||||||
thelounge:
|
|
||||||
curl -s https://api.github.com/repos/thelounge/thelounge-deb/releases/latest \
|
|
||||||
| grep "browser_download_url.*deb" \
|
|
||||||
| cut -d : -f 2,3 \
|
|
||||||
| tr -d \" \
|
|
||||||
| wget -qi -
|
|
||||||
sudo apt install -y ./thelounge*.deb
|
|
||||||
|
|
||||||
tailscale:
|
|
||||||
curl -fsSL https://pkgs.tailscale.com/stable/debian/{{ debian_codename }}.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
|
|
||||||
curl -fsSL https://pkgs.tailscale.com/stable/debian/{{ debian_codename }}.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list
|
|
||||||
sudo apt update
|
|
||||||
sudo apt install -y tailscale
|
|
||||||
sudo systemctl enable --now tailscaled
|
|
||||||
sudo tailscale up
|
|
31
pi1/justfile
31
pi1/justfile
@ -1,31 +0,0 @@
|
|||||||
## Justfile (https://github.com/casey/justfile)
|
|
||||||
##
|
|
||||||
## pi1 - Orange Pi 5+
|
|
||||||
##
|
|
||||||
## Services:
|
|
||||||
## - qBittorrent
|
|
||||||
## - ProtonVPN via Wireguard
|
|
||||||
|
|
||||||
debian_codename := `grep "VERSION_CODENAME" /etc/os-release | awk -F= '{print $2}'`
|
|
||||||
run_user := env_var("USER")
|
|
||||||
|
|
||||||
qbt:
|
|
||||||
curl -1sLf 'https://dl.cloudsmith.io/public/qbittorrent-cli/qbittorrent-cli/gpg.F8756541ADDA2B7D.key' | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/qbittorrent-cli.gpg
|
|
||||||
sudo wget https://repos.fedorovich.com/debian/{{ debian_codename }}/qbittorrent-cli.list -O /etc/apt/sources.list.d/qbittorrent-cli.list
|
|
||||||
sudo apt update
|
|
||||||
sudo apt install -y qbittorrent-cli
|
|
||||||
mkdir ~/bin
|
|
||||||
cp -v "${PWD}/bin/qbth" ~/bin/
|
|
||||||
cp -v "${PWD}/bin/qbtlist" ~/bin/
|
|
||||||
|
|
||||||
install:
|
|
||||||
sudo apt install -y qbittorrent-nox wireguard-tools lynx parallel wget curl
|
|
||||||
|
|
||||||
enable:
|
|
||||||
sudo systemctl enable --now qbittorrent-nox@{{ run_user }}.service
|
|
||||||
|
|
||||||
scihub:
|
|
||||||
mkdir ~/scihub-torrent-urls
|
|
||||||
lynx -dump -nonumbers -listonly=on https://libgen.rs/repository_torrent/ | grep "\.torrent" | tee scihub-torrent-urls/urls.txt
|
|
||||||
cd scihub-torrent-urls && split -l 60 urls.txt torrent-
|
|
||||||
rm -fv scihub-torrent-urls/urls.txt
|
|
30
pi2/justfile
30
pi2/justfile
@ -1,30 +0,0 @@
|
|||||||
## Justfile (https://github.com/casey/just)
|
|
||||||
##
|
|
||||||
## Services:
|
|
||||||
## - archivebox
|
|
||||||
|
|
||||||
data_dir := "/nfs/archivebox"
|
|
||||||
nfs_mnt := "10.0.0.6:/mnt/coffeeNAS/archivebox"
|
|
||||||
run_user := env_var("USER")
|
|
||||||
|
|
||||||
default: env install
|
|
||||||
|
|
||||||
env:
|
|
||||||
sudo mkdir -p {{ data_dir }}
|
|
||||||
sudo chown -R {{ run_user }}:{{ run_user }} {{ data_dir }}
|
|
||||||
echo "{{ nfs_mnt }} {{ data_dir }} nfs4 soft,intr,rsize=8192,wsize=8192" | sudo tee -a /etc/fstab
|
|
||||||
sudo systemctl daemon-reload
|
|
||||||
sudo mount -av
|
|
||||||
|
|
||||||
install:
|
|
||||||
sudo apt install -y pipx python3-dev python3-pip nodejs npm curl wget git ripgrep
|
|
||||||
pipx install archivebox
|
|
||||||
pipx install yt-dlp
|
|
||||||
pipx install playwright
|
|
||||||
playwright install --with-deps chromium
|
|
||||||
|
|
||||||
init:
|
|
||||||
cd {{ data_dir }} && archivebox init --setup
|
|
||||||
|
|
||||||
setup:
|
|
||||||
cd {{ data_dir }} && archivebox setup
|
|
5
systemd/network/eth0.network
Normal file
5
systemd/network/eth0.network
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Match]
|
||||||
|
Name=eth0
|
||||||
|
|
||||||
|
[Network]
|
||||||
|
DHCP=yes
|
Loading…
Reference in New Issue
Block a user