---
name: go-server-build
description: FikoYT Go/Fiber backend (merkez.go-server.com) build, çalıştır, Docker compose komutları. Use when user mentions "go build", "go server", "fiber", "fikoyt-sunucu", "backend", "MongoDB", or working in docker/fikoyt-sunucu/.
disable-model-invocation: true
---

# Go Server Build & Run

FikoYT backend: Go 1.23 + Fiber v3 + MongoDB + Socket.IO, SSL/TLS prefork.

## Geliştirme

```bash
cd docker/fikoyt-sunucu/merkez.go-server.com

# Bağımlılıkları indir
go mod download

# Build
go build -o server .

# Çalıştır (fikoyt.env.json + cert/ gerekli)
./server
```

## Production

```bash
go build -ldflags="-s -w" -o server .
```

## Docker

```bash
# Tüm servisleri başlat
cd docker
docker-compose up -d

# Sadece backend
cd docker/fikoyt-sunucu
docker-compose up -d --build

# Loglar
docker-compose logs -f merkez-go-server
```

## Servisler

- **MongoDB**: `docker/mongo-db`
- **n8n**: `docker/n8n`
- **Ollama**: `docker/ollama`
- **Rocket.Chat**: `docker/rocket-chat`
- **SearXNG**: `docker/searxng`
- **ntfy**: `docker/ntfy`

## Hata Durumları

- **"fikoyt.env.json not found"**: Config dosyası yok, örnek: `cert/server.crt` ve `server.key` ile beraber oluşturulmalı
- **"Cert file not found"**: SSL sertifikaları `cert/` klasöründe olmalı
- **MongoDB bağlantı hatası**: `docker-compose ps` ile mongo-db servisini kontrol et
- **Port 9000 kullanımda**: `netstat -ano | findstr :9000` ile süreci bul

## Sistem Modülleri

`sistem/` klasöründe ortak modüller var, yeni modül oluşturmak yerine bunları kullan:
- `kok/` - Temel CRUD
- `kokDB/` - Veritabanı işlemleri
- `fikoyt_ctx/` - Request context
- `fikoyt_mongo/` - MongoDB helper
- `fikoyt_socket_io/` - Socket.IO entegrasyonu
