Forge git swa-hos · Dibina di Malaysia
Kod anda, di mesin anda.
Codr menyimpan repo git di pelayan anda sendiri, lengkap dengan SSH, HTTPS, isu, pull request dan CI. Satu binari, satu folder data, antara muka dalam Bahasa Melayu dan Inggeris.
git clone https://git.codr.my/aiman/contoh.git
AGPL-3.0-or-later · Go · SQLite · git
Diukur pada pelayan ini, sekarang
- Satu binari Go. Tiada apa lagi untuk dipasang.
- 22MB
- Repo yang dilayan git.codr.my.
- 138
- Memori yang digunakan seluruh pelayan.
- 26MB
- Servis lain: tiada Postgres, Redis atau baris gilir.
- 0
Antara muka yang memberi ruang kepada kod
Tangkapan skrin di bawah ialah Codr sebenar, bukan lakaran. Satu dakwat, satu kertas, satu warna aksen, dalam tema cerah dan gelap.
git.codr.my/aiman/contoh/pr/2
git.codr.my/aiman/contoh/blob/main/src/cuti.go
Peraturan dijaga di pelayan
Cawangan dilindungi, had saiz tolakan dan repo cermin baca sahaja disemak sebelum git menulis apa-apa, sama ada anda tolak melalui SSH atau HTTPS. Mesej di bawah ialah ayat sebenar Codr.
- Satu tempat untuk peraturan
- Kedua-dua pintu memanggil semakan yang sama, jadi tiada jalan belakang.
- Ayat dalam bahasa anda
- Penolakan dijelaskan dalam Bahasa Melayu atau Inggeris, ikut tetapan pengguna.
git push origin main
Enumerating objects: 7, done.
Writing objects: 100% (4/4), 412 bytes | 412.00 KiB/s, done.
To git.codr.my:aiman/contoh.git
7280938..c41e0a2 main -> main
git push --force origin main
remote: Codr: cawangan main dilindungi pada aiman/contoh. Tolakan paksa (bukan fast-forward) ditolak.
! [remote rejected] main -> main (pre-receive hook declined)
Apa yang sudah berjalan
Setiap baris di bawah sedang berjalan di git.codr.my hari ini.
Klon dan tolak melalui SSH atau HTTPS
Kunci SSH dan token untuk setiap pengguna. Cawangan dilindungi menolak tolak paksa, dan had saiz tolakan ialah satu tetapan.
Isu dan pull request
Label, komen dan semakan. Gabungan menyemak konflik dahulu dan tidak menimpa tolakan yang tiba pada masa yang sama.
Cermin dari GitHub atau mana-mana URL
Repo disegarkan mengikut jadual. Token sumber disulitkan dalam pangkalan data dan tidak pernah muncul dalam log.
Backup yang dipulihkan setiap malam
codr backup mengambil snapshot yang konsisten. Di pelayan ini snapshot itu dipulihkan semula setiap malam sebagai latihan.
Membaca kod dengan selesa
Pokok fail, sorotan sintaks, sejarah, jejak baris, carian dalam repo dan README lengkap dengan imej.
Satu perintah untuk menyemak
codr doctor menyemak config, pangkalan data, git, hook, kunci dan ruang cakera. Satu baris untuk setiap semakan.
Repo anda kekal repo git biasa
Codr tidak menukar repo anda kepada format sendiri. Setiap repo ialah bare repo git di dalam folder data. Kalau pelayan berhenti, anda masih boleh klon terus dari cakera.
- Satu folder untuk dibackup
- Pangkalan data SQLite dan repo duduk bersama. Salin folder itu, atau guna codr backup untuk snapshot ketika pelayan berjalan.
- Tiada perkhidmatan lain
- Tiada Postgres, Redis atau baris gilir untuk dijaga. Pelayan SSH, HTTPS dan penjadual cermin berada dalam proses yang sama.
ls data
codr.db hooks repos ssh
git clone data/repos/12.git projek
Cloning into 'projek'...
Dibina selepas pelancaran
Setiap item bermula di senarai ini sebagai pelan. Kini semuanya berjalan dalam versi di pelayan ini.
- Hidup
Kerja harian yang lengkap
Penerima isu dan PR, fixes #12 menutup isu, gabung squash atau rebase, dan log aktiviti anda sendiri.
- Hidup
CI di pelayan anda
Setiap tolakan menjalankan kerja dalam .codr/ci.toml di kontena tanpa rangkaian. Hasilnya muncul pada commit dan PR, dan cawangan dilindungi boleh menunggu semuanya lulus.
- Hidup
Webhook bertandatangan
Setiap tolakan, isu, komen, semakan dan status dihantar ke URL anda sendiri, ditandatangani HMAC, dicuba semula dengan jarak, dan tidak pernah ke alamat persendirian kecuali anda membenarkannya.
- Hidup
Pemberitahuan dan emel
Loceng dan emel pilihan untuk benang yang anda buka, sertai, disebut atau ikuti, dan tidak pernah tentang repo yang anda tidak boleh baca.
- Hidup
Log masuk dua langkah
TOTP dengan mana-mana aplikasi pengesah, kod pemulihan sekali guna, dan senarai pelayar yang log masuk yang boleh anda tamatkan.
- Hidup
API REST dengan OpenAPI
Token yang sama seperti git, dihadkan skopnya, dengan status commit untuk pelari CI anda dan huraian yang boleh dibaca mesin.
- Hidup
Git LFS
Fail besar melalui HTTPS dan SSH, disemak hash semasa dimuat naik dan dibawa dalam fork, backup dan pemulihan.
- Hidup
Wiki dalam git
Halaman Markdown di sebelah kod, setiap perubahan satu commit, dua penyunting tidak pernah saling menindih, dan seluruh wiki sejauh satu git clone.
- Hidup
Organisasi dan pasukan
Pemilik bersama, kebenaran pasukan dan fork antara orang.
- Hidup
Backup ke awan anda sendiri
Salinan bersulit setiap repo dan pangkalan data dalam baldi S3, R2 atau B2 anda, dengan kunci yang hanya anda pegang, disemak dengan ujian pulih selepas setiap larian.
- Hidup
Pembantu AI mengikut syarat anda
Ringkasan pull request dan nota semakan dalam Bahasa Melayu atau Inggeris, dari endpoint model yang anda pilih. Mati sehingga anda menghidupkannya, repo demi repo.
- Hidup
Bawa semuanya dari GitHub
Isu, pull request dan perbincangannya, bukan kod sahaja, supaya meninggalkan GitHub tidak bermakna meninggalkan sejarah anda.
- Hidup
Laporan data yang boleh diserahkan
Siapa boleh baca apa, di mana data disimpan, setiap tindakan dalam jejak audit, dan eksport data peribadi untuk setiap pengguna.
Sesuai untuk siapa
Sesuai
- Pembangun solo yang mahu kod di mesin sendiri.
- Pasukan kecil yang perlukan semakan kod, CI dan organisasi bersama tanpa langganan.
- Sesiapa yang mahu membaca dan memahami forge yang mereka jalankan.
Belum sesuai
- Organisasi besar dengan ribuan pengguna dan audit pematuhan.
- Pasukan yang perlukan registri pakej atau imej kontena di sebelah kod.
- Sesiapa yang mencari perkhidmatan dihoskan. Codr berjalan di pelayan yang anda jaga sendiri.
Pasang di pelayan anda
Perlukan Linux (amd64 atau arm64) dan git 2.40 atau lebih baharu. Muat turun binari keluaran, atau bina dengan Go 1.27. Pelayan SSH dan HTTPS bermula dengan satu perintah.
- Muat turun binari
curl -fLO https://github.com/sasateguh/codr/releases/latest/download/codr-linux-amd64 && sudo install codr-linux-amd64 /usr/local/bin/codr - Sediakan folder
codr init --dir /srv/codr - Cipta pentadbir
codr admin user add nama --admin - Jalankan
codr serve
Lesen AGPL-3.0-or-later. Kalau anda mengubah kod pelayan, kongsikan perubahan itu dengan pengguna pelayan anda. Kod sumber
Soalan
Sebelum anda memasang
- Adakah Codr alternatif kepada Gitea atau Forgejo?
- Ya, untuk seorang atau pasukan kecil yang mahu forge yang boleh dibaca dari awal hingga akhir. Gitea dan Forgejo buat lebih banyak: registri pakej, CI serasi Actions, kerja federasi dalam Forgejo dan komuniti besar. Codr lebih kecil: satu binari Go, satu fail SQLite, repo git bare biasa, antara muka Inggeris dan Melayu, dan kerja CI yang berjalan tanpa rangkaian secara lalai. Kalau anda perlukan pakej atau ekosistem plugin, pilih Gitea atau Forgejo.
- Adakah Codr perlukan Postgres, Redis atau baris gilir?
- Tidak. Codr menyimpan datanya dalam satu fail SQLite bersebelahan repo git bare biasa. Salin folder data, atau jalankan codr backup semasa ia berjalan untuk snapshot yang konsisten.
- Apakah lesen Codr?
- AGPL-3.0-or-later. Anda boleh guna, ubah dan hos, termasuk di tempat kerja. Kalau anda mengubah pelayan dan membenarkan orang lain menggunakannya melalui rangkaian, kongsikan perubahan anda dengan mereka di bawah lesen yang sama.
- Apa yang saya perlukan untuk menjalankannya?
- Linux amd64 atau arm64 dan git 2.40 atau lebih baharu. Muat turun binari keluaran dan semak dengan SHA256SUMS, kemudian jalankan codr init dan codr serve. Membina dari sumber perlukan Go 1.27. Docker hanya perlu untuk CI.
- Bolehkah saya pindahkan repo dari GitHub?
- Boleh. Codr mencermin repo GitHub dan mengimport isu serta pull requestnya dengan nombor asal, jadi pautan seperti #12 terus berfungsi.
- Siapa yang membina Codr?
- Aiman Malib di Sasa Teguh, Malaysia. Codr memegang kod pengarangnya sendiri sejak Oktober 2026.
Sumber terbuka, AGPL-3.0-or-later
Lihat sendiri
Repo contoh di forge pemilik boleh dibaca tanpa akaun: fail, sejarah, isu dan pull request.