#!/bin/sh install_prerequisite_software () { if [ -n "$(which git)" ] & [ -n "$(which podman)" ] & [ -n "$(which podman-compose)" ] then echo "Git, podman and podman-compose are already installed." elif [ -n "$(which apk)" ] then apk update apk add git podman podman-compose elif [ -n "$(which apt-get)" ] then apt-get update apt-get install git podman podman-compose -y elif [ -n "$(which dnf)" ] then dnf install git podman podman-compose elif [ -n "$(which yum)" ] then yum install git podman podman-compose elif [ -n "$(which pacman)" ] then pacman -S git podman podman-compose else echo "Could not install Git: could not identify package manager." exit 1 fi } clone_repository () { cd ${LIB_DIR:-/lib} git clone https://git.joeac.net/joeac/joeac.net.git cd joeac.net chmod +x uninstall.sh update_and_restart.sh restart.sh } add_cron_services () { echo <<- EOF > ${CRONTABS_DIR:-/etc/cron.d}/joeacnet @reboot ${LIB_DIR:-/lib}/joeac.net/restart.sh 10 * * * * ${LIB_DIR:-/lib}/joeac.net/update_and_restart.sh EOF } collect_env_vars () { if [ -z "$AWS_ACCESS_KEY_ID" ] then read -p "Backup S3 bucket key ID: " AWS_ACCESS_KEY_ID fi if [ -z "$AWS_SECRET_ACCESS_KEY" ] then read -sp "Backup S3 bucket secret key: " AWS_SECRET_ACCESS_KEY fi if [ -z "$RESTIC_PASSWORD" ] then read -sp "Restic repository password: " RESTIC_PASSWORD fi if [ -z "$JOEAC_PASSWORD" ] then read -sp "Website admin password: " JOEAC_PASSWORD fi APP_ENV=prod DATABASE_URL="sqlite:///%kernel.project_dir%/var/app.db" MESSENGER_TRANSPORT_DSN=doctrine://default env >> resticprofile/.env env >> symfony/.env } set -eux install_prerequisite_software clone_repository add_cron_services set -eu collect_env_vars ./restart.sh