#!/bin/bash # CGit + Nginx Setup Script with Certbot SSL # Usage: ./cgit-setup.sh # Example: ./cgit-setup.sh sg2.0nom.ch hc@email.ch set -e # Check arguments if [ $# -ne 2 ]; then echo "Usage: $0 " echo "Example: $0 domain.com name@email.com" exit 1 fi DOMAIN="$1" EMAIL="$2" echo "Starting CGit + Nginx setup for $DOMAIN with email $EMAIL..." # Update system and install dependencies echo "Installing dependencies..." sudo dnf install -y epel-release sudo dnf install -y tmux git nginx fcgiwrap git gcc make openssl-devel zlib-devel sudo dnf install -y certbot python3-certbot-nginx # Clone and build cgit echo "Building cgit..." if [ ! -d "cgit" ]; then git clone https://git.zx2c4.com/cgit fi cd cgit git submodule init git submodule update make sudo make install cd .. # Create directories and set permissions echo "Setting up directories..." sudo mkdir -p /git /var/www/htdocs/cgit sudo chown -R nginx:nginx /var/www/htdocs/cgit sudo chgrp -R nginx /git sudo chmod -R g+s /git sudo chmod -R 775 /git # Configure cgit echo "Configuring cgit..." sudo tee /etc/cgitrc > /dev/null < /dev/null <