Compare commits

..

No commits in common. "master" and "v1.0.0" have entirely different histories.

3 changed files with 36 additions and 165 deletions

View File

@ -1,80 +1,50 @@
# 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 using this command: You can download and run the installer script:
`curl -fsSL https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/branch/master/install.bash | bash` ```bash
wget -O install-gitea.bash https://git.coolaj86.com/coolaj86/gitea-installer.sh/raw/master/install.bash
bash install-gitea.bash
```
<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> # Screencast
## Specific Versions <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>
You can pick a specific version to install. For example, if you were nostalgic for 1.2.0, you could run: # Manual Install
`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. Replace "amd64" with "i386" for 32 bit x86 or "arm-7" for ARMv7 and "arm-6" for ARMv6. # Download and install gitea
sudo wget -O /opt/gitea/gitea https://dl.gitea.io/gitea/1.4.1/gitea-1.4.1-linux-amd64 sudo wget -O /opt/gitea/gitea https://dl.gitea.io/gitea/1.0.1/gitea-1.0.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
``` ```
Then see the post-install instruction above. ## 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/
## Customize Gitea ## Customize Gitea
@ -98,6 +68,7 @@ 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
@ -107,24 +78,15 @@ 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/public/img/gitea-sm.png # 880x880 logo on landing page
/opt/gitea/custom/templates/home.tmpl # The landing page /opt/gitea/custom/templates/home.tmpl # The landing page
/opt/gitea/custom/templates/base/head.tmpl # Google Analytics, Login with Github /opt/gitea/custom/templates/base/head.tmpl # Google Analytics
``` ```
* [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`. 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: You can find more information about customization and templates in the docs and on github:
* 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 Executable file → Normal file
View File

@ -1,33 +1,10 @@
#!/bin/bash #!/bin/bash
# Most of the code credit for determining version is here: https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c VER=1.5.0
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 ]] # wget -O install-gitea.bash https://git.coolaj86.com/coolaj86/gitea-installer/raw/master/install.bash; bash install-gitea.bash
do # or
key="$1" # wget -O - https://git.coolaj86.com/coolaj86/gitea-installer/raw/master/install.bash | bash
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 ''
@ -37,36 +14,13 @@ 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
sudo ln -sf gitea-$VER /opt/gitea/gitea 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 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 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 enable gitea sudo systemctl enable gitea
@ -78,37 +32,12 @@ 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 "###########################" echo "You may customize gitea"
echo "# Time to Configure #" echo " templates can be seen at https://github.com/go-gitea/gitea/tree/v$VER/templates"
echo "###########################" echo " app.ini.sample can be seen at https://github.com/go-gitea/gitea/blob/v$VER/custom/conf/app.ini.sample"
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

View File

@ -1,20 +0,0 @@
# 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