Bu yazida kendi Mac bilgisayarinda kurulu OpenCode’u “server” modunda calistirip, Cloudflare Tunnel ile guvenli sekilde uzaktan erismeyi anlatiyorum.

Gereksinimler

  • Mac’te opencode kurulu olmali
  • Cloudflare hesabin olmali ve domain DNS’in Cloudflare uzerinden yonetiliyor olmali
  • Mac’te cloudflared kurulu olmali

1) (Mac) cloudflared kur

Homebrew ile:

brew install cloudflared

2) OpenCode’u server olarak baslat

Sabit bir port secmek daha kolay olur (ornek: 3000):

opencode serve --hostname 127.0.0.1 --port 3000
  • --hostname 127.0.0.1: servis sadece lokalde dinlesin; disari acmayi Cloudflare Tunnel yapacak
  • --port 3000: tunnel bu porta yonlenecek

Kontrol:

curl -I http://127.0.0.1:3000

3) Cloudflare Tunnel olustur

Once Cloudflare’a login ol:

cloudflared tunnel login

Tunnel olustur:

cloudflared tunnel create opencode

Bir hostname belirle (ornegin opencode.domain.com):

cloudflared tunnel route dns opencode opencode.domain.com

4) Tunnel config ekle

~/.cloudflared/config.yml icin ornek:

tunnel: opencode
credentials-file: /Users/<user>/.cloudflared/<TUNNEL_ID>.json

ingress:
  - hostname: opencode.domain.com
    service: http://127.0.0.1:3000
  - service: http_status:404

Notlar:

  • credentials-file yolunu kendi kullanicina ve tunnel ID’ne gore duzenle
  • OpenCode lokalde kaldigi icin sunucunun 3000 portunu internete acmana gerek yok

Tunnel’i calistir:

cloudflared tunnel run opencode

Artik https://opencode.domain.com uzerinden erisebilirsin.

5) Guvenlik (onerilen)

Direkt public acmak yerine Cloudflare Zero Trust tarafinda Access policy koy:

  • Cloudflare Dashboard -> Zero Trust -> Access -> Applications -> Add application
  • opencode.domain.com icin uygulama olustur
  • Sadece kendi e-posta/Google hesabina izin ver (veya IP allowlist)

6) Uzaktan baglanma

Terminal istemcisi:

opencode attach https://opencode.domain.com

Web arayuzu istersen (Mac tarafinda), genelde CORS icin kendi domainini izinli eklemek iyi olur:

opencode web --hostname 127.0.0.1 --port 3000 --cors https://opencode.domain.com

Not: Cloudflare Access kullaniyorsan, once tarayicida login olman gerekebilir.