91 lines
2.6 KiB
Plaintext
91 lines
2.6 KiB
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
#######################################################################################
|
||
|
# First Created: 25012024 Author: Allan Desc: Gitea multi instance postinstall script #
|
||
|
#######################################################################################
|
||
|
|
||
|
#
|
||
|
# Are we root
|
||
|
#
|
||
|
if [[ $(id -u) -ne 0 ]]; then echo "" && echo "Must be root or use sudo" && echo ""; exit 1; fi
|
||
|
#
|
||
|
# Are we in the right directory
|
||
|
#
|
||
|
scriptdir="gitea-multi-install" && whereami=$(pwd |awk -F'/' '{print $NF}')
|
||
|
if [ $whereami != $scriptdir ]; then printf "\nWrong directory! Script must be run from $scriptdir\n\n"; exit 1; fi
|
||
|
#
|
||
|
# Define variables and functions
|
||
|
#
|
||
|
line (){ for i in {1..50}; do echo -n "$1"; done && printf "\n"; }
|
||
|
giteauser=$(head -1 giteainfo)
|
||
|
giteaport=$(head -2 giteainfo |sed '1d')
|
||
|
hostname=$(tail -1 giteainfo)
|
||
|
#
|
||
|
# Function to check if a service is already running or not
|
||
|
#
|
||
|
serviceno () { printf "\n$service is not running cannot continue...\n\n"; }
|
||
|
servicedead () { status=$(systemctl is-active $service); if [[ "$status" != "active" ]]; then serviceno ; exit; fi; }
|
||
|
#
|
||
|
# Function title
|
||
|
#
|
||
|
title () { printf "\nGitea postinstall script V1.0${normal}\n\n"; }
|
||
|
#
|
||
|
# If Gitea is not running then die
|
||
|
#
|
||
|
service="$giteauser" ; servicedead
|
||
|
#
|
||
|
# Change the port Gitea is using in the Nginx configuration and minor tweaks
|
||
|
#
|
||
|
sed -s -i "s/3000/$giteaport/" /etc/nginx/conf.d/$hostname
|
||
|
sed -i 's/# Optional //' /etc/nginx/conf.d/$hostname
|
||
|
#
|
||
|
# Adjusting Gitea configuration parameters
|
||
|
#
|
||
|
cp -Rp /etc/$giteauser/app.ini /etc/$giteauser/app.ini.orig
|
||
|
sed -s -i "s/HTTP_PORT = 3000/HTTP_PORT = $giteaport/" /etc/$giteauser/app.ini
|
||
|
sed -i '/gitea-repositories/a MAX_FILES = 500' /etc/$giteauser/app.ini
|
||
|
sed -i '/gitea-repositories/a FILE_MAX_SIZE = 200' /etc/$giteauser/app.ini
|
||
|
sed -i 's/LEVEL = info/LEVEL = warn/' /etc/$giteauser/app.ini
|
||
|
sed -i 's/MODE = console/MODE = file/' /etc/$giteauser/app.ini
|
||
|
#
|
||
|
# Gitea post configuration values
|
||
|
#
|
||
|
giteaconfig="
|
||
|
[ui.admin]
|
||
|
USER_PAGING_NUM = 50
|
||
|
REPO_PAGING_NUM = 50
|
||
|
NOTICE_PAGING_NUM = 25
|
||
|
ORG_PAGING_NUM = 25
|
||
|
|
||
|
[ui.user]
|
||
|
USER_PAGING_NUM = 50
|
||
|
REPO_PAGING_NUM = 50
|
||
|
NOTICE_PAGING_NUM = 25
|
||
|
ORG_PAGING_NUM = 25
|
||
|
|
||
|
[ui]
|
||
|
THEMES = gitea,arc-green
|
||
|
|
||
|
[other]
|
||
|
SHOW_FOOTER_BRANDING = false
|
||
|
SHOW_FOOTER_VERSION = false
|
||
|
SHOW_FOOTER_TEMPLATE_LOAD_TIME = false
|
||
|
ENABLE_FEED = false
|
||
|
"
|
||
|
printf '%s\n' "${giteaconfig[@]}" |sed '$d' >> /etc/$giteauser/app.ini
|
||
|
#
|
||
|
# Restart Nginx and Gitea in order for changes to take effect
|
||
|
#
|
||
|
systemctl restart nginx ; systemctl restart $giteauser
|
||
|
#
|
||
|
# Cleaning up
|
||
|
#
|
||
|
rm -Rf giteainfo
|
||
|
#
|
||
|
# All done
|
||
|
#
|
||
|
clear ; printf "\n" ; line '-' ; printf "All Done...\n" ; line '-' ; printf "\n"
|
||
|
#
|
||
|
# End of script
|
||
|
#
|