#!/bin/sh # Run me: # curl https://git.joeac.net/joeac/joeac.net.net/raw/branch/main/install.sh | sudo -E 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 echo "Please provide AWS_ACCESS_KEY_ID." exit 1 fi if [ -z "$AWS_SECRET_ACCESS_KEY" ] then echo "Please provide AWS_SECRET_ACCESS_KEY." exit 1 fi if [ -z "$RESTIC_PASSWORD" ] then echo "Please provide RESTIC_PASSWORD." exit 1 fi if [ -z "$JOEAC_PASSWORD" ] then echo "Please provide JOEAC_PASSWORD." exit 1 fi echo << EOF > resticprofile/.env export AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID}" export AWS_SECRET_ACCESS_KEY="${AWS_SECRET_ACCESS_KEY}" export RESTIC_PASSWORD="${RESTIC_PASSWORD}" EOF echo << EOF > symfony/.env APP_ENV=prod DATABASE_URL="sqlite:///%kernel.project_dir%/var/app.db" JOEAC_PASSWORD="${JOEAC_PASSWORD}" MESSENGER_TRANSPORT_DSN=doctrine://default EOF } set -eux install_prerequisite_software clone_repository add_cron_services set -e +ux collect_env_vars ./restart.sh