gitea-installer.sh/install.bash

116 lines
3.6 KiB
Bash
Raw Normal View History

2017-10-27 23:57:22 +00:00
#!/bin/bash
# Most of the code credit for determining version is here: https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c
VER=$(curl --silent "https://api.github.com/repos/go-gitea/gitea/releases/latest" | # Get latest release from GitHub api
grep '"tag_name":' | # Get tag line
sed -E 's/.*"([^"]+)".*/\1/' | # Pluck JSON value
sed 's|[v,]||g' ) # Remove v
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
-v|version)
VER="$2"
shift # past argument
;;
*)
# unknown option
if test -z "${unknown}"
then
unknown=$1
else
echo "Unknown Option"
exit 1
fi
;;
esac
shift # past argument or value
done
2017-10-27 23:57:22 +00:00
2017-10-28 00:09:04 +00:00
# Create a 'gitea' user and group with the home /opt/gitea, no password (because it's a system user) and no GECOS
sudo adduser gitea --home /opt/gitea --disabled-password --gecos ''
2017-10-27 23:57:22 +00:00
# Make some other potentially useful directories for that user/group
sudo mkdir -p /opt/gitea/ /var/log/gitea
2018-06-28 21:35:30 +00:00
sudo chown -R gitea:gitea /opt/gitea/ /var/log/gitea
2017-10-27 23:57:22 +00:00
# Download and install gitea
2018-06-24 04:41:55 +00:00
# Check if architecure is i386 and download Gitea
if [ -n "$(uname -a | grep i386)" ]; then
2018-06-28 21:31:03 +00:00
sudo curl -fsSL -o "/opt/gitea/gitea-$VER" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-386"
2018-06-24 04:41:55 +00:00
fi
# Check if architecure is x86 and download Gitea
if [ -n "$(uname -a | grep x86_64)" ]; then
2018-06-28 21:29:49 +00:00
sudo curl -fsSL -o "/opt/gitea/gitea-$VER" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-amd64"
fi
2018-06-24 04:33:17 +00:00
# Check if architecure is ARMv6 and download Gitea
if [ -n "$(uname -a | grep armv6l)" ]; then
2018-06-28 21:35:30 +00:00
sudo curl -fsSL -o "/opt/gitea/gitea-$VER" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-6"
2018-06-24 04:33:17 +00:00
fi
# Check if architecure is ARMv7 and download Gitea
if [ -n "$(uname -a | grep armv7l)" ]; then
2018-06-28 21:29:49 +00:00
sudo curl -fsSL -o "/opt/gitea/gitea-$VER" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-7"
fi
2018-06-28 21:33:49 +00:00
# Setup Gitea symlink and permissions
2018-04-19 05:14:46 +00:00
sudo chmod +x /opt/gitea/gitea-$VER
rm -f /opt/gitea/gitea
2018-06-28 21:35:30 +00:00
sudo ln -sf gitea-$VER /opt/gitea/gitea
2018-07-26 21:02:27 +00:00
sudo ln -sf gitea-$VER /usr/local/bin/gitea
2017-10-27 23:57:22 +00:00
# Download and install the gitea.service for systemd
2018-06-28 21:29:49 +00:00
sudo curl -fsSL -o /etc/systemd/system/gitea.service https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/branch/master/dist/etc/systemd/system/gitea.service
2017-10-27 23:57:22 +00:00
# Start gitea
2018-04-19 05:14:46 +00:00
sudo systemctl enable gitea
2017-10-27 23:58:51 +00:00
2018-04-19 05:25:22 +00:00
## If this is performing an upgrade it may need extra ram for a limited time
# fallocate -l 1G /tmp.swap
# mkswap /tmp.swap
# chmod 0600 /tmp.swap
# swapon /tmp.swap
sudo systemctl restart gitea
2018-06-04 20:03:40 +00:00
set +e
my_ip=$(ifconfig | grep inet | grep Mask | grep -v ':127\\.0\\.0\\.1' | grep -v ':192\\.168' | grep -v ':10\\.' | head -n 1 | cut -f 2 -d ':' | cut -f 1 -d ' ')
my_ip=${my_ip:-localhost}
set -e
echo ""
echo ""
echo "###########################"
echo "# Time to Configure #"
echo "###########################"
echo ""
echo "Just a few more steps to complete at the setup URL:"
echo ""
2018-06-04 20:52:26 +00:00
echo " http://$my_ip:3000/"
2018-06-04 20:03:40 +00:00
echo ""
echo "Future changes can be made by editing the config file:"
echo ""
2018-06-04 20:52:26 +00:00
echo " /opt/gitea/custom/conf/app.ini"
2018-06-04 20:03:40 +00:00
echo ""
echo ""
echo "P.S. Would you like to customize Gitea?"
echo ""
2018-06-04 20:52:26 +00:00
echo " Read basic instructions:"
echo " https://git.coolaj86.com/coolaj86/gitea-installer.sh/_edit/master/install.bash"
echo ""
2018-06-04 20:52:26 +00:00
echo " View current templates:"
echo " https://github.com/go-gitea/gitea/tree/v$VER/templates"
echo ""
2018-06-04 20:52:26 +00:00
echo " See a sample app.ini:"
echo " https://github.com/go-gitea/gitea/blob/v$VER/custom/conf/app.ini.sample"
echo ""
2018-04-19 05:25:22 +00:00
# sleep 5
# swapoff /tmp.swap
2018-06-24 03:44:29 +00:00
# rm /tmp.swap