Gitea adalah sebuah git server yang merupakan solusi bagi para developer yang ingin mencari alternatif menyimpan koleksi repository. Gitea merupakan sebuah proyek open source berbasis Go.
Salah satu keunggulan dari Gitea dibanding server self-hosted populer seperti Gitlab dan sejenisnya, adalah membutuhkan resource yang minim namun memiliki fitur yang melimpah seperti Github.
Tutorial ini akan membahas cara instalasi Gitea di Ubuntu 18.04.
Persiapan
Gitea mendukung penggunaan MySQL/MariaDB, SQLite, dan PostgreSQL sebagai backend database. Namun dalam artikel kali ini, akan menggunakan SQLite.
Apabila SQLite belum terpasang pada sistem, silahkan install dengan menggunakan perintah berikut.
sudo apt update
sudo apt install -y sqlite3
Instalasi Gitea
Gitea memungkinkan penggunakan Docker image sebagai sarana untuk instalasi, juga tersedia dalam bentuk binary, source, dan package.
Pada artikel ini, instalasi akan menggunakan bentuk binary. Silahkan ikuti langkah instalasi berikut.
Install Git
Langkah pertama adalah dengan memasang Git pada server, jika belum ada sebelumnya.
sudo apt install git
Kemudian lakukan verifikasi instalasi Git dengan cara,
git --version
Outputnya akan seperti dibawah ini.
git version 2.25.1
Tambahkan user git
Tambah sebuah user baru untuk menjalankan Gitea dengan cara berikut.
sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git
Perintah ini akan secara otomatis menambahkan sebuah user bernama git
dan mengatur direktori home pada /home/git
. Outputnya akan mirip dengan dibawah ini.
Adding system user `git' (UID 113) ...
Adding new group `git' (GID 117) ...
Adding new user `git' (UID 113) with group `git' ...
Creating home directory `/home/git' ...
Unduh binary milik Gitea
Kunjungi halaman unduhan Gitea dan lihat versi terakhir yang tersedia untuk diunduh. Disarankan jangan mengambil yg masih RC (release candidate). Pada saat artikel ini dibuat, versi terakhir saat artikel ini ditulis adalah 1.13.4
. Apabila terdapat versi yang lebih baru, silahkan ganti variabel dari VERSION
pada perintah dibawah.
VERSION=1.13.4
sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
Perintah diatas adalah perintah untuk mengunduh Gitea ke direktori /tmp
dan selanjutnya pindahkan ke direktori /usr/local/bin
.
sudo mv /tmp/gitea /usr/local/bin
Setelah itu, jalankan perintah berikut secara berurutan.
sudo chmod +x /usr/local/bin/gitea
sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git: /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
Membuat file unit systemd
Unduh filenya dengan menggunakan perintah berikut.
sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/
Atau dengan cara manual, buat file gitea.service
di direktori /etc/systemd/system/
dengan menyalin kode dibawah ini.
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
###
# Don't forget to add the database service requirements
###
#
#Requires=mysql.service
#Requires=mariadb.service
#Requires=postgresql.service
#Requires=memcached.service
#Requires=redis.service
#
###
# If using socket activation for main http/s
###
#
#After=gitea.main.socket
#Requires=gitea.main.socket
#
###
# (You can also provide gitea an http fallback and/or ssh socket too)
#
# An example of /etc/systemd/system/gitea.main.socket
###
##
## [Unit]
## Description=Gitea Web Socket
## PartOf=gitea.service
##
## [Socket]
## Service=gitea.service
## ListenStream=<some_port>
## NoDelay=true
##
## [Install]
## WantedBy=sockets.target
##
###
[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
# If using Unix socket: tells systemd to create the /run/gitea folder, which will contain the gitea.sock file
# (manually creating /run/gitea doesn't work, because it would not persist across reboots)
#RuntimeDirectory=gitea
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini --custom-path /home/git/custom
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
# If you want to bind Gitea to a port below 1024, uncomment
# the two values below, or use socket activation to pass Gitea its ports as above
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE
###
[Install]
WantedBy=multi-user.target
Setelah selesai, jalankan perintah ini secara berurutan untuk menjalankan Gitea.
sudo systemctl daemon-reload
sudo systemctl enable --now gitea
Pastikan Gitea sudah aktif dengan mengeksekusi perintah berikut.
sudo systemctl status gitea
Outputnya akan mirip dengan dibawah.
● gitea.service - Gitea (Git with a cup of tea)
Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
Active: active (running) since 5s ago
Main PID: 5111 (gitea)
Tasks: 7
Memory: 90.8M
CPU: 542ms
CGroup: /system.slice/gitea.service
└─5111 /usr/local/bin/gitea web --config /etc/gitea/app.ini
...
Konfigurasi awal Gitea
Pada tahap ini Gitea sudah aktif, saatnya untuk melakukan pengaturan lewat web browser.
Secara default, Gitea beroperasi menggunakan port 3000
. Pada sistem yang menggunakan ufw
firewall, diharuskan untuk membuka port ini dengan perintah berikut.
sudo ufw allow 3000/tcp
Buka browser dan akses alamat http://HOSTNAME_ANDA:3000
atau http://IP_SERVER:3000
dan tampilannya akan seperti ini.
Klik Explore pada menu kiri atas yang akan membuka halaman pengaturan Gitea.
Adapun pengaturan yang disarankan adalah sebagai berikut.
Database Settings
- Database Type:
SQLite3
- Path:
/var/lib/gitea/data/gitea.db
General Settings
- Site Title: Enter your organization name.
- Repository Root Path:
/home/git/gitea-repositories
- Git LFS Root Path:
/var/lib/gitea/data/lfs
- Run As Username:
git
- SSH Server Domain: Masukkan domain atau nomor IP server.
- SSH Port:
22
, ganti apabila SSH menggunakan port yang lain. - Gitea HTTP Listen Port:
3000
- Gitea Base URL: Masukkan http dan nama domain atau nomor IP server.
- Log Path:
/var/lib/gitea/log
Pengaturan diatas bisa diatur ulang kemudian dengan cara mengedit langsung file konfigurasi Gitea.
Klik Install Gitea. Dalam waktu singkat browser akan membuka halaman login.
Klik Register dan lakukan pendaftaran user baru. User ini akan secara otomatis menjadi administrator.
Untuk menyelesaikan tahap instalasi Gitea, jalankan perintah berikut ini.
sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.ini
Konfigurasi Nginx sebagai Proxy SSL
Tahap ini akan menunjukkan cara melakukan konfigurasi Nginx dan Lets Encrypt, agar Gitea dapat diakses via koneksi https dan tidak lagi menggunakan port. Tidak harus, namun sangat direkomendasikan.
Artikel ini akan menggunakan git.contoh.com
sebagai nama domain. Cek kembali pengaturan DNS dan pastikan nama domain sudah diarahkan ke alamat IP server ini, bisa dicek menggunakan perintah berikut.
dig git.contoh.com +short
Output yang diharapkan adalah sebuah nomor IP, yaitu IP server ini.
Install Nginx
Install Nginx dengan perintah berikut.
sudo apt update
sudo apt install nginx
Lalu periksa apakah berjalan normal dengan perintah ini.
sudo systemctl status nginx
Outputnya akan terlihat mirip seperti ini.
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since 1min 1s ago
Docs: man:nginx(8)
Main PID: 30035 (nginx)
Tasks: 2 (limit: 661)
CGroup: /system.slice/nginx.service
├─30035 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─30038 nginx: worker process
...
Lakukan konfigurasi pada firewall untuk nginx, jika menggunakan ufw
firewall lakukan perintah berikut secara berurutan.
sudo ufw disable
sudo ufw allow 'Nginx Full'
sudo ufw enable
Periksa status firewall dengan cara ini.
sudo ufw status
Outputnya kurang lebih akan terlihat seperti berikut.
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
Setelah itu buka browser dan coba akses alamat http://IP_ADDRESS
, apabila terlihat halaman dengan tulisan,
Welcome to nginx!
Berarti langkah instalasi Nginx selesai. Cara instalasi diatas bisa juga dibaca pada artikel berikut.
Buat server block
Langkah selanjutnya, adalah membuat server block untuk domain git.contoh.com
.
Pertama, sediakan direktori yang akan menjadi tempat menaruh semua file website nantinya. Jalankan perintah berikut.
sudo mkdir -p /var/www/git.contoh.com/public_html
Selanjutnya buat file index.html
yang akan menjadi halaman utama dari domain git.contoh.com
dengan menjalankan perintah berikut.
sudo vim /var/www/git.contoh.com/public_html/index.html
Pada editor teks yang terbuka, salin kode dibawah ini atau silahkan gunakan kode milik sendiri.
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Welcome to git.contoh.com</title>
</head>
<body>
<h1>Success! git.contoh.com home page!</h1>
</body>
</html>
Simpan dan tutup editor teksnya, lalu eksekusi perintah berikut.
sudo chown -R www-data: /var/www/git.contoh.com
Langkah kedua, pembuatan server block dengan cara berikut.
sudo vim /etc/nginx/sites-available/git.contoh.com
Pada editor teks yang terbuka, gunakan kode dibawah ini.
server {
listen 80;
listen [::]:80;
root /var/www/git.contoh.com/public_html;
index index.html;
server_name git.contoh.com;
access_log /var/log/nginx/git.contoh.com.access.log;
error_log /var/log/nginx/git.contoh.com.error.log;
location / {
try_files $uri $uri/ =404;
}
}
Untuk mengaktifkan konfigurasi server block diatas, jalankan perintah berikut.
sudo ln -s /etc/nginx/sites-available/git.contoh.com /etc/nginx/sites-enabled/
Selanjutnya cek konfigurasi Nginx jika terdapat error.
sudo nginx -t
Jika tanpa error, outputnya akan terlihat seperti berikut.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Restart Nginx.
sudo systemctl restart nginx
Silahkan cek server block yang baru dibuat apakah berfungsi dengan baik. Caranya dengan mengakses via browser alamat http://git.contoh.com
, hasil yang diharapkan adalah terlihat sebuah halaman yang bertuliskan,
Success! git.contoh.com home page!
Cara instalasi server block untuk Nginx bisa juga dibaca pada artikel berikut.
Cara membuat Server Block Nginx di Ubuntu 18.04
Erol Joudy ・ Mar 10 '21
Proteksi server block dengan Let's Encrypt
Instalasi Certbot
Untuk mendaftarkan certbot, jalankan perintah berikut secara berurutan. Perintah pada baris terakhir akan membutuhkan waktu yang agak lama, harap sabar menunggu hingga selesai.
sudo apt install certbot
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Pendaftaran sertifikat SSL dari Let’s Encrypt
Jalankan perintah berikut secara berurutan.
mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt
Buat file letsencrypt.conf
dengan cara berikut.
sudo vim /etc/nginx/snippets/letsencrypt.conf
Salin dan isi kode dibawah ini.
location ^~ /.well-known/acme-challenge/ {
allow all;
root /var/lib/letsencrypt/;
default_type "text/plain";
try_files $uri =404;
}
Simpan perubahan dan lanjutkan membuat file kedua yaitu ssl.conf
.
sudo vim /etc/nginx/snippets/ssl.conf
Salin dan isi kode dibawah ini.
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 30s;
add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload";
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
Simpan perubahan, selanjutnya file letsencrypt.conf
harus dideklarasikan pada server block dengan cara berikut.
sudo vim /etc/nginx/sites-available/git.contoh.com
Tambahkan baris kode berikut ini dalam file tersebut.
include snippets/letsencrypt.conf;
Konfigurasinya sekarang kurang lebih akan terlihat seperti ini.
server {
listen 80;
listen [::]:80;
root /var/www/git.contoh.com/public_html;
index index.html;
server_name git.contoh.com;
access_log /var/log/nginx/git.contoh.com.access.log;
error_log /var/log/nginx/git.contoh.com.error.log;
include snippets/letsencrypt.conf;
location / {
try_files $uri $uri/ =404;
}
}
Simpan perubahan, verifikasi kembali konfigurasinya jika sudah benar.
sudo nginx -t
Jika bebas error, lanjutkan dengan me-restart nginx.
sudo systemctl restart nginx
Sesudah restart, jalankan perintah berikut untuk mendaftarkan sertifikat SSL untuk server block domain yang baru dibuat diatas. Perhatikan, jangan lupa tulisan ALAMAT_EMAIL
diganti dengan alamat email milik Anda.
sudo certbot certonly --agree-tos --email ALAMAT_EMAIL --webroot -w /var/lib/letsencrypt/ -d git.contoh.com
Output yang dihasilkan apabila sertifikat SSL berhasil diperoleh, akan terlihat seperti dibawah ini.
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/git.contoh.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/git.contoh.com/privkey.pem
Your cert will expire on 2021-06-28. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Sekarang setelah sertifikat SSL sudah diperoleh, edit kembali file konfigurasi server block.
sudo vim /etc/nginx/sites-available/git.contoh.com
Salin dan update dengan menggunakan kode dibawah ini.
server {
listen 80;
server_name git.contoh.com;
root /var/www/git.contoh.com/public_html;
index index.html;
include snippets/letsencrypt.conf;
access_log /var/log/nginx/git.contoh.com.access.log;
error_log /var/log/nginx/git.contoh.com.error.log;
location / {
try_files $uri $uri/ =404;
}
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name git.contoh.com;
root /var/www/git.contoh.com/public_html;
index index.html;
ssl_certificate /etc/letsencrypt/live/git.contoh.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/git.contoh.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/git.contoh.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;
# . . . kode lainnya
}
Simpan perubahan, verifikasi kembali konfigurasinya jika sudah benar.
sudo nginx -t
Jika bebas error, lanjutkan dengan me-restart nginx.
sudo systemctl restart nginx
Buka browser, lalu coba akses domain kali dengan menggunakan https://git.contoh.com
.
Pengaturan cronjob untuk certbot
Langkah ini bertujuan untuk memastikan sertikat SSL Let's Encrypt diperpanjang secara otomatis, ketika akan habis masa berlakunya dalam waktu 30
hari.
Pertama, edit cronjob milik certbot dengan perintah ini.
sudo vim /etc/cron.d/certbot
Ubah baris cronjob yang sudah ada menjadi seperti dibawah ini.
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew --renew-hook "systemctl reload nginx"
Simpan perubahan diatas, selanjutnya untuk mengecek proses perpanjangan sertifikat SSL, bisa dicoba dengan perintah --dry-run
berikut ini.
sudo certbot renew --dry-run
Jika tidak muncul error, maka outputnya akan terlihat seperti ini.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
** DRY RUN: simulating 'certbot renew' close to cert expiry
** (The test certificates below have not been saved.)
Congratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/git.contoh.com/fullchain.pem (success)
** DRY RUN: simulating 'certbot renew' close to cert expiry
** (The test certificates above have not been saved.)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
Cara memproteksi Nginx dengan Let's Encrypt bisa juga dibaca pada artikel berikut.
Cara proteksi Nginx dengan Let’s Encrypt di Ubuntu 18.04
Erol Joudy ・ Mar 10 '21
Konfigurasi lanjutan Gitea
Edit file konfigurasi server block untuk domain git.contoh.com
dengan menjalankan perintah berikut.
sudo vim /etc/nginx/sites-enabled/git.contoh.com
Pada editor teks yang terbuka, salin dan update file dengan menggunakan kode dibawah ini.
server {
listen 80;
server_name git.contoh.com;
include snippets/letsencrypt.conf;
return 301 https://git.contoh.com$request_uri;
}
server {
listen 443 ssl http2;
server_name git.contoh.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
client_max_body_size 50m;
# Proxy headers
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
# SSL parameters
ssl_certificate /etc/letsencrypt/live/git.contoh.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/git.contoh.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/git.contoh.com/chain.pem;
include snippets/letsencrypt.conf;
include snippets/ssl.conf;
# log files
access_log /var/log/nginx/git.contoh.com.access.log;
error_log /var/log/nginx/git.contoh.com.error.log;
# Handle / requests
location / {
proxy_redirect off;
proxy_pass http://127.0.0.1:3000;
}
}
Simpan perubahan, verifikasi kembali konfigurasinya jika sudah benar.
sudo nginx -t
Jika bebas error, lanjutkan dengan me-restart nginx.
sudo systemctl restart nginx
Selanjutnya ganti url default Gitea dengan domain git.contoh.com
lewat perintah berikut.
sudo vim /etc/gitea/app.ini
Pada editor teks, cari bagian [server]
kemudian ubah menjadi seperti berikut ini.
[server]
DOMAIN = git.contoh.com
ROOT_URL = https://git.contoh.com/
Simpan perubahan, dan restart Gitea.
sudo systemctl restart gitea
Sampai pada langkah ini, Gitea sudah bisa diakses menggunakan alamat https://git.contoh.com
Konfigurasi notifikasi email
Supaya Gitea bisa mengirimkan email notifikasi, dibutuhkan pengaturan lanjutan pada file konfigurasi Gitea.
Buka file konfigurasi Gitea.
sudo vim /etc/gitea/app.ini
Cari bagian [mailer]
dan lakukan perubahan di bagian itu dengan memasukkan konfigurasi SMTP yang tepat. Konfigurasi yang salah, akan menyebabkan email notifikasi tidak akan terkirim.
[mailer]
ENABLED = true
HOST = SMTP_SERVER:SMTP_PORT
FROM = SENDER_EMAIL
USER = SMTP_USER
PASSWD = YOUR_SMTP_PASSWORD
Simpan perubahan, dan restart kembali Gitea.
sudo systemctl restart gitea
Untuk melakukan pengecekan apakah berfungsi dengan baik, kunjungi: Site Administration > Configuration > SMTP Mailer Configuration, dan cobalah untuk mengirim Test Email dari situ.
Upgrade Gitea
Stop Gitea terlebih dulu dengan perintah berikut.
sudo systemctl stop gitea
Kunjungi halaman unduhan Gitea dan lihat versi terbaru yang tersedia untuk diunduh. Lalu ganti variabel dari VERSION
pada perintah dibawah, dan jalankan perintah ini secara berurutan.
VERSION=<VERSI_TERBARU_GITEA>
wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
sudo mv /tmp/gitea /usr/local/bin
sudo chmod +x /usr/local/bin/gitea
sudo systemctl restart gitea
Bisa juga dilakukan dengan membuat file gitea-upgrade.sh
dan mengisi-nya dengan kode dibawah ini.
#!/bin/bash
VERSION=<VERSI_TERBARU_GITEA>
echo -e "\n"
echo -e "\e[0;36m..---Upgrade Gitea---...\e[m"
echo "......" && sudo systemctl stop gitea && sleep 1
wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64 && sleep 1
sudo mv /tmp/gitea /usr/local/bin && sleep 1
sudo chmod +x /usr/local/bin/gitea && sleep 1
sudo systemctl restart gitea
echo -e "\e[0;36m>> SUKSES upgrade Gitea ke versi ${VERSION}.\e[m"
Jangan lupa mengganti variable VERSION
terlebih dulu sebelum menyimpan file nya. Untuk mengeksekusinya, jalankan perintah berikut ini.
sudo bash gitea-upgrade.sh
Selesai.
Top comments (0)