mirror of
https://codeberg.org/hyperreal/admin-scripts
synced 2024-11-01 16:03:06 +01:00
135 lines
4.7 KiB
Makefile
135 lines
4.7 KiB
Makefile
## 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
|
|
|
|
distro := `grep -G "\bID\b" /etc/os-release | awk -F= '{print $2}'`
|
|
release := `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 \
|
|
rclone \
|
|
rsync \
|
|
unattended-upgrades \
|
|
vim \
|
|
wget \
|
|
zsh
|
|
sudo systemctl enable man-db.timer
|
|
|
|
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
|
|
|
|
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
|
|
|
|
mastodon-aux-setup:
|
|
sudo cp -v "${PWD}/bin/mastodon-to-minio" /usr/local/bin/
|
|
sudo chmod +x /usr/local/bin/mastodon-to-minio
|
|
sudo cp -v "${PWD}/systemd/system/mastodon-to-minio.service" /etc/systemd/system/
|
|
sudo cp -v "${PWD}/systemd/system/mastodon-to-minio.timer" /etc/systemd/system/
|
|
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://tailscale.com/install.sh | sh
|
|
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.fedarovich.com/{{distro}}/{{release}}/qbittorrent-cli.list -O /etc/apt/sources.list.d/qbittorrent-cli.list
|
|
sudo apt update
|
|
sudo apt install -y qbittorrent-cli
|
|
|
|
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 ~/scihub-torrent-urls/urls.txt torrent-
|
|
rm -fv ~/scihub-torrent-urls/urls.txt
|
|
|
|
docker-install:
|
|
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt remove $pkg; done
|
|
|
|
sudo apt update
|
|
sudo apt install -y ca-certificates curl
|
|
sudo install -m 0755 -d /etc/apt/keyrings
|
|
sudo curl -fsSL https://download.docker.com/linux/{{distro}}/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/{{distro}} {{release}} stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
|
sudo apt update
|
|
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose docker-compose-plugin
|
|
sudo systemctl enable --now docker.service
|
|
sudo usermod -aG docker {{run_user}}
|