Diskon 50%. semua paket, waktu terbatas. Mulai dari $2.48/mo
Gog

Gog

Gogs adalah layanan Git yang dihosting sendiri tanpa rasa sakit. Lebih ringan dari Gitea dan GitLab, yang ditulis dalam Go, berjalan dengan nyaman pada VPS 512 MB atau bahkan Raspberry Pi. Server Git asli berbasis Go, pendahulu Gitea, masih dipertahankan secara aktif untuk pengguna yang lebih menyukai area permukaan yang lebih kecil.

Versi

0.14.2

Sistem Operasi

Ubuntu Server 24.04 LTS

Minimal. RAM

1 GB

Jenis IP

IPV4,IPV6

Mengakses

  • Buka browser dan kunjungi: https://<SERVER_IP>
  • Peringatan SSL browser memang akan muncul (sertifikat self-signed)
  • Daftarkan akun baru
  • Akun terdaftar pertama menjadi Administrator

Nonaktifkan Pendaftaran Mandiri (Opsional)

Secara default, pendaftaran mandiri pengguna diaktifkan.

1. Edit file konfigurasi: /etc/gogs/conf/app.ini

2. Di bawah [auth] bagian, ubah: DISABLE_REGISTRATION = false to DISABLE_REGISTRATION = true

3. Mulai ulang Gog:

systemctl restart gogs

File dan Direktori Penting

  • Direktori install: /opt/gogs
  • Berkas konfigurasi: /etc/gogs/conf/app.ini
  • Data aplikasi: /var/lib/gogs
  • Repositori: /var/lib/gogs/repositories
  • Log: /var/log/gogs
  • Layanan sistem: /etc/systemd/system/gogs.service
  • Konfigurasi Nginx: /etc/nginx/sites-available/gogs.conf
  • Sertifikat TLS: /etc/nginx/ssl/

Penggunaan Git

HTTPS (sertifikat yang ditandatangani sendiri):

GIT_SSL_NO_VERIFY=true git clone https://<SERVER_IP>/<USERNAME>/<REPOSITORY>.git

SSH (Server bawaan):

git clone ssh://git@<SERVER_IP>:2222/<USERNAME>/<REPOSITORY>.git

Manajemen Layanan

Gog:

systemctl status gogs
systemctl restart gogs

Nginx:

systemctl status nginx
systemctl restart nginx

PostgreSQL:

systemctl status postgresql
systemctl restart postgresql

Catatan

  • File konfigurasi utama terletak di /etc/gogs/conf/app.ini. Setelah memodifikasi file konfigurasi, restart layanan menggunakan systemctl restart gogs.
  • Batas unggah Nginx ditentukan di /etc/nginx/sites-available/gogs.conf menggunakan client_max_body_size. Tingkatkan untuk repositori besar dan mulai ulang Nginx.
  • Untuk penerapan besar, Anda dapat menghapus komentar LimitMEMLOCK=infinity Dan LimitNOFILE=65535 in /etc/systemd/system/gogs.service, lalu jalankan systemctl daemon-reload dan mulai ulang Gogs.
  • Kredensial basis data ditentukan dalam /etc/gogs/conf/app.ini.
  • Untuk penggunaan produksi, disarankan untuk mengganti sertifikat yang ditandatangani sendiri dengan sertifikat Let’s Encrypt yang valid.
  • Jika menggunakan sertifikat yang ditandatangani sendiri, diperlukan kloning HTTPS GIT_SSL_NO_VERIFY=true.

Mengaktifkan SSL dengan Domain

1. Arahkan domain kamu ke IP server.

2. Perbarui konfigurasi Gogs (/etc/gogs/conf/app.ini):

EXTERNAL_URL = https://yourdomain.com/
DOMAIN = yourdomain.com
SSH_DOMAIN = yourdomain.com

3. Mulai ulang layanan Gogs untuk menerapkan perubahan:

systemctl restart gogs

3. Edit konfigurasi Nginx dan ganti keduanya server_name <IP>; dengan domainmu (<your-domain>) untuk blok HTTP (port 80) dan HTTPS (port 443):

vim /etc/nginx/sites-available/gogs.conf

4. Instal Certbot:

apt install -y certbot python3-certbot-nginx

5. Jalankan perintah berikut untuk menghasilkan sertifikat Let's Encrypt yang valid:

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

6. Ganti jalur SSL di konfigurasi Nginx:

vim /etc/nginx/sites-available/gogs.conf
# Before:
    # ssl_certificate /etc/nginx/ssl/gogs.crt;
    # ssl_certificate_key /etc/nginx/ssl/gogs.key;
# After:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

7. Restart Nginx untuk menerapkan perubahan:

systemctl restart nginx

8. Buka browser Anda dan kunjungi: https://yourdomain.com

Lebih banyak di DevOps Tools

Aplikasi terkait.

Sebarkan Gog sekarang. Mulai $2,48/bln.