Refactor folder structure and adding first seqs
This commit is contained in:
134
seqs/gitea.sh
Executable file
134
seqs/gitea.sh
Executable file
@@ -0,0 +1,134 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
## Installation of git service Gitea
|
||||
|
||||
toolName="gitea"
|
||||
giteaDownload="https://dl.gitea.io/gitea/1.7.5/gitea-1.7.5-linux-arm-7"
|
||||
giteaService="https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service"
|
||||
giteaServiceLoc="/etc/systemd/system/gitea.service"
|
||||
|
||||
function step_1 {
|
||||
echo -e "Updating apt\n"
|
||||
apt update
|
||||
}
|
||||
|
||||
function step_2 {
|
||||
echo -e "Downloading $toolName to user home: $giteaDownload\n"
|
||||
cd
|
||||
wget -O gitea $giteaDownload
|
||||
saveReturn $?
|
||||
endReturn
|
||||
}
|
||||
|
||||
function step_3 {
|
||||
echo -e "Adding user for $toolName (git:git)"
|
||||
adduser \
|
||||
--system \
|
||||
--shell /bin/bash \
|
||||
--gecos 'Git Version Control' \
|
||||
--group \
|
||||
--disabled-password \
|
||||
--home /home/git \
|
||||
git
|
||||
saveReturn $?
|
||||
endReturn
|
||||
}
|
||||
|
||||
function step_4 {
|
||||
echo -e "Create required directory structure"
|
||||
mkdir -p /var/lib/gitea/{custom,data,log}
|
||||
chown -R git: /var/lib/gitea/
|
||||
chmod -R 750 /var/lib/gitea/
|
||||
mkdir /etc/gitea
|
||||
chown root:git /etc/gitea
|
||||
chmod 770 /etc/gitea
|
||||
echo "Copying gitea to global location and making it executable"
|
||||
chmod +x ~/gitea
|
||||
cp ~/gitea /usr/local/bin/gitea
|
||||
saveReturn $?
|
||||
endReturn
|
||||
}
|
||||
|
||||
function step_5 {
|
||||
echo -e "Creating systemd service"
|
||||
wget -O $giteaServiceLoc $giteaService
|
||||
echo -en "Uncomment needed services (enter to continue): "
|
||||
read
|
||||
vi $giteaServiceLoc
|
||||
}
|
||||
|
||||
function step_6 {
|
||||
echo -e "Starting $toolName service"
|
||||
systemctl enable gitea
|
||||
systemctl start gitea
|
||||
echo "Before proceeding to installation you may need to create a database first with step 10"
|
||||
echo
|
||||
echo "Goto http://[yourip]:3000/install and complete installation"
|
||||
echo
|
||||
echo "Afterwards please execute step 20 to secure configuration"
|
||||
}
|
||||
|
||||
|
||||
|
||||
function step_10 {
|
||||
local mysqlDatabase
|
||||
local mysqlUser
|
||||
local mysqlPass
|
||||
|
||||
echo "Setup mysql database"
|
||||
echo "Existing mysql databases:"
|
||||
mysql -u root -e 'SHOW DATABASES;'
|
||||
|
||||
echo -en "Enter database name: "
|
||||
read mysqlDatabase
|
||||
endCheckEmpty mysqlDatabase "database name"
|
||||
mysql -u root -e 'CREATE DATABASE '$mysqlDatabase' CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;'
|
||||
saveReturn $?
|
||||
endReturn
|
||||
|
||||
echo "Existing mysql user:"
|
||||
mysql -u root -e 'SELECT User, Host FROM mysql.user;'
|
||||
echo -en "Enter mysql user name: "
|
||||
read mysqlUser
|
||||
endCheckEmpty mysqlDatabase "user name"
|
||||
|
||||
echo -en "Enter mysql user password: "
|
||||
read mysqlPass
|
||||
endCheckEmpty mysqlPass "password"
|
||||
mysql -u root -e 'CREATE USER '"'"$mysqlUser"'"'@'"'"'localhost'"'"' IDENTIFIED BY '"'"$mysqlPass"'"';'
|
||||
saveReturn $?
|
||||
endReturn
|
||||
|
||||
mysql -u root -e 'GRANT ALL PRIVILEGES ON '$mysqlDatabase'.* TO '"'"$mysqlUser"'"'@'"'"'localhost'"'"';'
|
||||
saveReturn $?
|
||||
endReturn
|
||||
|
||||
mysql -u root -e 'FLUSH PRIVILEGES;'
|
||||
}
|
||||
|
||||
function step_20 {
|
||||
echo -e "Secure settings after installation"
|
||||
chmod 750 /etc/gitea
|
||||
chmod 644 /etc/gitea/app.ini
|
||||
}
|
||||
|
||||
help() {
|
||||
echo " $toolName Documentation"
|
||||
echo " 1: Updating apt"
|
||||
echo " 2: Downloading $toolName to user home: $giteaDownload"
|
||||
echo " 3: Adding user for $toolName (git:git)"
|
||||
echo " 4: Create required directory structure"
|
||||
echo " 5: Creating systemd service"
|
||||
echo " 6: Starting $toolName service"
|
||||
echo
|
||||
echo " 10: Setup mysql database"
|
||||
echo
|
||||
echo " 20: Secure settings after installation"
|
||||
echo
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
## Path to sequencer
|
||||
. ../sequencer/sequencer.sh
|
Reference in New Issue
Block a user