Compare commits

...

36 Commits

Author SHA1 Message Date
AJ ONeal 06586de3bc Merge branch 'master' of josh/gitea-installer.sh into master 2018-08-21 01:02:07 +00:00
Josh Mudge 56cf425e46 Make a little better side-note. 2018-08-20 18:40:14 -06:00
Josh Mudge ad14316950 Fix formatting. 2018-08-20 18:37:34 -06:00
Josh Mudge ece1e705b0 Fix typos in merge. 2018-08-20 17:52:18 -06:00
Josh Mudge 09e97e86f3 Merge https://git.coolaj86.com/coolaj86/gitea-installer.sh
# Conflicts:
#	README.md
#	install.bash
2018-08-20 17:46:24 -06:00
AJ ONeal 5de77f0095 Update 'README.md' 2018-08-20 15:24:38 +00:00
Josh Mudge 406b1b719b Fix if block. 2018-08-17 18:14:10 -06:00
Josh Mudge 90d27beaf6 Make removal script more verbose. 2018-07-26 15:20:54 -06:00
Josh Mudge f389c2cad2 Add script to automatically remove Gitea. 2018-07-26 15:16:16 -06:00
Josh Mudge dcb820e844 Symlink to path. 2018-07-26 15:02:27 -06:00
Josh Mudge fdd890d441 Update Docs for typos and clarity. 2018-07-26 14:39:18 -06:00
Josh Mudge 9a00313a6a Use sudo for permissions. 2018-06-28 15:35:30 -06:00
Josh Mudge 03bd5b5011 Fix permissions issue. 2018-06-28 15:33:49 -06:00
Josh Mudge c1a0669e6e Fix typo 2018-06-28 15:31:03 -06:00
Josh Mudge c5d75c1016 Fix curl output issue. 2018-06-28 15:29:49 -06:00
Josh Mudge 7806ec9773 Make curl more robust. 2018-06-28 15:16:37 -06:00
Josh Mudge fb0d107416 Fix systemd service. 2018-06-28 15:15:06 -06:00
Josh Mudge f421b83487 Update README formatting. 2018-06-28 15:03:54 -06:00
Josh Mudge 20fb4b7dfe Add option to specify the version manually. Update docs. 2018-06-28 15:02:19 -06:00
Josh Mudge 91f4ecd3f8 Automagically get latest version and convert to curl links. 2018-06-28 14:41:50 -06:00
Josh Mudge 8232bba348 Update with easier install docs. 2018-06-28 18:41:39 +00:00
Josh Mudge f1aad8be59 Update 'README.md' 2018-06-28 16:40:39 +00:00
Josh Mudge 735958f8f9 Add i386 support 2018-06-23 22:41:55 -06:00
Josh Mudge 7cb52884fc Add ARMv6 support 2018-06-23 22:33:17 -06:00
Josh Mudge 6f2ca3d312 Fix AMD install. 2018-06-23 22:02:45 -06:00
Josh Mudge eb8dfc1af3 Update to check for ARM or x86 and install the correct version. 2018-06-23 21:57:23 -06:00
Josh Mudge 99f7a27ea2 Update and make ARMv7 version. 2018-06-23 21:44:29 -06:00
AJ ONeal d75ad1a205 Update 'README.md' 2018-06-04 21:33:56 +00:00
AJ ONeal 22937eb9b7 Update 'README.md' 2018-06-04 21:33:03 +00:00
AJ ONeal 7a457b6a35 open screencast in new window 2018-06-04 21:32:38 +00:00
AJ ONeal 7b0b4f819a add screencast link 2018-06-04 21:32:12 +00:00
AJ ONeal 764458a74f tabs -> spaces 2018-06-04 20:52:26 +00:00
AJ ONeal 902eaa71e2 Make instructional output more readable 2018-06-04 20:06:14 +00:00
AJ ONeal 6728663a8b update output 2018-06-04 20:03:40 +00:00
AJ ONeal 09617dc377 update to v1.4.1 2018-05-29 20:22:04 +00:00
AJ ONeal 8a3ebf85d2 update version to 1.4.1 2018-05-29 19:55:51 +00:00
3 changed files with 165 additions and 36 deletions

View File

@ -1,50 +1,80 @@
# 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)
You can download and run the installer script:
You can download and run the installer script using this command:
```bash
wget -O install-gitea.bash https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/master/install.bash
bash install-gitea.bash
```
`curl -fsSL https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/branch/master/install.bash | 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:
```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 ''
# 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 chown -R gitea:gitea /opt/gitea/ /var/log/gitea
# Download and install gitea
sudo wget -O /opt/gitea/gitea https://dl.gitea.io/gitea/1.0.1/gitea-1.0.1-linux-amd64
### 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.4.1/gitea-1.4.1-linux-amd64
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
# Start gitea
### Start gitea
sudo systemctl restart gitea
```
## Gitea Web Setup (post install)
Once you've gitea installed and running you must choose
which database to use, certain gitea paths, an admin user, etc.
> http://localhost:3000/
Then see the post-install instruction above.
## Customize Gitea
@ -68,7 +98,6 @@ All overrides to the existing theme can be placed in the `custom/public` and `cu
* Change Landing Page
* Google Analytics
```
/opt/gitea/custom/public
/opt/gitea/custom/templates
@ -78,15 +107,24 @@ All overrides to the existing theme can be placed in the `custom/public` and `cu
/opt/gitea/custom/public/img/gitea-sm.png # 880x880 logo on landing page
/opt/gitea/custom/templates/home.tmpl # The landing page
/opt/gitea/custom/templates/base/head.tmpl # Google Analytics
/opt/gitea/custom/templates/base/head.tmpl # Google Analytics, Login with Github
```
* [Login with Github](https://git.coolaj86.com/coolaj86/gitea-installer.sh/src/tag/v1.0.0/custom/templates/base/head.tmpl#L277)
For many items, such as the logo, you can simply right-click "inspect" to discover the location. For example, the small logo is `/img/gitea-sm.png` or `/opt/gitea/custom/public/img/gitea-sm.png`.
You can find more information about customization and templates in the docs and on github:
* https://docs.gitea.io/en-us/customizing-gitea/
* https://github.com/go-gitea/gitea/tree/master/templates/
# 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`

95
install.bash Normal file → Executable file
View File

@ -1,10 +1,33 @@
#!/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
# or
# wget -O - https://git.coolaj86.com/coolaj86/gitea-installer/raw/master/install.bash | bash
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
# 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 ''
@ -14,13 +37,36 @@ sudo mkdir -p /opt/gitea/ /var/log/gitea
sudo chown -R gitea:gitea /opt/gitea/ /var/log/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
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
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
sudo systemctl enable gitea
@ -32,13 +78,38 @@ sudo systemctl enable gitea
# swapon /tmp.swap
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 "Please visit http://localhost:3000/ now to finish installing gitea"
echo ""
echo "You may customize gitea"
echo " templates can be seen at https://github.com/go-gitea/gitea/tree/v$VER/templates"
echo " app.ini.sample can be seen at https://github.com/go-gitea/gitea/blob/v$VER/custom/conf/app.ini.sample"
echo "###########################"
echo "# Time to Configure #"
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
# swapoff /tmp.swap
# rm /tmp.swap
# rm /tmp.swap

20
remove.sh Normal file
View 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