How to install Gogs on Ubuntu 20.04

Estimated reading: 4 minutes 695 views

Gogs is a self-hosted open-source git server written in Go. It includes a repository file editor, project issue tracking, and a built-in wiki

Gogs is a lightweight application and can be installed on low-powered systems. If you are searching for an alternative to Gitlab with a much smaller memory footprint and you don’t need all the bells and whistles that Gitlab offers then you should definitely try Gogs.This tutorial covers the steps to install Gogs on Ubuntu 20.04.

Before You Begin

Gogs can use SQLite, PostgreSQL , or MySQL /MariaDB database to store all its data.

In this tutorial, we will use SQLite as the database of choice. If SQLite is not installed on your system you can install it by typing:

$ sudo apt install sqlite3

For an additional layer of security, it is recommended to set up a basic firewall. You can follow the steps in our How To Set Up a Firewall with UFW on Ubuntu guide

Installing Gogs

We will install Gogs from binary. The installation is a pretty straight forward process.

-Install Git

The first step is to install Git on your server. To do so, refresh the local package index and install the git package by running the following commands as sudo user :

$ sudo apt update
$ sudo apt install git

Verify the installation by displaying the Git version:

$ git --version

Output:

-Create a Git user:

Create a new system user to run the Gogs service by typing:

$ sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git

The command will create the user and set the home directory to /home/git. The output will look something like below:

Output:

Download Gogs binary

Visit the Gogs Download page and download the latest binary for your architecture. At the time of writing, the latest version is 0.11.86, if there is a new version available change the VERSION variable in the command below.

Download the Gogs archive in the /tmp directory using the following wget command :

$ VERSION=0.11.86
$ wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp

Once the download is completed, extract the Gogs tar.gz file and move it to the /home/git directory:

$ sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git

Run the following command to change the ownership of the Gogs installation directory to the user and group git:

$ sudo chown -R git: /home/git/gogs

Create a systemd Unit File

Gogs comes with a Systemd unit file that is already configured to match our setup.

Copy the file to the /etc/systemd/system/ directory by typing:

$ sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/

Once done, start and enable the Gogs service:

$ sudo systemctl start gogs
$ sudo systemctl enable gogs

 Successfully:

Install Gogs using the web installer

Now that Gogs is downloaded and running, it is time to finalize the installation through the web interface.

Open your browser, type http://your_ip:3000 and a screen similar to the following will appear:

Database Settings:
  • Database Type: SQLite3
  • Path: Use an absolute path, /home/git/gogs/gogs.db

Application General Settings

  • Application Name: Enter your organization name
  • Repository Root Path: Leave the default /home/git/gogs-repositories
  • Run User: git
  • Domain: Enter your domain or server IP address.
  • SSH Port: 22, change it if SSH is listening on other Port
  • HTTP Port: 3000
  • Application URL: Use http and your domain or server IP address.
  • Log Path: Leave the default /home/git/gogs/log

Once done hit the “Install Gogs” button. The installation is instant and when completed you will be redirected to the login page.

Click on the “Sign up now” link.

The first registered user is automatically added to the Admin group.

That’s it. Gogs has been installed on your Ubuntu machine.

Conclusion

This tutorial walked you through the installation Gogs on Ubuntu 20.04.

Good Luck!

 

Leave a Comment

Share this Doc

How to install Gogs on Ubuntu 20.04

Or copy link

CONTENTS