face-recognition-sss-beta / docker-compose.yml
lifedebugger's picture
Deploy files from GitHub repository with LFS
dbef2c3
Raw
History Blame Contribute Delete
2.62 kB
# FaceGuard Sakura — full stack orchestration
# Usage:
# docker compose up -d --build
#
# Endpoints setelah up:
# Frontend -> http://localhost:8005 (bake-in REACT_APP_BACKEND_URL ke https://api-facerecog.demo-ai.net)
# Backend -> http://localhost:8004 (FastAPI, share network stack host)
# MongoDB -> pakai MongoDB host mesin Anda di 127.0.0.1:27017
# (database "faceguard_db" dibuat otomatis, tidak ganggu app lain di DB lain).
#
# CATATAN: backend pakai `network_mode: host` supaya bisa akses MongoDB host yang bind di
# 127.0.0.1 tanpa perlu ubah bindIp mongod.conf. Ini hanya work di Linux (untuk Mac/Windows,
# lihat instruksi alternatif di bawah).
services:
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: faceguard-backend
restart: unless-stopped
# Share network stack host. Container akan bind port 8004 langsung di host.
# `ports:` diabaikan dengan network_mode: host.
network_mode: host
environment:
# Karena share host network, 127.0.0.1 dari container = 127.0.0.1 host.
MONGO_URL: mongodb://127.0.0.1:27017
DB_NAME: faceguard_db
MODEL_PATH: /app/models/2.7_80x80_MiniFASNetV2.onnx
FACE_SIM_THRESHOLD: "0.42"
DETECTION_THRESHOLD: "0.7"
LIVENESS_THRESHOLD: "0.7"
ORT_PROVIDERS: CPUExecutionProvider
FACE_DET_SIZE: "480,480"
PORT: "8004"
volumes:
- faceguard_insightface_cache:/root/.insightface
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
args:
REACT_APP_BACKEND_URL: https://api-facerecog.demo-ai.net
container_name: faceguard-frontend
restart: unless-stopped
ports:
- "8005:8005"
depends_on:
- backend
volumes:
faceguard_insightface_cache:
# =============================================================================
# ALTERNATIF kalau Anda pakai Mac/Windows Docker Desktop (network_mode: host
# tidak support di sana), atau tidak mau pakai host network:
# =============================================================================
# 1) Ubah service backend jadi:
# network_mode: bridge (buang baris network_mode: host)
# ports: ["8004:8004"]
# extra_hosts: ["host.docker.internal:host-gateway"]
# MONGO_URL: mongodb://host.docker.internal:27017
#
# 2) Edit /etc/mongod.conf di host Anda (Linux) lalu restart mongo:
# net:
# bindIp: 127.0.0.1,172.17.0.1 # atau 0.0.0.0 kalau tidak takut expose
# sudo systemctl restart mongod
#
# (Ubah 172.17.0.1 ke IP docker0 di mesin Anda: `ip -4 addr show docker0`)