Semua sistem beroperasi normal 21 mata uang kripto yang diterima · Monero diterima dengan senang hati Kebijakan tanpa KYC
ChainVPS

Dev · tanpa KYC

Host Gitea di VPS Offshore

Jalankan forge Git ringan Anda sendiri di VPS tanpa KYC dengan pembayaran kripto, dan simpan setiap repo, issue, dan pipeline CI jauh dari cloud pihak ketiga.

Apa itu

Gitea adalah layanan Git self-hosted yang ditulis dalam Go — alternatif ringan untuk GitHub/GitLab yang menawarkan repository, pull request, issue, wiki, release, dan Actions (CI/CD). Tersedia sebagai satu binary tunggal atau image Docker dengan kebutuhan memori kecil, menjadikannya pilihan ideal untuk tim yang ingin kendali penuh atas source code mereka.

Mengapa hosting di offshore

Source code termasuk data paling sensitif yang dimiliki sebuah tim; menghostingnya di VPS offshore tanpa identitas membuatnya berada di luar jangkauan platform code-hosting besar beserta kebijakan retensi data dan takedown mereka. Membayar dengan kripto tanpa KYC berarti infrastruktur proyek Anda tidak terikat pada identitas korporat, dan bandwidth unmetered membuat clone, proses CI, serta unduhan release mengalir tanpa kejutan meteran.

Proses deploy

Contoh setup referensi yang berfungsi

Salin ini ke instance ChainVPS baru. Ganti placeholder-nya, lalu jalankan.

docker-compose.yml

# docker-compose.yml — Gitea + PostgreSQL di Ubuntu 24.04
# 1) apt install docker.io docker-compose-v2
# 2) letakkan file ini di /opt/gitea lalu jalankan: docker compose up -d
# 3) buka http://SERVER_IP:3000 untuk menyelesaikan installer web
services:
  server:
    image: gitea/gitea:1.22
    container_name: gitea
    restart: always
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=postgres
      - GITEA__database__HOST=db:5432
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=CHANGE_ME_STRONG_DB_PW
      # URL clone yang benar — atur ke domain Anda setelah DNS siap:
      - GITEA__server__DOMAIN=git.example.com
      - GITEA__server__ROOT_URL=https://git.example.com/
      - GITEA__server__SSH_PORT=222
      - GITEA__service__DISABLE_REGISTRATION=true
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"   # web UI — di produksi pasang di depan reverse proxy TLS
      - "222:22"      # git-over-SSH (host 222 -> container 22)
    depends_on:
      - db
    networks:
      - gitea

  db:
    image: postgres:16
    container_name: gitea-db
    restart: always
    environment:
      - POSTGRES_USER=gitea
      - POSTGRES_PASSWORD=CHANGE_ME_STRONG_DB_PW
      - POSTGRES_DB=gitea
    volumes:
      - ./postgres:/var/lib/postgresql/data
    networks:
      - gitea

networks:
  gitea:
    external: false

Firewall

Port yang perlu dibuka

PortProtokolTujuan
3000TCPUI web Gitea dan HTTP git — di produksi tempatkan di belakang reverse proxy TLS (Caddy/Nginx)
222TCPGit-over-SSH (port host dipetakan ke container 22) untuk clone/push lewat SSH key
443TCPHTTPS lewat reverse proxy Anda setelah domain dan sertifikat terpasang
22TCPSSH host untuk admin — gunakan port terpisah dari port 222 milik Gitea dan hanya dengan key

Penyesuaian ukuran yang tepat

Paket mana yang Anda butuhkan

Ringan

VPS Nano/Small (1-2 vCPU, 2 GB RAM)

Developer solo atau segelintir pengguna, beberapa lusin repo, tanpa CI. Gitea idle di kisaran 150-200 MB RAM.

Menengah

VPS Pro (2-4 vCPU, 4-8 GB RAM)

Tim kecil, pull request aktif, plus satu atau dua runner Gitea Actions untuk CI. Tambahkan volume storage untuk artefak release berukuran besar.

