Merged Changes #3
							
								
								
									
										80
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										80
									
								
								README.md
									
									
									
									
									
								
							@ -1,50 +1,80 @@
 | 
				
			|||||||
# Gitea Installer
 | 
					# Gitea Installer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Installs [Gitea](https://gitea.io) (formerly gogs) as a systemd service
 | 
					Installs [Gitea](https://gitea.io) (formerly Gogs) as a systemd service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Easy Install (Linux)
 | 
					# Easy Install (Linux)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
You can download and run the installer script:
 | 
					You can download and run the installer script using this command:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```bash
 | 
					`curl -fsSL https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/branch/master/install.bash | bash`
 | 
				
			||||||
wget -O install-gitea.bash https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/master/install.bash
 | 
					 | 
				
			||||||
bash install-gitea.bash
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Screencast
 | 
					<a href="https://youtu.be/dTvTBlzKqgg" target="_blank"><img title="How to install Gitea" alt="a screencast of me installing gitea and migrating one of my github repos" src="https://i.imgur.com/e4CZdBu.png"></a>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<a href="https://www.youtube.com/watch?v=dTvTBlzKqgg" target="_blank"><img src="https://i.imgur.com/9x8iCUO.png" alt="how to install Gitea" title="Gitea Screencast"/></a>
 | 
					## Specific Versions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Manual Install
 | 
					You can pick a specific version to install. For example, if you were nostalgic for 1.2.0, you could run:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`curl -fsSL https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/branch/master/install.bash | bash -s version 1.2.0`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# After Installing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Once you have gitea installed and running you must choose
 | 
				
			||||||
 | 
					which database to use, certain gitea paths, an admin user, etc.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Go to: http://localhost:3000/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You should see these fields:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*The following is for basic usage with this script, for more advance usage see: [https://docs.gitea.io/en-us/customizing-gitea/](https://docs.gitea.io/en-us/customizing-gitea/)*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`Database Type:` Use SQLite3 for the database.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`Path:` Leave this alone.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`Application Name:` Give your Gitea server a fancy name.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`Repository Root Path:` Leave this alone.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`LFS Root Path:` Leave this alone.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`Run User:` Leave this alone.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`Domain:` Replace this with your domain name for the server.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`SSH Port:` Leave this alone unless you want a custom port for SSH.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`HTTP Port:` Change this if you want Gitea to serve on a different port. You don't usually need to, Gitea is usually used behind a web server.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`Application URL:` Enter the full URL for your Gitea instance, like https://example.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`Log Path:` Leave this alone.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Click on "Admin Account Settings" to setup your user account and click "Install Gitea" when you are done.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Manual Install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Or manually install by reading these instructions and following along:
 | 
					Or manually install by reading these instructions and following along:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
# Create a 'gitea' user and group with the home /opt/gitea, no password (because it's a system user) and no GECOS
 | 
					### 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 ''
 | 
					sudo adduser gitea --home /opt/gitea --disabled-password --gecos ''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Make some other potentially useful directories for that user/group
 | 
					### Make some other potentially useful directories for that user/group
 | 
				
			||||||
sudo mkdir -p /opt/gitea/ /var/log/gitea
 | 
					sudo mkdir -p /opt/gitea/ /var/log/gitea
 | 
				
			||||||
sudo chown -R gitea:gitea /opt/gitea/ /var/log/gitea
 | 
					sudo chown -R gitea:gitea /opt/gitea/ /var/log/gitea
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Download and install gitea
 | 
					### Download and install gitea. Replace "amd64" with "i386" for 32 bit x86 or "arm-7" for ARMv7 and "arm-6" for ARMv6.
 | 
				
			||||||
sudo wget -O /opt/gitea/gitea https://dl.gitea.io/gitea/1.0.1/gitea-1.0.1-linux-amd64
 | 
					sudo wget -O /opt/gitea/gitea https://dl.gitea.io/gitea/1.4.1/gitea-1.4.1-linux-amd64
 | 
				
			||||||
sudo chmod +x /opt/gitea/gitea
 | 
					sudo chmod +x /opt/gitea/gitea
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Download and install the gitea.service for systemd
 | 
					### Download and install the gitea.service for systemd
 | 
				
			||||||
sudo wget -O /etc/systemd/system/gitea.service https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/master/dist/etc/systemd/system/gitea.service
 | 
					sudo wget -O /etc/systemd/system/gitea.service https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/master/dist/etc/systemd/system/gitea.service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Start gitea
 | 
					### Start gitea
 | 
				
			||||||
sudo systemctl restart gitea
 | 
					sudo systemctl restart gitea
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Gitea Web Setup (post install)
 | 
					Then see the post-install instruction above.
 | 
				
			||||||
 | 
					 | 
				
			||||||
Once you've gitea installed and running you must choose
 | 
					 | 
				
			||||||
which database to use, certain gitea paths, an admin user, etc.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
> http://localhost:3000/
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Customize Gitea
 | 
					## Customize Gitea
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -68,7 +98,6 @@ All overrides to the existing theme can be placed in the `custom/public` and `cu
 | 
				
			|||||||
* Change Landing Page
 | 
					* Change Landing Page
 | 
				
			||||||
* Google Analytics
 | 
					* Google Analytics
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
/opt/gitea/custom/public
 | 
					/opt/gitea/custom/public
 | 
				
			||||||
/opt/gitea/custom/templates
 | 
					/opt/gitea/custom/templates
 | 
				
			||||||
@ -89,6 +118,13 @@ You can find more information about customization and templates in the docs and
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
* https://docs.gitea.io/en-us/customizing-gitea/
 | 
					* https://docs.gitea.io/en-us/customizing-gitea/
 | 
				
			||||||
* https://github.com/go-gitea/gitea/tree/master/templates/
 | 
					* https://github.com/go-gitea/gitea/tree/master/templates/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Troubleshooting systemd
 | 
					# Troubleshooting systemd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
See [Troubleshooting systemd](https://git.coolaj86.com/coolaj86/service-installer.sh/src/master/README.md#troubleshooting-systemd)
 | 
					See [Troubleshooting systemd](https://git.coolaj86.com/coolaj86/service-installer.sh/src/master/README.md#troubleshooting-systemd)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Removing Gitea
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Run this command to uninstall Gitea: (THIS WILL REMOVE ALL DATA if you are using SQLite!)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`curl -fsSL https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/branch/master/remove.bash | bash`
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										93
									
								
								install.bash
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										93
									
								
								install.bash
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							@ -1,10 +1,33 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VER=1.5.0
 | 
					# 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# wget -O install-gitea.bash https://git.coolaj86.com/coolaj86/gitea-installer/raw/master/install.bash; bash install-gitea.bash
 | 
					while [[ $# -gt 0 ]]
 | 
				
			||||||
# or
 | 
					do
 | 
				
			||||||
# wget -O - https://git.coolaj86.com/coolaj86/gitea-installer/raw/master/install.bash | bash
 | 
					  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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Create a 'gitea' user and group with the home /opt/gitea, no password (because it's a system user) and no GECOS
 | 
					# 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 ''
 | 
					sudo adduser gitea --home /opt/gitea --disabled-password --gecos ''
 | 
				
			||||||
@ -14,13 +37,36 @@ sudo mkdir -p /opt/gitea/ /var/log/gitea
 | 
				
			|||||||
sudo chown -R gitea:gitea /opt/gitea/ /var/log/gitea
 | 
					sudo chown -R gitea:gitea /opt/gitea/ /var/log/gitea
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Download and install gitea
 | 
					# Download and install gitea
 | 
				
			||||||
sudo wget -O "/opt/gitea/gitea-$VER" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-amd64"
 | 
					
 | 
				
			||||||
 | 
					  # Check if architecure is i386 and download Gitea
 | 
				
			||||||
 | 
					if [ -n "$(uname -a | grep i386)" ]; then
 | 
				
			||||||
 | 
					    sudo curl -fsSL -o "/opt/gitea/gitea-$VER" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-386"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Check if architecure is x86 and download Gitea
 | 
				
			||||||
 | 
					if [ -n "$(uname -a | grep x86_64)" ]; then
 | 
				
			||||||
 | 
					  sudo curl -fsSL -o "/opt/gitea/gitea-$VER" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-amd64"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Check if architecure is ARMv6 and download Gitea
 | 
				
			||||||
 | 
					if [ -n "$(uname -a | grep armv6l)" ]; then
 | 
				
			||||||
 | 
					  sudo curl -fsSL -o "/opt/gitea/gitea-$VER" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-6"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Check if architecure is ARMv7 and download Gitea
 | 
				
			||||||
 | 
					if [ -n "$(uname -a | grep armv7l)" ]; then
 | 
				
			||||||
 | 
					  sudo curl -fsSL -o "/opt/gitea/gitea-$VER" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-7"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Setup Gitea symlink and permissions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sudo chmod +x /opt/gitea/gitea-$VER
 | 
					sudo chmod +x /opt/gitea/gitea-$VER
 | 
				
			||||||
rm -f /opt/gitea/gitea
 | 
					rm -f /opt/gitea/gitea
 | 
				
			||||||
ln -sf gitea-$VER /opt/gitea/gitea
 | 
					sudo ln -sf gitea-$VER /opt/gitea/gitea
 | 
				
			||||||
 | 
					sudo ln -sf gitea-$VER /usr/local/bin/gitea
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Download and install the gitea.service for systemd
 | 
					# Download and install the gitea.service for systemd
 | 
				
			||||||
sudo wget -O /etc/systemd/system/gitea.service https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/master/dist/etc/systemd/system/gitea.service
 | 
					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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Start gitea
 | 
					# Start gitea
 | 
				
			||||||
sudo systemctl enable gitea
 | 
					sudo systemctl enable gitea
 | 
				
			||||||
@ -32,12 +78,37 @@ sudo systemctl enable gitea
 | 
				
			|||||||
# swapon /tmp.swap
 | 
					# swapon /tmp.swap
 | 
				
			||||||
sudo systemctl restart gitea
 | 
					sudo systemctl restart gitea
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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 "Please visit http://localhost:3000/ now to finish installing gitea"
 | 
					 | 
				
			||||||
echo ""
 | 
					echo ""
 | 
				
			||||||
echo "You may customize gitea"
 | 
					echo "###########################"
 | 
				
			||||||
echo "    templates can be seen at https://github.com/go-gitea/gitea/tree/v$VER/templates"
 | 
					echo "#    Time to Configure    #"
 | 
				
			||||||
echo "    app.ini.sample can be seen at https://github.com/go-gitea/gitea/blob/v$VER/custom/conf/app.ini.sample"
 | 
					echo "###########################"
 | 
				
			||||||
 | 
					echo ""
 | 
				
			||||||
 | 
					echo "Just a few more steps to complete at the setup URL:"
 | 
				
			||||||
 | 
					echo ""
 | 
				
			||||||
 | 
					echo "        http://$my_ip:3000/"
 | 
				
			||||||
 | 
					echo ""
 | 
				
			||||||
 | 
					echo "Future changes can be made by editing the config file:"
 | 
				
			||||||
 | 
					echo ""
 | 
				
			||||||
 | 
					echo "        /opt/gitea/custom/conf/app.ini"
 | 
				
			||||||
 | 
					echo ""
 | 
				
			||||||
 | 
					echo ""
 | 
				
			||||||
 | 
					echo "P.S. Would you like to customize Gitea?"
 | 
				
			||||||
 | 
					echo ""
 | 
				
			||||||
 | 
					echo "        Read basic instructions:"
 | 
				
			||||||
 | 
					echo "        https://git.coolaj86.com/coolaj86/gitea-installer.sh/_edit/master/install.bash"
 | 
				
			||||||
 | 
					echo ""
 | 
				
			||||||
 | 
					echo "        View current templates:"
 | 
				
			||||||
 | 
					echo "        https://github.com/go-gitea/gitea/tree/v$VER/templates"
 | 
				
			||||||
 | 
					echo ""
 | 
				
			||||||
 | 
					echo "        See a sample app.ini:"
 | 
				
			||||||
 | 
					echo "        https://github.com/go-gitea/gitea/blob/v$VER/custom/conf/app.ini.sample"
 | 
				
			||||||
 | 
					echo ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# sleep 5
 | 
					# sleep 5
 | 
				
			||||||
# swapoff /tmp.swap
 | 
					# swapoff /tmp.swap
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										20
									
								
								remove.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								remove.sh
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					# Gitea Uninstall Script
 | 
				
			||||||
 | 
					# This script removes Gitea as installed by this script. THIS DELTES ALL DATA if you are using SQLite.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Removing Gitea and DELETING ALL DATA."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Stopping and removing the Gitea service."
 | 
				
			||||||
 | 
					sudo systemctl stop gitea # Stop the Gitea service
 | 
				
			||||||
 | 
					sudo systemctl disable gitea # Disable the Gitea service automatically starting on boot.
 | 
				
			||||||
 | 
					sudo rm /etc/systemd/system/gitea.service # Delete the Gitea service.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Deleting Gitea configuration and Data."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sudo rm /usr/local/bin/gitea # Remove Gitea from Path
 | 
				
			||||||
 | 
					sudo rm -rf /opt/gitea # Remove Gitea Data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if test ! -d /opt/gitea
 | 
				
			||||||
 | 
					   echo "Gitea has been completely removed."
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  echo "Gitea has not been completely removed. File an issue here: https://git.coolaj86.com/coolaj86/gitea-installer.sh/issues/new"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user