diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..3911ca3 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/../../../../../:\home\mthoma\gitea_installer\.idea/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/gitea_installer.iml b/.idea/gitea_installer.iml new file mode 100644 index 0000000..d9e6024 --- /dev/null +++ b/.idea/gitea_installer.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..8d93904 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..30f3fda --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..9661ac7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index c9e3d00..1264db5 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,89 @@ # gitea_installer -Install script for GITEA +Install script for GITEA on Ubuntu 20.04 LTS + +This script pulls the newest version of gitea and install all requirements. + +The following will be installed: +- GIT +- Nginx +- MariaDB +- Letencrypt (optional) +- UFW (optional) + +## Use it ;-) +This installer script is for Ubuntu 20.04 LTS, other versions may work but not tested. + +Available flags: +``` +-f FQDN - Systemname of GITEA system +-e EMAIL - E-Mail for letsencrypt +-i IP - IPv4 address of this system +-p PASSWORD - Used for GITEA DB +-r SQLROOT - MySQL ROOT password +-l LETSENCRYPT - Use letsencrypt +-u UFW - Use UFW +``` + +## Install +``` +wget https://github.com/lanbugs/gitea_installer/raw/main/gitea_installer.sh +chmod +x gitea_installer.sh + +./gitea_installer.sh -f git.example.com -e admin@example.com -i 10.10.10.10 -p securepassword -r sqlrootpw -l -u +``` + +Finished screen: +``` +-------------------------------------------------------------------------------------- + GITEA 1.12.5 installed on system git.example.com +-------------------------------------------------------------------------------------- + Mysql database : giteadb + Mysql user : gitea + Mysql password : securepassword + Mysql character set : utf8mb4 +-------------------------------------------------------------------------------------- + Mysql root user : root + Mysql root password : sqlrootpw +-------------------------------------------------------------------------------------- + System is accessable via https://git.example.com +-------------------------------------------------------------------------------------- + >>> You must finish the initial setup <<< +-------------------------------------------------------------------------------------- + Site Title : Enter your organization name. + Repository Root Path : Leave the default /home/git/gitea-repositories. + Git LFS Root Path : Leave the default /var/lib/gitea/data/lfs. + Run As Username : git + SSH Server Domain : Use git.example.com + SSH Port : 22, change it if SSH is listening on other Port + Gitea HTTP Listen Port: 3000 + Gitea Base URL : Use https://git.example.com/ + Log Path : Leave the default /var/lib/gitea/log +-------------------------------------------------------------------------------------- + Following firewall rules applied: +Status: active + + To Action From + -- ------ ---- +[ 1] 22/tcp ALLOW IN Anywhere +[ 2] 80/tcp ALLOW IN Anywhere +[ 3] 443/tcp ALLOW IN Anywhere +[ 4] 22/tcp (v6) ALLOW IN Anywhere (v6) +[ 5] 80/tcp (v6) ALLOW IN Anywhere (v6) +[ 6] 443/tcp (v6) ALLOW IN Anywhere (v6) + +-------------------------------------------------------------------------------------- +``` + + +When the script finished you must complete the installation of gitea in the web UI. + +## SQL settings +You should choose utf8mb4 encoding. + +![SQL](images/sql.png) + +## Common settings +![Common](images/common.png) + +## Additional settings +![Common](images/admin.png) diff --git a/gitea_installer.sh b/gitea_installer.sh index 45c8b51..f042248 100644 --- a/gitea_installer.sh +++ b/gitea_installer.sh @@ -14,13 +14,13 @@ UFW='false' while getopts f:e:i:p:r:lu flag do case "${flag}" in - f) FQDN=${OPTARG};; - e) EMAIL=${OPTARG};; - i) IP=${OPTARG};; - p) PASSWORD=${OPTARG};; - r) SQLROOT=${OPTARG};; - l) LETSENCRYPT='true';; - u) UFW='true';; + f) FQDN=${OPTARG};; + e) EMAIL=${OPTARG};; + i) IP=${OPTARG};; + p) PASSWORD=${OPTARG};; + r) SQLROOT=${OPTARG};; + l) LETSENCRYPT='true';; + u) UFW='true';; esac done @@ -337,6 +337,7 @@ echo "-------------------------------------------------------------------------- echo " Mysql database : giteadb " echo " Mysql user : gitea " echo " Mysql password : $PASSWORD " +echo " Mysql character set : utf8mb4" echo "--------------------------------------------------------------------------------------" echo " Mysql root user : root" echo " Mysql root password : $SQLROOT" diff --git a/images/admin.png b/images/admin.png new file mode 100644 index 0000000..f3ce2fe Binary files /dev/null and b/images/admin.png differ diff --git a/images/common.png b/images/common.png new file mode 100644 index 0000000..f38f6b5 Binary files /dev/null and b/images/common.png differ diff --git a/images/sql.png b/images/sql.png new file mode 100644 index 0000000..e336157 Binary files /dev/null and b/images/sql.png differ