• Contact
  • Contact Us
  • Disclamer
  • Home 1
  • Home 2
  • Home 3
  • Privacy Policy
Thursday, May 8, 2025
How VPS - How to use/setup VPS
  • Login
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon
No Result
View All Result
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon
No Result
View All Result
How VPS - How to use/setup VPS
No Result
View All Result
Home Operating System Debian

Setup Gogs on Debian 9 or Ubuntu 16.04

How VPS by How VPS
November 1, 2019
in Debian
0
0
SHARES
46
VIEWS
Share on FacebookShare on Twitter

Contents

  1. Using a Different System?
  2. Setup the Database
  3. Setup the Reverse Proxy
  4. Install Gogs
  5. Initial Configuration
  6. Only Allow HTTP(S) Access Through Nginx
  7. Want to contribute?

Using a Different System?

  • Setup Gogs on Linux

Are we missing a guide for your target system? Request one, or submit your own!


Gogs is a painless self-hosted Git service.

This guide uses PostgreSQL for the database and Nginx as a reverse proxy. After following this guide, you will be able to access the Gogs web interface through HTTP and the hosted git repositories through HTTP and SSH. HTTPS access can be added by extending the Nginx configuration.

You should have an up-to-date system and a non-root sudo user.

Setup the Database

This guide uses PostgreSQL. You can alternatively use MySQL/MariaDB, SQLite3, MSSQL, or TiDB.

Install PostgreSQL.

sudo apt-get install -y postgresql

Create the user in which Gogs will connect to the database. This will prompt you to create a password for that user. This password will be entered into Gog’s configuration later.

sudo -u postgres createuser gogs -P

Create the Gogs database.

sudo -u postgres createdb gogs -O gogs -E UTF8

Setup the Reverse Proxy

This guide uses Nginx as a reverse proxy. You can alternatively use another HTTP server that can act as a reverse proxy such as Apache or Caddy.

Install Nginx.

sudo apt-get install -y nginx

Edit /etc/nginx/sites-enabled/default.

sudo nano /etc/nginx/sites-enabled/default

Find the following lines.

location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
}

Change them to this.

location / {
        proxy_pass http://127.0.0.1:3000;
}

Reload Nginx to use the new configuration.

sudo systemctl reload nginx

Install Gogs

First, make sure git is installed.

sudo apt-get install -y git

Then create the user Gogs will run as and which will be used for SSH git access.

sudo useradd -m git

Next, download and unpack the Gogs release for your architecture.

For 64-bit systems.

sudo -u git sh -c "curl https://dl.gogs.io/0.11.29/linux_amd64.tar.gz | tar -xz -C /home/git/"

For 32-bit systems.

sudo -u git sh -c "curl https://dl.gogs.io/0.11.29/linux_386.tar.gz | tar -xz -C /home/git/"

Setup Gogs to run on boot.

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

Start Gogs.

sudo systemctl start gogs

This is the only time you will need to start Gogs this way.

Initial Configuration

Go to http://example.com in your web browser. You will see: Install Steps For First-time Run

Change the following settings.

Database Type: PostgreSQL
User: gogs
Password: (password you created earlier)
Domain: example.com
Application URL: http://example.com/

You might want to set the Application Name, the Email Service Settings, and Server and Other Services Settings. All the settings can be changed later by editing /home/git/gogs/custom/conf/app.ini.

Click Install Gogs.

You will be redirected to a sign-in page. Sign up a new user now.

Only Allow HTTP(S) Access Through Nginx

This is mostly useful when using Nginx to terminate HTTPS.

Add HTTP_ADDR = 127.0.0.1 to the [server] section of /home/git/gogs/custom/conf/app.ini.

sudo -u git nano /home/git/gogs/custom/conf/app.ini

After this change, the [server] section will look something like the following.

[server]
DOMAIN           = example.com
HTTP_ADDR        = 127.0.0.1
HTTP_PORT        = 3000
ROOT_URL         = http://example.com/
DISABLE_SSH      = false
SSH_PORT         = 22
START_SSH_SERVER = false
OFFLINE_MODE     = false

Restart Gogs to use the updated configuration.

sudo systemctl restart gogs

Want to contribute?

You could earn up to $300 by adding new articles

Submit your article
Suggest an update
Request an article
Previous Post

How to Install October 1.0 CMS on a Debian 9 LAMP VPS

Next Post

Installing Fuel CMS on Debian 9

Next Post

Installing Fuel CMS on Debian 9

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

No Result
View All Result

Recent Post

Install Imagemagick on CentOS
CentOS

Install Imagemagick on CentOS

by How VPS
June 28, 2023
0

This is how I installed Imagemagick on a vanilla CentOS server Start off by installing the prerequisites yum install php-pear...

Read more
how to Check phpinfo

How to Check phpinfo of Hosting or VPS?

June 28, 2023
Failed to download metadata for repo 'appstream' on Centos 8

How to fix error: Failed to download metadata for repo ‘appstream’ on Centos 8

February 25, 2022
How to Fix MySQL Error "Plugin 'InnoDB' registration as a STORAGE ENGINE failed"?

How to Fix MySQL Error “Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed”?

November 17, 2020
How to optimize Mysql or MariaDB

How to optimize Mysql or MariaDB

November 3, 2020

Recent News

  • Install Imagemagick on CentOS
  • How to Check phpinfo of Hosting or VPS?
  • How to fix error: Failed to download metadata for repo ‘appstream’ on Centos 8

Category

  • Arch
  • Authentication
  • Backups
  • BSD
  • Centmin Mod
  • CentOS
  • Control Panels
  • CoreOS
  • CWP
  • Debian
  • Directadmin
  • Encryption
  • Fedora
  • Firewalls
  • Hocvps Script
  • Hosting providers
  • Kloxo-MR
  • Linux
  • Mitigations
  • Operating System
  • Plesk
  • Reviews
  • Securing VPS/Servers
  • Security Patches
  • SSL Certificates
  • Uncategorized
  • Upgrading
  • VPS/Servers management guides
  • Vulnerability Detection
  • Web servers software
  • Webhosting Control Panel
  • About
  • Advertise
  • Careers
  • Contact

© 2025 JNews - Premium WordPress news & magazine theme by Jegtheme.

No Result
View All Result
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon

© 2025 JNews - Premium WordPress news & magazine theme by Jegtheme.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
Thabet