Gitea Self-Hosted: Akses dari Luar Jaringan dengan IP Public Statis

Port web 3000 dan SSH Git: menjalankan Gitea di rumah untuk tim dengan IP public statis.

Diperbarui: 3 November 2026 · Port dan pengaturan mengacu pada nilai bawaan perangkat

Ringkasnya: Untuk mengakses Gitea self-hosted dengan IP public, Anda dapat menghubungkan router atau server ke jaringan tunnel IPnesia guna menembus CGNAT. Selanjutnya, arahkan port 3000 untuk antarmuka web dan port 22 untuk lalu lintas SSH git. Sesuaikan juga pengaturan ROOT_URL pada konfigurasi Gitea agar tautan clone menampilkan alamat publik yang benar.

Yang Anda butuhkan
  • Layanan IP public IPnesia yang aktif (kredensial tunnel tersedia di client area).
  • Perangkat yang bisa menjalankan klien tunnel: Mikrotik, router OpenWrt, mini-PC/Raspberry Pi, atau Windows/Linux.
  • Perangkat tujuan di jaringan lokal dengan IP tetap (static/DHCP reservation).

Port yang dipakai Gitea

PortProtokolFungsiDiteruskan?
3000TCPAntarmuka web GiteaOpsional
22TCPSSH untuk gitOpsional

Port di atas adalah nilai bawaan. Bila Anda mengubahnya di perangkat, sesuaikan aturan penerusan port.

Kenapa Gitea Self-Hosted sering tidak bisa diakses dari luar

Menjalankan server Git mandiri di kantor atau rumah sering kali terbentur kendala jaringan saat hendak diakses oleh rekan kerja dari luar. Sebagian besar koneksi internet pelanggan berada di balik CGNAT (Carrier-Grade NAT) dan memiliki alamat IP dinamis yang berubah sewaktu-waktu. Kondisi ini membuat server lokal Anda tidak memiliki alamat IP publik mandiri yang dapat langsung dihubungi dari internet publik.

Selain kendala pada lapisan perutean jaringan, kendala umum lainnya bersumber dari konfigurasi internal aplikasi. Gitea memakai HTTP port 3000 secara bawaan untuk antarmuka web dan port 22 untuk jalur SSH. Jika parameter ROOT_URL belum diatur ke alamat publik yang baru, tautan clone repositori akan tetap merujuk ke alamat lokal lama sehingga proses penarikan kode dari luar jaringan tetap gagal.

Cara IP public statis membuka akses ke Gitea

Kendala ketiadaan IP publik lokal dapat diatasi dengan membangun sambungan terowongan jaringan dari sisi klien. Router atau mesin server lokal Anda bertindak sebagai pemula koneksi keluar menuju server IPnesia menggunakan protokol tunnel seperti WireGuard, L2TP/IPsec, atau SSTP. Karena paket data keluar dimulai dari dalam jaringan Anda, sistem keamanan ISP dan rintangan CGNAT dapat dilewati dengan mudah.

Alamat IP public statis yang disematkan pada sisi server tunnel kemudian akan meneruskan setiap paket data masuk ke server Git Anda. Anda cukup mengarahkan lalu lintas data pada port 3000 untuk antarmuka web dan port 22 untuk jalur SSH git. Dengan mekanisme ini, seluruh anggota tim di luar jaringan dapat membuka web maupun melakukan operasi git secara stabil tanpa terganggu perubahan IP.

Langkah membuka Gitea lewat IP public statis

Langkah awal dimulai dengan mengaktifkan koneksi tunnel pada router jaringan atau langsung di mesin server lokal Anda. Pastikan server Gitea Anda telah diberikan alamat IP lokal yang tetap di jaringan LAN agar aliran paket tidak terputus atau salah sasaran saat perangkat jaringan dinyalakan ulang.

Selanjutnya, buat aturan penerusan porta (dstnat) pada router untuk mengarahkan lalu lintas yang masuk melalui antarmuka tunnel ke IP lokal server Gitea. Teruskan port 3000 TCP untuk kebutuhan antarmuka web dan port 22 TCP untuk protokol SSH git. Terakhir, perbarui nilai ROOT_URL pada konfigurasi Gitea agar mengarah ke alamat publik Anda, lalu uji akses repositori dari jaringan internet lain.

Aturan penerusan port di Mikrotik (RouterOS)

Ganti 192.168.88.20 dengan IP tetap perangkat di jaringan Anda, dan ipnesia dengan nama interface tunnel Anda. Sesuaikan port bila Anda mengubahnya di perangkat.

