10>10>
11> Lingkungan yang di-host sendiri berada dalam beta publik pada paket Team dan Enterprise dan dinonaktifkan secara default. Lihat [Ketersediaan dan batasan](#availability-and-limitations) untuk jalur pengaktifan dan apa yang dikecualikan.11> Lingkungan yang di-host sendiri berada dalam beta publik pada paket Team dan Enterprise dan dinonaktifkan secara default. Lihat [Ketersediaan dan batasan](#availability-and-limitations) untuk jalur pengaktifan dan apa yang dikecualikan.
12 12
13Lingkungan yang di-host sendiri menjalankan sesi cloud Claude Code pada infrastruktur yang dioperasikan organisasi Anda. [Sesi cloud](/docs/id/claude-code-on-the-web.md) adalah sesi apa pun yang berjalan di tempat selain mesin pengembang. Pengembang memulainya dari claude.ai, aplikasi mobile dan desktop, terminal dengan [`claude --cloud`](/docs/id/claude-code-on-the-web#from-terminal-to-cloud), dan [tugas terjadwal cloud](/docs/id/routines.md). Secara default, sesi cloud dijalankan pada infrastruktur Anthropic.13Lingkungan yang di-host sendiri menjalankan sesi cloud Claude Code pada infrastruktur yang dioperasikan organisasi Anda. [Sesi cloud](https://code.claude.com/docs/id/claude-code-on-the-web.md) adalah sesi apa pun yang berjalan di tempat selain mesin pengembang. Pengembang memulainya dari claude.ai, aplikasi mobile dan desktop, terminal dengan [`claude --cloud`](https://code.claude.com/docs/id/claude-code-on-the-web#from-terminal-to-cloud), dan [tugas terjadwal cloud](https://code.claude.com/docs/id/routines.md). Secara default, sesi cloud dijalankan pada infrastruktur Anthropic.
14 14
15Dalam lingkungan yang di-host sendiri, sesi yang sama tersebut dijalankan di dalam jaringan Anda. Selebihnya, pengalaman pengembang sama, kecuali perbedaan dalam [Ketersediaan dan batasan](#availability-and-limitations) dan [masalah yang diketahui](/docs/id/self-hosted-environments-deploy.md#known-issues-and-limitations) halaman deploy.15Dalam lingkungan yang di-host sendiri, sesi yang sama tersebut dijalankan di dalam jaringan Anda. Selebihnya, pengalaman pengembang sama, kecuali perbedaan dalam [Ketersediaan dan batasan](#availability-and-limitations) dan [masalah yang diketahui](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#known-issues-and-limitations) halaman deploy.
16 16
17Jika tim Anda tidak menggunakan sesi cloud, tidak ada yang perlu dikonfigurasi di sini: sesi di terminal atau IDE selalu berjalan di mesin pengembang sendiri. Jika Anda ingin menjalankan Claude Code pada mesin yang selalu aktif milik Anda dan menggerakkannya dari perangkat lain, gunakan [Remote Control](/docs/id/remote-control.md), yang juga tersedia pada paket Pro dan Max. Ketika Anda siap untuk menyiapkan, langsung ke [quickstart](/docs/id/self-hosted-environments-quickstart.md); untuk meninjau postur keamanan terlebih dahulu, mulai dengan [Deploy ke produksi](/docs/id/self-hosted-environments-deploy.md). Sisa halaman ini menjelaskan cara kerja self-hosting dan kapan memilihnya.17Jika tim Anda tidak menggunakan sesi cloud, tidak ada yang perlu dikonfigurasi di sini: sesi di terminal atau IDE selalu berjalan di mesin pengembang sendiri. Jika Anda ingin menjalankan Claude Code pada mesin yang selalu aktif milik Anda dan menggerakkannya dari perangkat lain, gunakan [Remote Control](https://code.claude.com/docs/id/remote-control.md), yang juga tersedia pada paket Pro dan Max. Ketika Anda siap untuk menyiapkan, langsung ke [quickstart](https://code.claude.com/docs/id/self-hosted-environments-quickstart.md); untuk meninjau postur keamanan terlebih dahulu, mulai dengan [Deploy ke produksi](https://code.claude.com/docs/id/self-hosted-environments-deploy.md). Sisa halaman ini menjelaskan cara kerja self-hosting dan kapan memilihnya.
18 18
19## Cara kerja lingkungan yang di-host sendiri19## Cara kerja lingkungan yang di-host sendiri
20 20
24* **Runner**: program yang berjalan pada host di dalam jaringan Anda. Runner menjalankan sesi; idenya sama dengan runner CI yang di-host sendiri.24* **Runner**: program yang berjalan pada host di dalam jaringan Anda. Runner menjalankan sesi; idenya sama dengan runner CI yang di-host sendiri.
25* **Session**: satu tugas Claude Code yang dimulai pengembang.25* **Session**: satu tugas Claude Code yang dimulai pengembang.
26 26
27Ketika pengembang memulai sesi cloud, UI awal sesi menampilkan pemilih environment yang mencantumkan environment yang di-host Anthropic bersama dengan yang telah dibuat organisasi Anda. Jika mereka memilih milik Anda, control plane Anthropic menempatkan sesi pada antrian environment Anda, di mana runner mengklaimnya, mengkloning repositori yang dipilih pengembang, dan memulai proses Claude Code pada host Anda untuk menjalankannya. Runner mengautentikasi ke host git Anda dengan kredensial yang Anda konfigurasi; [Konfigurasi git](/docs/id/self-hosted-environments-deploy.md#configure-git) mencakup opsinya. Sesi menjangkau layanan internal Anda dari dalam jaringan Anda, dan host git Anda dengan cara yang sama ketika itu internal; lalu lintas ke Anthropic, polling antrian, aliran peristiwa sesi, dan secara default inferensi model, adalah HTTPS keluar ke `api.anthropic.com`, dengan daftar singkat host lebih lanjut yang dapat dijangkau sesi dalam [Persyaratan jaringan](/docs/id/self-hosted-environments-deploy.md#network-requirements). Anthropic tidak pernah terhubung ke jaringan Anda.27Ketika pengembang memulai sesi cloud, UI awal sesi menampilkan pemilih environment yang mencantumkan environment yang di-host Anthropic bersama dengan yang telah dibuat organisasi Anda. Jika mereka memilih milik Anda, control plane Anthropic menempatkan sesi pada antrian environment Anda, di mana runner mengklaimnya, mengkloning repositori yang dipilih pengembang, dan memulai proses Claude Code pada host Anda untuk menjalankannya. Runner mengautentikasi ke host git Anda dengan kredensial yang Anda konfigurasi; [Konfigurasi git](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#configure-git) mencakup opsinya. Sesi menjangkau layanan internal Anda dari dalam jaringan Anda, dan host git Anda dengan cara yang sama ketika itu internal; lalu lintas ke Anthropic, polling antrian, aliran peristiwa sesi, dan secara default inferensi model, adalah HTTPS keluar ke `api.anthropic.com`, dengan daftar singkat host lebih lanjut yang dapat dijangkau sesi dalam [Persyaratan jaringan](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#network-requirements). Anthropic tidak pernah terhubung ke jaringan Anda.
28 28
2929
30 30
31Dua kotak Claude Code dalam diagram adalah proses sesi: satu runner menjalankan dua sesi sekaligus, hingga kapasitas yang dikonfigurasi. Runner melayani satu [owner](#key-concepts) pada satu waktu dan terkunci ke owner itu ketika mengklaim sesi pertamanya, jadi kode yang diperiksa tidak pernah bercampur antara owner; [Runner lifecycle](#runner-lifecycle) mencakup aturannya.31Dua kotak Claude Code dalam diagram adalah proses sesi: satu runner menjalankan dua sesi sekaligus, hingga kapasitas yang dikonfigurasi. Runner melayani satu [owner](#key-concepts) pada satu waktu dan terkunci ke owner itu ketika mengklaim sesi pertamanya, jadi kode yang diperiksa tidak pernah bercampur antara owner; [Runner lifecycle](#runner-lifecycle) mencakup aturannya.
32 32
33Anda dapat memulai runner sendiri dan membiarkannya berjalan, atau menjalankan [orchestrator autoscaling](/docs/id/self-hosted-environments-configuration.md#on-demand-runners), proses kedua yang Anda host, yang memulai runner saat sesi antri; setiap runner keluar dengan sendirinya ketika pekerjaannya selesai. Bagaimanapun, Anda menyiapkan environment sekali, dan itu muncul di pemilih pada setiap permukaan yang didukung.33Anda dapat memulai runner sendiri dan membiarkannya berjalan, atau menjalankan [orchestrator autoscaling](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#on-demand-runners), proses kedua yang Anda host, yang memulai runner saat sesi antri; setiap runner keluar dengan sendirinya ketika pekerjaannya selesai. Bagaimanapun, Anda menyiapkan environment sekali, dan itu muncul di pemilih pada setiap permukaan yang didukung.
34 34
35## Ketersediaan dan batasan35## Ketersediaan dan batasan
36 36
37Periksa ini sebelum merencanakan peluncuran:37Periksa ini sebelum merencanakan peluncuran:
38 38
39* **Plans**: beta publik untuk organisasi Team dan Enterprise. Lingkungan yang di-host sendiri dinonaktifkan secara default; [Owner](/docs/id/cloud-environments.md#organization-shared-environments) mengaktifkan **Allow self-hosted environments** pada [halaman admin **Cloud environments**](https://claude.ai/admin-settings/cloud-environments), yang memerlukan [cloud sessions](/docs/id/claude-code-on-the-web.md) diaktifkan untuk organisasi.39* **Plans**: beta publik untuk organisasi Team dan Enterprise. Lingkungan yang di-host sendiri dinonaktifkan secara default; [Owner](https://code.claude.com/docs/id/cloud-environments.md#organization-shared-environments) mengaktifkan **Allow self-hosted environments** pada [halaman admin **Cloud environments**](https://claude.ai/admin-settings/cloud-environments), yang memerlukan [cloud sessions](https://code.claude.com/docs/id/claude-code-on-the-web.md) diaktifkan untuk organisasi.
40* **Zero Data Retention and HIPAA**: tidak tersedia untuk organisasi dengan [Zero Data Retention](/docs/id/zero-data-retention.md) diaktifkan atau dengan [konfigurasi HIPAA](/docs/id/hipaa-setup.md) diterapkan.40* **Zero Data Retention and HIPAA**: tidak tersedia untuk organisasi dengan [Zero Data Retention](https://code.claude.com/docs/id/zero-data-retention.md) diaktifkan atau dengan [konfigurasi HIPAA](https://code.claude.com/docs/id/hipaa-setup.md) diterapkan.
41* **Model inference**: sesi menggunakan Anthropic API kecuali Anda mengonfigurasi runner untuk [mengirim permintaan model ke Amazon Bedrock atau Google Cloud's Agent Platform](/docs/id/self-hosted-environments-configuration.md#send-model-requests-to-bedrock-or-agent-platform). Konten sesi tetap dikirim ke Anthropic dalam kedua kasus. Pada runner yang dikonfigurasi dengan cara ini, [pengaturan yang dikelola server](/docs/id/server-managed-settings.md) dan kebijakan organisasi dari claude.ai tidak diterapkan ke sesi.41* **Model inference**: sesi menggunakan Anthropic API kecuali Anda mengonfigurasi runner untuk [mengirim permintaan model ke Amazon Bedrock atau Google Cloud's Agent Platform](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#send-model-requests-to-bedrock-or-agent-platform). Konten sesi tetap dikirim ke Anthropic dalam kedua kasus. Pada runner yang dikonfigurasi dengan cara ini, [pengaturan yang dikelola server](https://code.claude.com/docs/id/server-managed-settings.md) dan kebijakan organisasi dari claude.ai tidak diterapkan ke sesi.
42* **Surfaces**: sesi yang dimulai dari [claude.ai/code](https://claude.ai/code), aplikasi mobile dan desktop, [tugas terjadwal cloud](/docs/id/routines.md), dan terminal, dengan [`claude --cloud`](/docs/id/claude-code-on-the-web#from-terminal-to-cloud) atau [dispatch `--environment`](/docs/id/self-hosted-environments-testing#run-the-test-loop), dapat berjalan di lingkungan yang di-host sendiri. Sesi [Claude Tag](https://claude.com/docs/claude-tag/overview) juga dapat berjalan di dalamnya, tetapi Claude belum dapat menggunakan [Access bundles](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) dalam sesi tersebut. Sesi [Claude Security](/docs/id/claude-security.md) dan [Code Review](/docs/id/code-review.md) belum dirutekan ke lingkungan tersebut. Dukungan untuk kedua surface itu akan menyusul secara terpisah.42* **Surfaces**: sesi yang dimulai dari [claude.ai/code](https://claude.ai/code), aplikasi mobile dan desktop, [tugas terjadwal cloud](https://code.claude.com/docs/id/routines.md), dan terminal, dengan [`claude --cloud`](https://code.claude.com/docs/id/claude-code-on-the-web#from-terminal-to-cloud) atau [dispatch `--environment`](https://code.claude.com/docs/id/self-hosted-environments-testing#run-the-test-loop), dapat berjalan di lingkungan yang di-host sendiri. Sesi [Claude Tag](https://claude.com/docs/claude-tag/overview) juga dapat berjalan di dalamnya, tetapi Claude belum dapat menggunakan [Access bundles](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) dalam sesi tersebut. Sesi [Claude Security](https://code.claude.com/docs/id/claude-security.md) dan [Code Review](https://code.claude.com/docs/id/code-review.md) belum dirutekan ke lingkungan tersebut. Dukungan untuk kedua surface itu akan menyusul secara terpisah.
43* **Repositories**: sesi memeriksa repositori dari GitHub; lihat [opsi autentikasi GitHub](/docs/id/claude-code-on-the-web.md#github-authentication-options). Untuk host GitHub Enterprise Server, lihat [persyaratan jaringannya](/docs/id/github-enterprise-server.md#network-requirements).43* **Repositories**: sesi memeriksa repositori dari GitHub; lihat [opsi autentikasi GitHub](https://code.claude.com/docs/id/claude-code-on-the-web.md#github-authentication-options). Untuk host GitHub Enterprise Server, lihat [persyaratan jaringannya](https://code.claude.com/docs/id/github-enterprise-server.md#network-requirements).
44* **Billing**: sesi dalam lingkungan yang di-host sendiri menggunakan penggunaan Claude Code organisasi Anda dengan cara yang sama seperti sesi dalam lingkungan yang di-host Anthropic.44* **Billing**: sesi dalam lingkungan yang di-host sendiri menggunakan penggunaan Claude Code organisasi Anda dengan cara yang sama seperti sesi dalam lingkungan yang di-host Anthropic.
45 45
46## Mengapa self-host46## Mengapa self-host
68| Runner | Proses jangka panjang yang Anda deploy. Runner mendaftar dengan environment, menerima token runner, dan polling untuk sesi. |68| Runner | Proses jangka panjang yang Anda deploy. Runner mendaftar dengan environment, menerima token runner, dan polling untuk sesi. |
69| Session | Satu tugas Claude Code, dimulai dari claude.ai, aplikasi mobile, atau surface Anthropic lain seperti tugas terjadwal atau agent. Setiap sesi berjalan sebagai proses Claude Code anak yang dimulai runner. |69| Session | Satu tugas Claude Code, dimulai dari claude.ai, aplikasi mobile, atau surface Anthropic lain seperti tugas terjadwal atau agent. Setiap sesi berjalan sebagai proses Claude Code anak yang dimulai runner. |
70 70
71Di bidang API, klaim token, dan nama metrik, environment muncul sebagai `pool`, dan ID environment adalah `pool_id`. [Referensi](/docs/id/self-hosted-environments-reference.md) memetakan dua ejaan, termasuk nama flag `pool` yang sudah usang.71Di bidang API, klaim token, dan nama metrik, environment muncul sebagai `pool`, dan ID environment adalah `pool_id`. [Referensi](https://code.claude.com/docs/id/self-hosted-environments-reference.md) memetakan dua ejaan, termasuk nama flag `pool` yang sudah usang.
72 72
73Runner melayani satu owner pada satu waktu. Sesi pertama yang diambil runner mengunci runner ke owner sesi itu, dan runner kemudian menjalankan sesi hanya untuk owner itu, hingga kapasitas yang dikonfigurasi. Siapa owner tergantung pada bagaimana sesi dimulai:73Runner melayani satu owner pada satu waktu. Sesi pertama yang diambil runner mengunci runner ke owner sesi itu, dan runner kemudian menjalankan sesi hanya untuk owner itu, hingga kapasitas yang dikonfigurasi. Siapa owner tergantung pada bagaimana sesi dimulai:
74 74
90 90
91### Siklus hidup runner91### Siklus hidup runner
92 92
93Sesi pertama yang diambil runner mengunci runner ke owner sesi itu, dan runner menjalankan hingga `--capacity` sesi bersamaan untuk owner itu. Sementara runner memiliki sesi aktif dan belum menerima sinyal shutdown atau mencapai waktu pensiun, runner terus mengklaim pekerjaan antri owner yang terkunci. Apa yang terjadi setelah mereka selesai tergantung pada [`--drain-grace-sec`](/docs/id/self-hosted-environments-reference#runner-cli-flags):93Sesi pertama yang diambil runner mengunci runner ke owner sesi itu, dan runner menjalankan hingga `--capacity` sesi bersamaan untuk owner itu. Sementara runner memiliki sesi aktif dan belum menerima sinyal shutdown atau mencapai waktu pensiun, runner terus mengklaim pekerjaan antri owner yang terkunci. Apa yang terjadi setelah mereka selesai tergantung pada [`--drain-grace-sec`](https://code.claude.com/docs/id/self-hosted-environments-reference#runner-cli-flags):
94 94
95* **Pada default `0`**: runner keluar segera setelah sesi aktifnya selesai, tanpa polling untuk lebih banyak, jadi orchestrator yang Anda deploy di bawahnya, seperti Kubernetes, dapat memulainya ulang dengan disk segar, siap melayani owner apa pun.95* **Pada default `0`**: runner keluar segera setelah sesi aktifnya selesai, tanpa polling untuk lebih banyak, jadi orchestrator yang Anda deploy di bawahnya, seperti Kubernetes, dapat memulainya ulang dengan disk segar, siap melayani owner apa pun.
96* **Pada nilai positif**: runner terus polling antrian owner yang terkunci selama banyak detik itu sebelum keluar.96* **Pada nilai positif**: runner terus polling antrian owner yang terkunci selama banyak detik itu sebelum keluar.
97 97
98Siklus hidup ini mengisolasi kode yang diperiksa setiap owner tanpa memerlukan runner untuk menghapus status disk antara owner.98Siklus hidup ini mengisolasi kode yang diperiksa setiap owner tanpa memerlukan runner untuk menghapus status disk antara owner.
99 99
100Bagaimana infrastruktur Anda menghentikan runner menentukan apakah Anda memerlukan `--retire-at`. Pembunuhan yang mengirimkan `SIGTERM` tidak memerlukan flag: runner mengalirkan seperti [Shutdown timing](/docs/id/self-hosted-environments-deploy.md#shutdown-timing) menjelaskan, atau terus melayani sesi yang sudah dipegang ketika Anda menetapkan [`--defer-shutdown-max-min`](/docs/id/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal). Jika infrastruktur Anda malah menghancurkan host pada waktu dinding jam yang diketahui tanpa sinyal, atau dengan periode grace terlalu pendek untuk mengalirkan, seperti batas seumur hidup sandbox atau penarikan spot-instance, teruskan `--retire-at <epoch-seconds>` diatur ke beberapa menit sebelum waktu itu. Pada waktu pensiun:100Bagaimana infrastruktur Anda menghentikan runner menentukan apakah Anda memerlukan `--retire-at`. Pembunuhan yang mengirimkan `SIGTERM` tidak memerlukan flag: runner mengalirkan seperti [Shutdown timing](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#shutdown-timing) menjelaskan, atau terus melayani sesi yang sudah dipegang ketika Anda menetapkan [`--defer-shutdown-max-min`](https://code.claude.com/docs/id/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal). Jika infrastruktur Anda malah menghancurkan host pada waktu dinding jam yang diketahui tanpa sinyal, atau dengan periode grace terlalu pendek untuk mengalirkan, seperti batas seumur hidup sandbox atau penarikan spot-instance, teruskan `--retire-at <epoch-seconds>` diatur ke beberapa menit sebelum waktu itu. Pada waktu pensiun:
101 101
1021. Runner berhenti mengambil pekerjaan baru.1021. Runner berhenti mengambil pekerjaan baru.
1032. Runner melepaskan setiap sesi aktif melalui jalur pelepasan yang sama yang digunakan flag [`--release-idle-session-min`](/docs/id/self-hosted-environments-reference#runner-cli-flags), jadi sesi dilanjutkan pada runner segar ketika pengguna mengirim pesan berikutnya. Kapan runner melepaskan setiap sesi tergantung pada statusnya:1032. Runner melepaskan setiap sesi aktif melalui jalur pelepasan yang sama yang digunakan flag [`--release-idle-session-min`](https://code.claude.com/docs/id/self-hosted-environments-reference#runner-cli-flags), jadi sesi dilanjutkan pada runner segar ketika pengguna mengirim pesan berikutnya. Kapan runner melepaskan setiap sesi tergantung pada statusnya:
104 * Runner melepaskan sesi yang sedang berada di tengah giliran setelah giliran itu selesai. Runner terlebih dahulu menunggu proses sesi melaporkan akhir giliran ke Anthropic, tidak lebih lama dari [`SELF_HOSTED_RUNNER_POST_TURN_SETTLE_MS`](/docs/id/self-hosted-environments-reference#environment-variable-only-settings). Sebelum v2.1.280, runner melepaskan sesi segera setelah giliran selesai.104 * Runner melepaskan sesi yang sedang berada di tengah giliran setelah giliran itu selesai. Runner terlebih dahulu menunggu proses sesi melaporkan akhir giliran ke Anthropic, tidak lebih lama dari [`SELF_HOSTED_RUNNER_POST_TURN_SETTLE_MS`](https://code.claude.com/docs/id/self-hosted-environments-reference#environment-variable-only-settings). Sebelum v2.1.280, runner melepaskan sesi segera setelah giliran selesai.
105 * Ketika giliran selesai dan meninggalkan tugas latar belakang berjalan, runner menunggu hingga 60 detik untuk mereka, kemudian melepaskan sesi bahkan jika mereka masih berjalan. Jika tugas telah selesai tetapi giliran tindak lanjut yang membaca hasilnya belum berjalan, runner menyimpan sesi sampai giliran itu selesai, dan menunggu tidak lebih lama dari [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](/docs/id/self-hosted-environments-reference#environment-variable-only-settings) untuk giliran itu dimulai.105 * Ketika giliran selesai dan meninggalkan tugas latar belakang berjalan, runner menunggu hingga 60 detik untuk mereka, kemudian melepaskan sesi bahkan jika mereka masih berjalan. Jika tugas telah selesai tetapi giliran tindak lanjut yang membaca hasilnya belum berjalan, runner menyimpan sesi sampai giliran itu selesai, dan menunggu tidak lebih lama dari [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](https://code.claude.com/docs/id/self-hosted-environments-reference#environment-variable-only-settings) untuk giliran itu dimulai.
1063. Runner keluar 0 setelah semua sesinya dilepaskan.1063. Runner keluar 0 setelah semua sesinya dilepaskan.
107 107
108Giliran yang bertahan lebih lama dari pembunuhan masih hilang; [Shutdown timing](/docs/id/self-hosted-environments-deploy.md#shutdown-timing) mencakup ukuran margin. Tanpa `--retire-at`, pembunuhan host tanpa sinyal tidak dapat dibedakan dari crash: control plane mencatat pekerja yang hilang daripada pelepasan bersih, dan sesi memasukkan kembali ke runner lain.108Giliran yang bertahan lebih lama dari pembunuhan masih hilang; [Shutdown timing](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#shutdown-timing) mencakup ukuran margin. Tanpa `--retire-at`, pembunuhan host tanpa sinyal tidak dapat dibedakan dari crash: control plane mencatat pekerja yang hilang daripada pelepasan bersih, dan sesi memasukkan kembali ke runner lain.
109 109
110### Jalur jaringan110### Jalur jaringan
111 111
112Runner dan sesinya membuat beberapa jenis koneksi keluar, dan tidak ada konektivitas masuk dari Anthropic yang diperlukan:112Runner dan sesinya membuat beberapa jenis koneksi keluar, dan tidak ada konektivitas masuk dari Anthropic yang diperlukan:
113 113
114* **Control plane**: runner polling `api.anthropic.com` untuk pekerjaan dan posting peristiwa kemajuan setup dan kegagalan, semua HTTPS keluar. Polling berfungsi ganda sebagai detak jantung runner.114* **Control plane**: runner polling `api.anthropic.com` untuk pekerjaan dan posting peristiwa kemajuan setup dan kegagalan, semua HTTPS keluar. Polling berfungsi ganda sebagai detak jantung runner.
115* **Git**: runner mengkloning dari dan melakukan push ke host git Anda melalui HTTPS atau SSH, diautentikasi dengan kredensial yang disediakan deployment Anda. Lihat [Konfigurasi git](/docs/id/self-hosted-environments-deploy.md#configure-git) untuk opsinya, termasuk kredensial yang dicetak per sesi. Dengan [proxy git Anthropic](/docs/id/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy), lalu lintas git untuk repositori di github.com melewati `api.anthropic.com` sebagai gantinya.115* **Git**: runner mengkloning dari dan melakukan push ke host git Anda melalui HTTPS atau SSH, diautentikasi dengan kredensial yang disediakan deployment Anda. Lihat [Konfigurasi git](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#configure-git) untuk opsinya, termasuk kredensial yang dicetak per sesi. Dengan [proxy git Anthropic](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy), lalu lintas git untuk repositori di github.com melewati `api.anthropic.com` sebagai gantinya.
116* **Session child**: proses Claude Code anak memegang stream peristiwa sesi ke `api.anthropic.com`, dan membuat panggilan keluarnya sendiri untuk inferensi model dan untuk perintah git yang dijalankan selama sesi. Dalam sesi yang menggunakan [git yang dikelola Anthropic](/docs/id/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy), proses anak mengirim lalu lintas `git` dan `gh` untuk github.com melalui koneksi WebSocket yang dibukanya ke `api.anthropic.com`.116* **Session child**: proses Claude Code anak memegang stream peristiwa sesi ke `api.anthropic.com`, dan membuat panggilan keluarnya sendiri untuk inferensi model dan untuk perintah git yang dijalankan selama sesi. Dalam sesi yang menggunakan [git yang dikelola Anthropic](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy), proses anak mengirim lalu lintas `git` dan `gh` untuk github.com melalui koneksi WebSocket yang dibukanya ke `api.anthropic.com`.
117* **SCM connector**: [SCM connector](/docs/id/self-hosted-environments-reference.md#scm-connector-flags) orchestrator yang opsional tidak tersedia, sehingga tunnel-nya tidak terbuka. Tunnel tersebut adalah koneksi WebSocket ke `api.anthropic.com`.117* **SCM connector**: [SCM connector](https://code.claude.com/docs/id/self-hosted-environments-reference.md#scm-connector-flags) orchestrator yang opsional tidak tersedia, sehingga tunnel-nya tidak terbuka. Tunnel tersebut adalah koneksi WebSocket ke `api.anthropic.com`.
118 118
119Lihat [Persyaratan jaringan](/docs/id/self-hosted-environments-deploy.md#network-requirements) untuk daftar egress lengkap. [Diagram di atas](#how-self-hosted-environments-work) menunjukkan jalur-jalur ini, kecuali SCM connector opsional dan koneksi git yang dikelola Anthropic.119Lihat [Persyaratan jaringan](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#network-requirements) untuk daftar egress lengkap. [Diagram di atas](#how-self-hosted-environments-work) menunjukkan jalur-jalur ini, kecuali SCM connector opsional dan koneksi git yang dikelola Anthropic.
120 120
121Secara default, inferensi model menggunakan Anthropic API. Control plane mengirimkan endpoint API ke setiap sesi, dan sesi mengautentikasi dengan token OAuth yang diterbitkan Anthropic dan berlingkup sesi. Untuk mengirim permintaan model ke akun cloud Anda sendiri sebagai gantinya, lihat [Kirim permintaan model ke Bedrock atau Agent Platform](/docs/id/self-hosted-environments-configuration.md#send-model-requests-to-bedrock-or-agent-platform).121Secara default, inferensi model menggunakan Anthropic API. Control plane mengirimkan endpoint API ke setiap sesi, dan sesi mengautentikasi dengan token OAuth yang diterbitkan Anthropic dan berlingkup sesi. Untuk mengirim permintaan model ke akun cloud Anda sendiri sebagai gantinya, lihat [Kirim permintaan model ke Bedrock atau Agent Platform](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#send-model-requests-to-bedrock-or-agent-platform).
122 122
123Proxy egress korporat didukung. Runner dan [orchestrator autoscaling](/docs/id/self-hosted-environments-configuration.md#on-demand-runners) opsional menghormati proxy dan variabel mTLS yang dijelaskan dalam [Konfigurasi jaringan](/docs/id/network-config.md), seperti `HTTPS_PROXY` dan `NO_PROXY`; atur mereka di lingkungan setiap proses. Variabel mencakup panggilan control-plane, [SCM connector](/docs/id/self-hosted-environments-reference.md#scm-connector-flags) WebSocket orchestrator, dan klon bawaan untuk remote HTTPS, dan sesi mewarisinya dari runner. Streaming sesi menggunakan server-sent events melalui HTTPS, jadi proxy dalam jalur tidak boleh membuffer respons.123Proxy egress korporat didukung. Runner dan [orchestrator autoscaling](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#on-demand-runners) opsional menghormati proxy dan variabel mTLS yang dijelaskan dalam [Konfigurasi jaringan](https://code.claude.com/docs/id/network-config.md), seperti `HTTPS_PROXY` dan `NO_PROXY`; atur mereka di lingkungan setiap proses. Variabel mencakup panggilan control-plane, [SCM connector](https://code.claude.com/docs/id/self-hosted-environments-reference.md#scm-connector-flags) WebSocket orchestrator, dan klon bawaan untuk remote HTTPS, dan sesi mewarisinya dari runner. Streaming sesi menggunakan server-sent events melalui HTTPS, jadi proxy dalam jalur tidak boleh membuffer respons.
124 124
125Jika proxy Anda juga memerlukan header `Proxy-Authorization`, runner dapat menambahkannya ke setiap koneksi yang dibukanya ke proxy; lihat [Autentikasi ke proxy egress](/docs/id/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy).125Jika proxy Anda juga memerlukan header `Proxy-Authorization`, runner dapat menambahkannya ke setiap koneksi yang dibukanya ke proxy; lihat [Autentikasi ke proxy egress](https://code.claude.com/docs/id/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy).
126 126
127## Apa yang tetap pada infrastruktur Anda127## Apa yang tetap pada infrastruktur Anda
128 128
129Checkout repositori, artefak build, rahasia, dan file apa pun yang dibuat atau dimodifikasi sesi tetap pada mesin yang Anda sediakan. Percakapan itu sendiri, termasuk prompt, respons, dan hasil tool, dikirim ke `api.anthropic.com`, dan Anthropic menyimpan transkrip sesi sehingga Anda dapat melanjutkan sesi dari [surface yang didukung](#availability-and-limitations) lain. Ketika runner [mengirim permintaan model ke Amazon Bedrock atau Agent Platform Google Cloud](/docs/id/self-hosted-environments-configuration.md#send-model-requests-to-bedrock-or-agent-platform), percakapan tetap dikirim ke `api.anthropic.com` dalam aliran event sesi.129Checkout repositori, artefak build, rahasia, dan file apa pun yang dibuat atau dimodifikasi sesi tetap pada mesin yang Anda sediakan. Percakapan itu sendiri, termasuk prompt, respons, dan hasil tool, dikirim ke `api.anthropic.com`, dan Anthropic menyimpan transkrip sesi sehingga Anda dapat melanjutkan sesi dari [surface yang didukung](#availability-and-limitations) lain. Ketika runner [mengirim permintaan model ke Amazon Bedrock atau Agent Platform Google Cloud](https://code.claude.com/docs/id/self-hosted-environments-configuration.md#send-model-requests-to-bedrock-or-agent-platform), percakapan tetap dikirim ke `api.anthropic.com` dalam aliran event sesi.
130 130
131Lingkungan yang di-host sendiri memindahkan eksekusi sesi ke dalam jaringan Anda. Control plane tetap di-host Anthropic: orkestrasi sesi, antrian, dan antarmuka claude.ai terus berjalan pada infrastruktur Anthropic.131Lingkungan yang di-host sendiri memindahkan eksekusi sesi ke dalam jaringan Anda. Control plane tetap di-host Anthropic: orkestrasi sesi, antrian, dan antarmuka claude.ai terus berjalan pada infrastruktur Anthropic.
132 132
134 134
135Halaman lingkungan yang di-host sendiri diatur oleh apa yang Anda lakukan:135Halaman lingkungan yang di-host sendiri diatur oleh apa yang Anda lakukan:
136 136
137* [Quickstart](/docs/id/self-hosted-environments-quickstart.md): instal Claude Code, buat environment, mulai runner, dan arahkan sesi pertama Anda137* [Quickstart](https://code.claude.com/docs/id/self-hosted-environments-quickstart.md): instal Claude Code, buat environment, mulai runner, dan arahkan sesi pertama Anda
138* [Deploy ke produksi](/docs/id/self-hosted-environments-deploy.md): pengerasan keamanan, egress jaringan, kredensial git, resep Kubernetes dan Compose, masalah yang diketahui, dan troubleshooting138* [Deploy ke produksi](https://code.claude.com/docs/id/self-hosted-environments-deploy.md): pengerasan keamanan, egress jaringan, kredensial git, resep Kubernetes dan Compose, masalah yang diketahui, dan troubleshooting
139* [Sesuaikan sesi](/docs/id/self-hosted-environments-configuration.md): skrip wrapper untuk kredensial per-sesi, hook siklus hidup, runner on-demand, server MCP, dan izin139* [Sesuaikan sesi](https://code.claude.com/docs/id/self-hosted-environments-configuration.md): skrip wrapper untuk kredensial per-sesi, hook siklus hidup, runner on-demand, server MCP, dan izin
140* [Uji end to end](/docs/id/self-hosted-environments-testing.md): uji smoke CI yang memverifikasi citra runner sebelum Anda mempromosikannya140* [Uji end to end](https://code.claude.com/docs/id/self-hosted-environments-testing.md): uji smoke CI yang memverifikasi citra runner sebelum Anda mempromosikannya
141* [Referensi](/docs/id/self-hosted-environments-reference.md): setiap flag CLI, variabel lingkungan, metrik, dan endpoint kesehatan141* [Referensi](https://code.claude.com/docs/id/self-hosted-environments-reference.md): setiap flag CLI, variabel lingkungan, metrik, dan endpoint kesehatan
142* [Verifikasi identitas sesi](/docs/id/self-hosted-environments-identity.md): validasi token sesi dari layanan Anda sendiri sebelum memberikan akses142* [Verifikasi identitas sesi](https://code.claude.com/docs/id/self-hosted-environments-identity.md): validasi token sesi dari layanan Anda sendiri sebelum memberikan akses