mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-24 16:55:08 +00:00
Critical fix: - Dockerfile: Do not delete node_modules folders (socket.io needed at runtime) - Only remove .git folders and Python cache - Preserve all npm packages for WebSocket functionality New documentation: - dokploy/TROUBLESHOOTING.md: Common issues and solutions * WebSocket host not found * socket.io module not found * Frontend restart loop * Site not found errors This fixes: - Frontend restart loop - WebSocket container crashes - socket.io MODULE_NOT_FOUND errors WebSocket requires socket.io, redis, socket.io-redis packages at runtime. These must NOT be deleted in Dockerfile cleanup.
3.3 KiB
3.3 KiB
Sorun Giderme Kılavuzu
🐛 Yaygın Sorunlar ve Çözümler
Frontend: "websocket:9000 host not found"
Hata:
[emerg] host not found in upstream "websocket:9000"
Sebep: WebSocket container başlamadı veya başlatılamadı
Çözüm 1: WebSocket container loglarını kontrol edin
docker-compose logs websocket
# Eğer "socket.io module not found" hatası varsa:
# Image'i yeniden build edin (node_modules kaldırılmış olabilir)
docker-compose build --no-cache
docker-compose up -d
Çözüm 2: Container'ları sırayla başlatın
# Tüm container'ları durdurun
docker-compose down
# create-site container'ını çalıştırın
docker-compose up create-site
# Sonra diğerlerini başlatın
docker-compose up -d
WebSocket: "Cannot find module 'socket.io'"
Hata:
Error: Cannot find module 'socket.io'
Sebep: Node.js dependencies eksik
Çözüm: Container'a girin ve socket.io'yu yeniden yükleyin
# Backend container'a girin
docker exec -it <backend-container> bash
# Frappe klasörüne gidin
cd /home/frappe/frappe-bench/apps/frappe
# Socket.io'yu yükleyin
npm install socket.io redis socket.io-redis
# Restart
exit
docker-compose restart websocket frontend
Kalıcı Çözüm: Image'i yeniden build edin
# Dokploy'da
1. Service → Settings → Redeploy
2. Build cache temizlenecek
3. Dependencies doğru yüklenecek
Site Açılmıyor
Kontroller:
# 1. Backend çalışıyor mu?
docker-compose ps backend
# 2. Backend logları
docker-compose logs backend
# 3. create-site başarılı mı?
docker-compose logs create-site
# 4. Database bağlantısı
docker-compose exec backend wait-for-it mariadb:3306
"Site not found"
Çözüm:
# Site listesini kontrol edin
docker exec <backend> bench --site all list-apps
# Site yoksa yeniden oluşturun
docker-compose up create-site
🔄 Genel Çözümler
Temiz Başlangıç
# Tüm container'ları silin
docker-compose down -v
# Yeniden başlatın
docker-compose up -d
# Logları izleyin
docker-compose logs -f
Image Yeniden Build
# Local'de
docker-compose build --no-cache
docker-compose up -d
# Dokploy'da
Service → Settings → Redeploy (Build Cache: No Cache)
Container Sıralaması
Container'lar doğru sırayla başlamalı:
1. MariaDB, Redis → healthy
2. Configurator → complete
3. create-site → complete
4. backend → healthy
5. websocket → healthy
6. frontend → healthy
7. workers, scheduler → running
📊 Health Check
# Tüm container'lar healthy mi?
docker-compose ps
# Beklenen çıktı:
NAME STATUS
mariadb Up (healthy)
redis-cache Up (healthy)
redis-queue Up (healthy)
backend Up (healthy)
websocket Up
frontend Up (healthy)
queue-short Up
queue-long Up
scheduler Up
🔍 Debug Mode
# Backend container'a girin
docker exec -it <backend> bash
# Bench console
bench console
# Python'da:
import frappe
frappe.init(site='<site-name>')
frappe.connect()
# Test
frappe.db.get_list('User', limit=1)
Common Issues: websocket, site not found, dependencies
Solution: Rebuild image, restart containers, check logs