Berat

Dedicated (atau Storage VPS untuk repo)

Banyak pengguna bersamaan, monorepo besar, konkurensi CI tinggi, atau media yang berat di LFS. CPU dedicated menjaga operasi clone/pack tetap gesit; padukan dengan paket Storage untuk data repo/LFS.

Lokasi terbaik: Pilih lokasi dengan tingkat privasi terbaik — Swiss (CH) dan Islandia (IS) menawarkan postur perlindungan data terkuat untuk source code, dengan Belanda (NL), Rumania (RO), Moldova (MD), dan Luksemburg (LU) sebagai alternatif offshore yang solid. Pilih region yang paling dekat dengan kontributor Anda untuk memangkas latensi clone/push, karena round-trip git sensitif terhadap latensi.

Amankan sekarang

Daftar periksa hardening

  • Jangan pernah membuka port 3000 langsung ke internet — tempatkan Gitea di belakang reverse proxy TLS (Caddy auto-HTTPS atau Nginx + certbot) dan atur GITEA__server__ROOT_URL ke domain https agar URL clone benar.
  • Atur DISABLE_REGISTRATION=true (sudah ada di compose) segera setelah membuat akun admin Anda, agar tidak ada yang bisa mendaftar sendiri; undang pengguna secara manual atau lewat panel admin.
  • Pertahankan git-over-SSH di port 222 dan sshd milik host sendiri di port yang berbeda, keduanya hanya dengan key (PasswordAuthentication no); Gitea mengelola authorized_keys-nya sendiri secara internal, jadi jangan mengedit manual.
  • Aktifkan 2FA untuk setiap akun dan wajibkan untuk admin; pindahkan password DB dari environment ke Docker secret atau file .env dengan izin 600.
  • Backup ./gitea (repo, konfigurasi, LFS) dan pg_dump database gitea secara terjadwal, serta kunci image ke tag versi tertentu (gitea/gitea:1.22) alih-alih latest agar upgrade dilakukan secara sengaja — baca release notes sebelum naik ke versi major.

Pertanyaan

Hosting Gitea — FAQ

Bisakah saya menjalankan CI/CD tanpa layanan terpisah?

Bisa. Gitea punya Actions bawaan (kompatibel dengan GitHub Actions). Aktifkan fiturnya, lalu daftarkan container runner (gitea/act_runner) ke instance Anda. Untuk beban CI yang nyata, gunakan paket Medium atau lebih besar agar build tidak membuat layanan web kehabisan resource.

SQLite, MySQL, atau PostgreSQL?

SQLite cocok untuk satu pengguna ringan dan tidak butuh container DB. Untuk tim atau jalur pertumbuhan apa pun, gunakan PostgreSQL seperti pada compose di atas — jauh lebih baik menangani konkurensi dan mudah dibackup dengan pg_dump.

Bagaimana cara migrasi repo saya dari GitHub/GitLab?

Alat migrasi bawaan Gitea mengimpor repo lewat URL termasuk issue, PR, release, dan wiki. Tambahkan token untuk platform sumber di formulir migrasi untuk menarik repo privat dan metadatanya.

Apakah ini mendukung file besar (Git LFS)?

Ya, LFS didukung secara native dan disimpan di /data. Jika Anda menghosting file biner atau media besar, letakkan ./gitea di volume Storage VPS dan siapkan alokasi disk sesuai kebutuhan — objek LFS cepat menumpuk.

Apakah kode saya tetap privat di host tanpa KYC?

Repo Anda sepenuhnya berada di disk VPS Anda, di yurisdiksi offshore pilihan Anda; tidak ada yang di-mirror ke pihak ketiga. Pertahankan registrasi tetap nonaktif, gunakan HTTPS + SSH key, aktifkan 2FA, dan buat backup terenkripsi di luar server untuk kendali penuh.

Jalankan Gitea
dalam 60 detik ke depan.

Bandwidth unmetered · DDoS Termasuk · 21 mata uang kripto · Tanpa KYC.