/ip firewall nat add chain=dstnat in-interface=ipnesia protocol=tcp dst-port=3000 action=dst-nat to-addresses=192.168.88.20 to-ports=3000 comment="Gitea 3000/tcp"
/ip firewall nat add chain=dstnat in-interface=ipnesia protocol=tcp dst-port=22 action=dst-nat to-addresses=192.168.88.20 to-ports=22 comment="Gitea 22/tcp"
/ip firewall filter add chain=forward action=accept connection-nat-state=dstnat in-interface=ipnesia place-before=0 comment="izinkan dstnat dari IPnesia"

Uji dari jaringan lain (data seluler atau VPS)

Port terbuka bila perintah ini berhasil tersambung. Untuk port UDP, uji langsung memakai aplikasi/klien terkait.

nc -vz IP_PUBLIC_ANDA 3000
nc -vz IP_PUBLIC_ANDA 22

Mengamankan Gitea yang terhubung ke internet

Membuka port server lokal ke internet publik menuntut kewaspadaan ekstra terhadap keamanan data kode program Anda. Apabila instalasi Gitea tersebut hanya diperuntukkan bagi tim internal, segera matikan opsi pendaftaran terbuka pada pengaturan sistem. Tindakan ini mencegah pihak luar yang tidak berwenang membuat akun baru atau melihat repositori privat Anda.

Selain membatasi pendaftaran akun, pastikan seluruh interaksi web dilindungi dengan HTTPS dan gunakan kunci SSH untuk autentikasi git. Penggunaan kunci SSH memastikan bahwa proses pengunggahan maupun penarikan kode hanya dapat dilakukan oleh pengguna terverifikasi, sekaligus melindungi kredensial tim Anda dari ancaman penyadapan data di jaringan luar.

Batasan yang perlu Anda ketahui

Penggunaan solusi ini memerlukan perangkat router atau komputer server lokal yang memiliki kemampuan untuk menjalankan klien tunnel. Selain itu, performa kecepatan penarikan data atau clone repositori berukuran besar akan dibatasi oleh kecepatan upload koneksi internet lokal Anda serta batas paket tunnel yang digunakan.

Perlu dipahami pula bahwa melewatkan lalu lintas data melalui rute tunnel akan menambah sedikit latensi jaringan dibandingkan jalur koneksi fisik langsung. Memiliki IP public statis juga bukan pengganti pengamanan sistem; Anda tetap berkewajiban merawat sistem operasi, memperbarui aplikasi Gitea, dan menerapkan izin akses repositori secara disiplin.

Troubleshooting Gitea

GejalaPenyebabSolusi
Tautan clone menampilkan alamat lokalPengaturan ROOT_URL di dalam berkas konfigurasi Gitea belum diatur ke alamat publik, sehingga sistem masih mencantumkan alamat bawaan atau IP lokal.Buka berkas konfigurasi Gitea, ubah nilai parameter ROOT_URL menjadi domain atau alamat IP public yang Anda gunakan, kemudian muat ulang layanan Gitea.

Pertanyaan umum

Apakah port 22 wajib diteruskan jika tim saya hanya menggunakan web?

Tidak wajib. Port 22 hanya diperlukan jika tim Anda berinteraksi dengan repositori git melalui jalur SSH. Jika seluruh aktivitas git dan manajemen kode hanya memakai antarmuka web atau protokol HTTP, Anda cukup membuka port 3000.

Kapan saya tidak membutuhkan IP public statis untuk Gitea?

Anda tidak memerlukan IP public statis apabila server Gitea hanya digunakan oleh tim yang berada di dalam satu ruangan atau jaringan lokal yang sama tanpa ada kebutuhan akses jarak jauh dari luar kantor.

Bagaimana cara kerja akses SSH git pada Gitea?

Akses git lewat SSH memakai port SSH server sistem operasi host atau SSH bawaan Gitea bila diaktifkan. Keduanya memanfaatkan port 22 untuk pertukaran data repositori secara aman menggunakan autentikasi kunci.

Mengapa perintah git clone gagal meski antarmuka web sudah terbuka?

Hal ini biasanya terjadi jika port SSH belum diteruskan ke server lokal, atau pengaturan ROOT_URL belum disesuaikan sehingga tautan clone masih mengarahkan klien git ke alamat IP privat lokal.

Pelajari juga

Paket yang cocok

Pilih sesuai protokol yang didukung perangkat Anda: Essential (L2TP/SSTP) untuk Mikrotik RouterOS 6/7 atau Windows, Pro (WireGuard) untuk RouterOS 7, Linux, dan perangkat modern.

Indonesia

ID-150 Essential

IP Publik statis Indonesia
L2TP / SSTP
  • 1 IPv4 publik statis khusus Anda
  • Speed hingga 150 Mbps
  • Kompatibel Mikrotik, Windows & router
  • Kredensial & perintah siap-salin di panel
Rp99.000 / bulanan
Pesan Sekarang