Compare commits
No commits in common. "master" and "v1.0.0" have entirely different histories.
86
README.md
86
README.md
@ -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`
|
|
||||||
95
install.bash
Executable file → Normal file
95
install.bash
Executable file → Normal 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,38 +32,13 @@ 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
|
||||||
# rm /tmp.swap
|
# rm /tmp.swap
|
||||||
20
remove.sh
20
remove.sh
@ -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
|
|
||||||
Loading…
x
Reference in New Issue
Block a user