---
canonical: https://koalavps.com/id/guides-self-host-git-server-on-a-vps/
language: id
generated: 2026-10-21T13:32:38.539Z
---

[Beranda](https://koalavps.com/id/) / [Jelajahi](https://koalavps.com/id/resources/) /  Catatan lapangan KoalaVPS

Catatan lapangan KoalaVPS

# Sebuah forge kecil yang dapat Anda bangun kembali.

Layanan Git dapat menjaga repositori dan kolaborasi tetap dalam kendali Anda. Lindungi kode, basis data, dan sistem build secara terpisah.

[Temukan VPS Anda](https://koalavps.com/id/vps/)

## DALAM DOKUMEN INI

[Pilih lapisan kolaborasi](https://koalavps.com/id/guides-self-host-git-server-on-a-vps/#section-1)[Pisahkan build dari forge](https://koalavps.com/id/guides-self-host-git-server-on-a-vps/#section-2)[Lindungi akses dan pendaftaran](https://koalavps.com/id/guides-self-host-git-server-on-a-vps/#section-3)[Cadangkan seluruh layanan](https://koalavps.com/id/guides-self-host-git-server-on-a-vps/#section-4)[Daftar periksa pemulihan forge](https://koalavps.com/id/guides-self-host-git-server-on-a-vps/#section-5)[Batasi hak deployment secara sempit](https://koalavps.com/id/guides-self-host-git-server-on-a-vps/#section-6)[Gunakan layanan kolaborasi terkecil yang sesuai](https://koalavps.com/id/guides-self-host-git-server-on-a-vps/#section-7)[Pisahkan jalur web, SSH, dan basis data](https://koalavps.com/id/guides-self-host-git-server-on-a-vps/#section-8)[Verifikasi clone, push, dan operasi yang ditolak](https://koalavps.com/id/guides-self-host-git-server-on-a-vps/#section-9)[Pulihkan diskusi sekaligus repositori](https://koalavps.com/id/guides-self-host-git-server-on-a-vps/#section-10)[Basis pengetahuan](https://koalavps.com/id/resources/)

## Pilih lapisan kolaborasi

Forgejo dan Gitea adalah contoh perangkat lunak forge ringan; Git SSH biasa bisa cukup untuk alur kerja yang lebih kecil. Sesuaikan masalah, ulasan, penyimpanan paket, dan persyaratan identitas dengan proyek. Verifikasi versi dan lisensi yang didukung saat ini.

## Pisahkan build dari forge

Runner CI menjalankan kode yang dikendalikan proyek dan tidak boleh menyimpan kredensial forge atau host tanpa batasan. Isolasi runner, batasi cakupan token, dan hindari menjalankan tugas tak tepercaya pada akun istimewa yang sama dengan layanan repositori.

## Lindungi akses dan pendaftaran

Nonaktifkan pendaftaran publik saat layanan bersifat privat. Gunakan akun individual, autentikasi kuat, dan kunci penerapan dengan cakupan yang cermat. Dokumentasikan port SSH dan kunci host; jangan diam-diam melatih pengguna untuk mengabaikan peringatan kunci host.

## Cadangkan seluruh layanan

Repositori saja mungkin tidak mencakup masalah, akun, lampiran, dan konfigurasi. Ikuti prosedur pencadangan konsisten forge dan uji pemulihan dengan izin file dan rahasia aplikasi tetap utuh.

## Daftar periksa pemulihan forge

Ekspor basis data secara konsisten dan pertahankan penyimpanan repositori, lampiran, penyimpanan file besar jika diaktifkan, konfigurasi, dan rahasia enkripsi. Verifikasi klon melalui rute SSH atau HTTPS yang dimaksud setelah pemulihan. Jaga forge dan pekerja CI mana pun tetap terisolasi agar build tidak dapat menulis ulang konfigurasi layanan itu sendiri.

## Batasi hak deployment secara sempit

Kunci penerapan hanya-baca bisa cukup untuk server yang hanya menarik kode. Otomasi rilis mungkin memerlukan cakupan tambahan yang kecil. Utamakan kunci independen untuk mesin berbeda, catat tujuannya, dan hapus saat mesin dinonaktifkan.

## Gunakan layanan kolaborasi terkecil yang sesuai

Untuk beberapa repositori privat, Git bare melalui SSH terbatas bisa cukup. Forgejo atau Gitea menambahkan akun, pull request, issue, dan paket opsional dengan biaya basis data, pembaruan aplikasi, dan status persisten yang lebih banyak. Catat fitur mana yang benar-benar akan digunakan tim. Anggarkan pertumbuhan repositori, objek file besar, lampiran, dan artefak build secara terpisah; komputasi CI dapat melebihi forge itu sendiri.

- Pilih nama HTTPS kanonis dan lindungi akun DNS-nya.

- Tentukan apakah pendaftaran ditutup, berbasis undangan, atau dimoderasi.

- Berikan identitas tanpa hak istimewa dan penyimpanan privat yang tahan lama kepada layanan forge.

Dokumentasi resmi: [Instalasi kontainer Forgejo](https://forgejo.org/docs/latest/admin/installation/docker/)

## Pisahkan jalur web, SSH, dan basis data

Gunakan konfigurasi upstream untuk rilis yang dipilih dan kunci versi image yang dimaksudkan. Reverse proxy TLS harus dapat menjangkau listener web internal; database hanya boleh dapat dijangkau oleh forge. Jika Git SSH menggunakan port kontainer, jaga agar host dan port eksternal yang diiklankan konsisten dengan pemetaan. Jangan mengganti atau secara tidak sengaja mengekspos listener SSH administrator host saat mengubah forge. Tutup akses instalasi/penyiapan setelah pemilik awal dibuat.

- Periksa kepemilikan volume persisten sebelum memulai aplikasi.

- Gunakan pengguna database yang dibatasi pada database forge.

- Jaga runner CI pada batas kepercayaan terpisah, terutama untuk repositori yang tidak tepercaya.

Dokumentasi resmi: [Jaringan dan persistensi Docker Forgejo](https://forgejo.org/docs/latest/admin/installation/docker/)

## Verifikasi clone, push, dan operasi yang ditolak

Buat repositori privat sekali pakai dan uji klon HTTPS atau SSH URL dari akun pengembang biasa. Commit dan push file yang tidak berbahaya, lalu verifikasi pembaca sah lainnya dapat mengambilnya. Akun yang tidak diundang harus gagal membaca repositori privat. Periksa penanganan file besar dan email notifikasi jika diaktifkan. Untuk mesin khusus penerapan, uji bahwa kunci hanya-baca dapat mengambil dan tidak dapat push; keberhasilan autentikasi saja tidak membuktikan batas izin yang dimaksud.

```
# Use the disposable repository URL advertised by your forge:
git clone ssh://git@git.example.com:2222/team/check.git
# In a clone, inspect which remote is configured:
git remote -v
```

## Pulihkan diskusi sekaligus repositori

Ambil cadangan aplikasi/database yang konsisten, penyimpanan repositori, lampiran, data LFS, konfigurasi, dan rahasia enkripsi yang diperlukan. Ikuti prosedur pencadangan versi forge yang terpasang; perintah pencadangan Gitea tidak otomatis dapat dipertukarkan dengan setiap rilis Forgejo. Bangun ulang secara terisolasi dan verifikasi issue, lampiran, login, dan clone. Jika push gagal setelah pemindahan, periksa host/port SSH, pemetaan kunci, izin penyimpanan, dan URL clone yang diiklankan sebelum mengubah izin repositori secara global.

Dokumentasi resmi: [Pencadangan dan pemulihan Gitea](https://docs.gitea.com/administration/backup-and-restore/)

TERUS JELAJAHI

## Lanjutkan membaca.

[Kasus penggunaan ### Self-hosting dengan rencana pemeliharaan. Server dapat membuat alat Anda portabel dan dapat disesuaikan. Manfaatnya bertahan ketika pembaruan, pencadangan, dan pemulihan me…](https://koalavps.com/id/self-hosting/)[Panduan ### Cadangan baru berarti saat berhasil dipulihkan. Rancang pencadangan berdasarkan data yang tidak dapat Anda buat ulang dan waktu yang dapat Anda tanggung untuk kehilangan layanan.…](https://koalavps.com/id/backups/)[Panduan ### Jaga mesin tetap milik Anda. Keamanan adalah rutinitas berkelanjutan: kurangi permukaan yang terekspos, batasi hak istimewa, tambal secara sengaja, dan buat pe…](https://koalavps.com/id/server-security/)

KONFIGURASIKAN INFRASTRUKTUR ANDA

## Ambil kendali. Deploy sesuai ketentuan Anda.

Tanpa dokumen identitas. Akses administrator penuh. Penagihan berbasis kripto.

[Pilih konfigurasi](https://koalavps.com/id/vps/)
