#!/bin/bash # Exit on errors set -e # Variables USER_HOME="/data" SITE_NAME="stg-jekyll" BARE_REPO="$USER_HOME/repos/$SITE_NAME.git" SITE_DIR="$USER_HOME/sites/$SITE_NAME" PUBLIC_DIR="$SITE_DIR/html" DOMAIN="sanderstechnologygroup.com" NGINX_CONF="/etc/nginx/sites-available/$DOMAIN.conf" # Update and install dependencies sudo apt update sudo apt install -y ruby-full build-essential zlib1g-dev git nginx # Setup Ruby environment in .bashrc if not already present if ! grep -q 'export GEM_HOME' "$USER_HOME/.bashrc"; then echo 'export GEM_HOME="$HOME/gems"' >> "$USER_HOME/.bashrc" echo 'export PATH="$HOME/gems/bin:$PATH"' >> "$USER_HOME/.bashrc" fi # Load environment export GEM_HOME="$USER_HOME/gems" export PATH="$USER_HOME/gems/bin:$PATH" # Install Jekyll and Bundler gem install jekyll bundler # Create directories mkdir -p "$BARE_REPO" "$SITE_DIR" "$PUBLIC_DIR" # Setup Git bare repo cd "$BARE_REPO" git init --bare # Create post-receive hook cat > hooks/post-receive < /dev/null <